2Dゲームをプログラミングする最も簡単で楽しい方法は?フラッシュ?XNA?他のエンジン?[閉まっている]


20

これは、趣味のゲームプログラマーがゲームを作る自由な時間を甘くするための最も楽しい方法についての私の検索を詳述する投稿です。

私の要件: 最初にFlashを見て、いくつかの小さなゲームを作成しましたが、パフォーマンスには疑問があります。数百のユニットが同時に戦闘し、爆発とアニメーションを含む、かなり大きな戦略ゲームを作りたいです。また、ズーム可能なマップ。AdobeにはFlash用の新しい3D APIがあることがわかりましたが、2Dのパフォーマンスが向上するかどうかはわかりません。MAX10セッションでその質問に関連するものは見つかりませんでした。Flashは大規模な2Dゲームを簡単に作成するための優れた技術だと思いますか?私はActionscriptが大好きで、Flashのすべてがとても簡単です。さらに簡単にするエンジンがいくつかあります。

私はただ楽しみのためにこれを行いますが、適切なアニメーション/パーティクルエディタが利用でき、使用するエンジンが複数のプラットフォームで利用可能であればさらに良いでしょう。(したがって、より多くの人が私のゲームをプレイできます)。多くのモバイルプラットフォームでも利用できるようにしたいと思います。(何らかの理由でタッチ入力が大好きだから)

XNAフレームワークはかなりよく知っていますが、使用できる適切なエンジンはなく、Windowsでのみ実行されます。これは大きなターンオフです。さらに大きいのは、誰かにゲームを提供するたびにXNA再頒布可能パッケージをインストールする必要があるということです。XNAを使用する場合、すべてのツールを自分で作成する必要があり、おそらくWPFで作成する必要があります。(Adobe AIRでツールを作成したいのですが、残念なことに、画像操作などのAPIはXNA / WPFよりもFlashの方がはるかに悪いです。)これらのプラットフォームのそれぞれをサポートしていますが、率直に言って、APIをすり抜けるのは面倒です。結局、エンジンではなくゲームを作りたいです。

質問は次のようになります:2D開発に使用できるクロスプラットフォーム(無料または開発無料)エンジンが利用可能か 私は好む:C#、Actionscript。ツールセットが平均以上であればc ++を使用しても構いませんが、そのようなものが存在することは非常に疑わしいです。間違っていることを証明してください:)だから要約:Flashを使用したいのですが、十分に拡張できるかどうかわかりません。私はスクリプト作成者ではありません。適切なIDE内で作業できる実際のAPIが必要です。

情報を得るためだけに、いくつかの選択肢を検討しましたが、実際にはすでに長い間探しています。あなたは最終的に決定を下すために私をたくさん助けてくれるでしょう。

  • 機能的にはFlatredballエンジンが理想的です。しかし、私は彼らのツールを試しましたが、率直に言って、それらは恐ろしいものです。絶対に使えないので、自分で作る必要があります。私は彼らのAPIを見ていませんでしたが、もし彼らのツールが非常に悪いのであれば、私はこれ以上調べるつもりはありません。

  • Unity3D。これは非常に素晴らしいですが、私は本当に3Dを必要としません、そして、それは非常に...学ぶべき多くの仕事です。また、さまざまなプラットフォームで使用するのが非常に高価であり、スクリプトでしかコーディングできないことも気に入らない。各プラットフォームを個別に購入する必要があります。編集者の使いやすさは平均的で、製品全体はほとんどの目的に十分ですが、自分で学習するのはやり過ぎです。

  • シヴァ3D。十分に見えますが、繰り返しますが、3Dは本当に必要ありません。私の意見では、エディターの使いやすさはUnity3Dより少し悪く、プログラミングを開始する方法が明確ではありませんでした。コーディングにはC ++が必要だと思うので、それもマイナスです。私は楽しみたいです、そしてc#は楽しいです;)

  • SDL。率直に言って、私はまだこれらすべての異なるSDL実装に移植する必要があります。また、OpenGLスタイルのプログラミングは好きではありません。また、C ++が必要です。使用可能なラッパーがあるかもしれませんが、ラッパーを使用するのは好きではありません。

  • 不条理。多くの機能がありますが、サポートは低く、マニア向けです。C#バインディングは繰り返しドロップされます。私はエンジン愛好家ではありません。ゲームを作りたいだけです。Irrlichtでこれが発生することはありません。

  • Ogre3D。あまりにも多くの作業、それは単なるグラフィックエンジンです。また、複数プラットフォームのサポートとc ++もありません。

  • Torque2D。使用するには費用がかかりますが、サポートやドキュメントについての良いことはあまり聞いていません。プラットフォームごとに追加料金もかかります。


FRB SDKツールは悪い(特に接着剤、私は使用していない)が、それらを書く時間を節約し、独自のツールを書く必要がある場合、ファイル形式は簡単です。APIはそれほど悪くなく、このスコープに適しているように見えますが、現時点での最大の問題は、PCおよびXbox用のXNA 4.0ポートがないことです。また、XNA redistやその他の前提条件をインストールの一部にすることができます。clickonceを使用すると、自動更新と展開の準備ができます。
オスカーデューブボーン

まあ、私のポイントは、私はそれらを使用しないだろうということであり、したがって、ツールは役に立たない。悪いUI /一般的な感触に加えて、彼らは私にクラッシュし続けます。特定の機能を見逃していることが判明したらどうなりますか?それらがオープンソースであったとしても、それらのコードベースの近くには行きたくないでしょう。厳しいように見えますが、私は本当にリラックスしたプログラミングが必要です。FRBは欲求不満のフルーツケーキのようです。想像してみてください。パーティクルエディタを試してみましたが、画像ファイルを開くボタンが見つかりませんでした。これはおそらく、他のすべてが構築する単一の最も重要な機能です。
マキシ

