ここ数年、私は 2D ビデオ ゲームを開発してきました。これは、マルチプレイヤーを追加するというリリース後の目標を持つシングルプレイヤー RPG のカテゴリに分類される可能性が最も高いものです。私の目標は常に非常に現実的なものであり、深刻になりすぎる前に小さな進歩を達成しようとします。
私の 2D ゲームには、大量のアセット (アートワーク、主に画像、一部は非常に大きなもの) が必要です。ここ数年のほとんどはアートワークに取り組んでいましたが、昨年はプログラミング スキルを磨き、ゲーム エンジニアリングについて学び、さまざまな言語とフレームワーク/エンジンで小さなゲームを構築してきました。さまざまなフレームワーク/エンジンで多くの作業を行った後、パフォーマンスを可能な限り絞り込む必要がある (または少なくとも絞り込みたい) ことに気付きました。私のゲームは、少なくとも 4 ~ 6 GB の HDD スペースを使用して、最大で 1 ~ 2 GB の RAM を必要とする可能性があります。コンテンツの拡張により、少なくとも HDD ではかなり大きくなると思います。これが、非常に残念ながら、HTML5 が私のゲームに対応できるとは思えない理由です。そうでなければ、私はそれを選び、特定の (評価の高い) 本を購入し、すぐに仕事を始めます。
私が XNA Game Studio でプロジェクトを開始した主な理由は 2 つあります。XNA GPA チュートリアルの膨大な量のチュートリアルで簡単に開始できることと、主要なターゲットである Windows 以外のセカンダリ プラットフォームに移植できること (XBOX への移植) です。いくつかの開発の後すぐに、フレームワーク、コンテンツ パイプライン、および XNA の (安っぽい) .xnb 形式へのその (安っぽい) 圧縮、および XBOX Live Arcade ゲームの厳しい制限とそのサイズ制限の理解に関するいくつかの問題に遭遇しました。XNA GPA チュートリアルは素晴らしいものですが、別のフレームワークを使用してゲームを構築するために必要な特別なものではないことに気付きました。
SDL のパフォーマンスはすばらしかったので、ゲームの開発に取り組み始めました。進捗はかなり順調で、何の問題もありませんでした。ただし、SDL が宣伝されている (話題になっている) 方法では、ソフトウェア レンダリングではなく、デフォルトで OPEN GL が使用されていると想定していました。私はいくつかの OPENGL を実装しましたが、そのオープン GL 実装は少しラフであり、より高いレベルであることを気にしない人にとっては SFML がはるかに優れたエンジンであることをオンラインで読みました。
SFMLに行ってきました!そして数日後、それはすぐにゴミ箱に行きました。レンダリングに関する Intel グラフィックの問題について読んで、修正不可能な ATI の不具合のために 1.6 を廃棄しなければならなかったこと、そして mingw 4.7.1 で動作する 2.0 のカスタム ナイトリー ビルドを見つけるために Google をトローリングし、懐疑的な人は私だけではないことを学びました。全体としての SFML の品質、および 1.6 から 2.0 への直感的なコードの不合理な変更に不満を感じてあきらめたかっただけです。
だから私はSDLに戻ってきましたが、ほとんど開発されていません。SDL を使いたいのではなく、自分のゲームに適した SDL より優れたフレームワークが見つからないのです。私は HTML5 に夢中になり、Isogenic Engine (HTML5) に非常に興味を持ちましたが、HTML5 が私の大規模な (そして多数の) スプライト シートと重いアセットの 2D ゲームを処理できるかどうかは非常に疑問です。
移植性は私にとって重要ですが、要件ではありません。Windows 用にゲームのプログラミングを開始し、必要に応じて完成したら、別の場所に移植することもできます。私がこれまでに受け取った最高のアドバイスは、「何を使うかは問題ではありません。ただ始めて、それを実行してください。不完全なソフトウェアの高性能な部分よりも、完成したゲームを用意する方が重要です」というものでした。
ただし、実装する必要があるものよりも高いレベルでネットワークを処理するライブラリ/フレームワーク/エンジンを選択すると、多くの頭痛と余分な重労働が解決されると多くの人から聞いています。 SDL を使用します。
私は何年もゲーム エンジンを研究してきたので、単純に「使ったことはないが...」ではなく、[あなたの提案] を選択する説得力のある理由を探しています。
SDL から離れてより高いレベルに進むことを確信したいのですが、別の方法を選択する理由を見つけるのに苦労しています。ウィキペディアのリストには何百ものゲーム エンジンがあり、リストされていないものもたくさんあります。
私のゲームは、Baldurs Gate 2、Sanitarium、Diablo 2、または Ultima Online の高解像度イメージ バージョンと考えてください。ゲームプレイではありませんが、実際には完全に 2D 画像であり、アート スタイル、大量の RAM 使用量、大量の HDD スペース、多数の非常に小さなスプライトの中にいくつかの非常に大きなスプライト シート/画像シーケンス (ドラゴンなど) が生じます。シート (8 方向の 15 のアニメーションで人間のキャラクター用に合計 7MB の HDD スペース、シートのメモリ使用量は 30MB 未満)。
また、詳細な提案を求めている間、私を吐き出させてくれてありがとう.