Pythonゲームは複数のプラットフォームで動作しますか?


10

私はPythonとおそらくいくつかのSQLでゲームを書く計画があります。私がプログラムを完成させたときのプログラムの多様性が心配です。理想的には、Windows、Mac、Android、iPhoneで実行したいのですが、電話がこれに制限されていると感じています。一種のこと。複数のプラットフォームで実行されるプログラムを作成するにはどうすればよいですか?これは初心者プログラマにとっても実現可能ですか?

回答:


12

Python自体はかなり移植性があります(多くのプラットフォームで実行されます)が、次のことを考慮する必要があります。

  • 対象とするプラットフォームの制限は何ですか?モバイルストアで販売しますか?

    たとえば、WP7マーケットプレイスでは、マネージコード(.NET)で記述されたアプリのみを販売できます。AppStoreもかなりロックダウンされており、Objective-Cで記述されたネイティブアプリケーションのみを許可します。Androidでは、NDKを介してJavaとネイティブコードの両方を実行できます。iOSのネイティブアプリでインスタンスJavaScriptを実行したり、ウェブアプリをネイティブアプリに変換したりできるようにするための回避策が開発されています

  • 使用したいライブラリはどの程度ポータブルですか?

    次に例を示します。Cocos2DはObjective-Cポートを備えたPythonライブラリです。ライブラリのおかげでほとんどの構造を維持しながら、デスクトッププラットフォーム用のPythonでゲームを構築し、Objective-Cで書き直すことができます。ただし、サポートされるのはデスクトップ+ iOSのみです。

全体として、サポートが不足しているため、Pythonはモバイルプラットフォームに簡単には適合しません。以下は、実行可能な3つの選択肢です。

  • XNAは Windowsのは、Xbox 360とWindows Phoneのゲームを作るために作成された7二つのプロジェクト(あり MonoGameエクセン(MonoTouchで経由)iOSアプリに、ほとんど修正なしで、これらのゲームをオンにすることができ)、Androidアプリは(MonoDroidを通じて)。ただし、MonoTouchとMonoDroidにはライセンス費用かかります。

  • Unityは移植性が高く、ほとんどすべてのプラットフォームをターゲットにできます(ただし、Linuxのサポートはまだありません)。

    デスクトップゲームは無料です。彼らはプロバージョンを持っていますが、ほとんどのゲームでは、それなしでうまくいくことができます。各プラットフォームのさまざまなエディションを比較したチャートがあります:http : //unity3d.com/unity/licenses

  • Canvas 2D APIまたはWebGLを備えたWebアプリケーション(いわゆるHTML5)は、最近のブラウザーやスマートフォンで実行されます。サポートは時間とともに改善されます。前述のImpactJSやThree.JSのような3Dのものを作るための多くのエンジンがあります。


Unityが3つの言語をサポートすることを追加したいと思います:Pythonに構文が非常に似ているC#、Javascript、Boo
George Profenza

3

PyGameは彼らのAboutページでこれを言っています:

本当にポータブル。Linux(pygameにはほとんどのメインストリームLinuxディストリビューションが付属)、Windows(95、98、ME、2000、XP、Vista、64ビットWindowsなど)、Windows CE、BeOS、MacOS、Mac OS X、FreeBSD、NetBSD、 OpenBSD、BSD / OS、Solaris、IRIX、およびQNX。このコードには、AmigaOS、Dreamcast、Atari、AIX、OSF / Tru64、RISC OS、SymbianOS、OS / 2のサポートが含まれていますが、これらは正式にはサポートされていません。ハンドヘルドデバイス、ゲームコンソール、One Laptop Per Child(OLPC)コンピュータで使用できます。

Python自体は非常に移植性が高く、新しいプラットフォームに移植するのに十分簡単です(誰かがまだ行っていない場合)。PyGameが目的のプラットフォームをサポートしている場合、または移植できる場合、プラットフォーム固有のビットにアクセスする必要があるときはいつでも、物事は「興味深い」ものになります。

準関連の問題は、一部の配布方法(アプリストア)が、未知のサードパーティコードを実行できるアプリケーションを許可しない場合があることです。Pythonとそのスクリプトをロックダウンして、アプリケーションの外部にアクセスできないようにし、ゲームの一部として提供していないスクリプトが実行されないようにする必要があります。


1

Androidについてはわかりませんが、PythonはiPhoneで実行できません。現在、Windows、Mac、Android、iPhoneにゲームをデプロイするための最良のツールは、HTML5またはUnity3Dを使用することです。Ideaworks Gamestudioのように、あまり知られていないためにあまり保証されていない他のツールがたくさんあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.