完全な答えではありませんが、Flashは他の方法で考えるよりも優れています。ディスプレイスタックを使用する代わりにビットマップデータキャンバスにブリットし、他のいくつかの単純な最適化を行うと、より素朴なソリューションで見られるよりもはるかに絞り出すことができます。
グレゴリーアヴェリーウィアー

パーティクルエディタのリストアイテムは、エミッタのプロパティパネルで単に「テクスチャ」と呼ばれます^^すべてのツールに関するチュートリアルがあり、非コーディングコンテンツ作成者が支援できます。しかし、はい、UIはインタラクションデザインの観点からは本当に恐ろしいです。
オスカーデューブボーン

1
XNAはWindowsのみであることに関連して、Windows以外のプラットフォームのすべての種類の上で実行されますMonoGame呼ばXNAのAPIのオープンソース実装があります:cocoa-mono.org/archives/400/...私はそれを使用していない自分自身をしかし、存在します。
カオス技術者

回答:


10

Pygameは私のお気に入りです。Pythonでのプログラミングは高速なプログラミングを意味し、2Dの処理は高速なので、pygameは楽しいものになります...


3Dの世界に移動したいと決めた場合のボーナスとして、蛇の皮でGLを包むピグレットがあります;)
ウェインワーナー

9

私は今しばらくLÖVEを使用していますが、とても気に入っています。Luaを学ぶ必要がありますが、とにかく学ぶには楽しい小さな言語です。フォーラムの人々は非常に親切です。


パフォーマンスはどうですか?どのIDEを使用できますか?
マキシ

1
2番目にこれ。Global Game JamゲームにLuaとLOVEを使用しましたが、非常にうまくいきました。彼らは多くの本当に素晴らしいオープンソースライブラリを1つの共通のAPIの下にまとめており、すべてのリリースは改善され続けています。パフォーマンスは優れており(Luaは非常に高速です!)、FBOなどの高度なOpenGL機能が多数公開されていますが、これは多くの2Dエンジンではまれです。そのすべての良さに加えて、クロスプラットフォーム(Win / Mac / Linux)です。私は間違いなく見栄えを良くしたいと思います。
ボブ・ソマーズ

1
@マキシ:愛を込めて、あなたはただエディタとあなたが書くことができるコンソールを必要としていますlove .
egarcia

2
ロシア人はそれでゲームを作りましたか?ロシアから愛をこめて:P
バートヴァンヒューケロム

5

Flashを使用することにしました。新しいMolehill 3D APIを使用して、3D空間に2Dスプライトをより高速に描画することもできます。先ほど説明したゲームに対してFlashが十分に高速でない理由はわかりません。自分でツールを作成する必要がありますが、とにかくそれを行う必要があるでしょう。私の意見では、AIRを使用してツールを構築することも非常に適切です。また、Flashはプラットフォームで最も幅広いリーチを持っています。これは素晴らしいことです。



1
フラッシュ用の非常に優れた(成熟した)ツールとライブラリがあるので、おそらくフラッシュは良い選択です。Molehill APIはCPUから大きな負荷を取り除きます(以前はすべてがCPUによって処理されていました)。ただし、ゲームの配布について考える必要があります。Flashが通常はブラウザベースのゲームを意味します...
bummzack

そして、モバイルゲーム、フラッシュ、およびモバイルは非常に劣悪な組み合わせです。
グスタボマシエル

そして、モバイルゲーム、フラッシュ、モバイルの組み合わせは非常に貧弱です。」@Gtoknu、何らかの理由?
NemoStein

@NemoStein youtubeでモバイルで実行されているフラッシュを検索してみてください。また、adobeはAndroidへのフラッシュの開発を中止し、iOS用のフラッシュはありません。
グスタボ

4

SFMLを試す


SFMLは便利ではありますが、グラフィックス/ネットワーク/サウンドAPIであり、完全な機能を備えたゲームエンジンではありません(かなり近いものの)。
a_m0d


2

Actionscriptは好きだがクロスプラットフォームを探していると言ったので、HaXe + NMEを見てくださいHaXeはActionscriptに似た言語ですが、Flash、Javascript、PHP、またはC ++にコンパイルできます。NMEは、Flashのグラフィックライブラリに似たライブラリですが、他のプラットフォームでも実行できます。この組み合わせにより、多くの異なるプラットフォームにコンパイルできます。

私はまだNMEを使用していませんが、HaXe + Molehillでの最初のテスト(ほんの数日前)では、ラップトップで10,000個の16x16回転スプライトをレンダリングするときに60fpsを生成しました。私はHaXeを数日間しか使用しておらず、それがあなたにとって正しいことを確認するのに十分な経験がありませんが、一見の価値があります。


1

私は個人的にAllegro 5の大ファンですが、C APIです。それでも、それは邪魔にならないシンプルなAPIであり、以下へのアクセスを提供します。

  • 2Dグラフィックス(platfomに応じてOpenGLまたはD3Dでサポート)
  • フォント(ビットマップとTTFの両方を含む)
  • 入力(マウスとキーボード)
  • PhysicsFS(ファイルシステムの仮想化)
  • 画像の読み込み

5.1では、シェーダーのサポートも追加されます。

SDL 1.3も非常にうまく機能しています。Samは主要なAPIの変更を行ったようで、すでに入っているものはすでにかなり安定しています。それでも...まだベータ版ではなく、Allegro 5.0がリリースされています。

確かに、より複雑で高度なゲームの場合、Allegro 5と何らかの物理ライブラリ(たとえばBox2D)をペアにすることをお勧めします。それでも、Allegro 5、CまたはC ++標準ライブラリ、および独自のコードを使用するだけで、非常に長い道のりをたどることができます。

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