16

ローグライク RPG (Nethack、Rogue、ADOM など) を作成する場合、どのプログラミング言語が最も適していますか?またその理由は?

選択した言語について、その言語が特に適しているライブラリやファセットを必ずリストアップしてください。

4

11 に答える 11

15

ずっと昔、 QuickBASICを使ってローグライク ゲームを書こうとしました(それは 1988 年でした)。推奨されるアプローチではありません...

そこにはまだいくつかの開発サークルがあります。ローグライク開発に関する FAQと、これに特化したブログがあります。

于 2009-02-01T08:13:01.910 に答える
9

私の使用言語 (私もローグライクを作成しようとしています) は Python です。

  • それは高水準のプログラミング言語であり、常にメモリ割り当てについて考える必要はありませんが、アルゴリズムについては頭に入れておきます。
  • ほとんどすべてのものに役立つライブラリがたくさんあります。最近、ローグライク開発に役立つTDL / libtcodを見つけました。
  • バインディングを使用すると、C/C++ ライブラリを簡単に使用したり、C/C++ でいくつかの重要な関数を記述して使用したりできます。
  • これは、私が今まで見た中で最も読みやすいプログラミング言語です。
  • Python でプログラミングしているときに、内部ドキュメントの使い方を学びました。これは非常に役に立ちます。数か月後に自分のコードを読んだばかりですが、それが何をしているかはまだわかっています。
于 2009-02-05T11:03:58.503 に答える
8

いつものように、それは非常に個人的な選択です:-)

以下の理由から、ローグライク ゲーム (Tyrant) を Java で作成しました。

  • 非常に移植性が高い (グラフィックも含む)
  • ガベージ コレクション / メモリ管理
  • 多くの優れたフリー/オープン ソース ライブラリが利用可能 (アルゴリズム、データ構造、セーブ ゲーム ファイルの操作などに役立ちます)
  • これは静的に型付けされた言語です - これにはパフォーマンスと堅牢性の利点があり、コーディングの複雑さを追加する価値があると判断しました
  • 他のプロジェクトで使用するために、Java のスキルをより一般的に磨きたいと思った

編集: 興味のある方はオープン ソースです。すべてのコードはSourceForgeで入手できます。

于 2009-11-18T19:14:46.860 に答える
6

ローグライクの開発に関連するあらゆるものに最適なサイトであるroguebasinでかなりの時間を費やして、C でいくつかのローグライクを作成しました。

どの言語を使うべきかについては、私はそれが大きな違いを生んでいるとは本当に思っていません。私は移植性のために C を選びます。多くのライブラリは C でうまく機能します。しかし、オブジェクト指向言語は、追跡したくないいくつかのものをクリーンアップすることができます。

ローグライクの他の言語よりも特に優れていると私が考える言語はありません。グラフィカルにする場合は、フラッシュ/シルバーライトなど、それが組み込まれているものを好むかもしれません。しかしそれでも、他の言語用のライブラリがあり、その点でほぼ同じ程度の困難をもたらします。

だから私は、あなたが知っていて好きな言語、または知らないが学びたい言語を選ぶと思います..

于 2009-02-01T21:33:36.320 に答える
4

これらの回答のほとんどは素晴らしいものですが、C++ で悪用される可能性のあるオブジェクト指向の機能と低レベルのコマンドの組み合わせについては、言いたいことがあります。何らかのインスピレーションを求めている場合は、NetHack の C ソースコードが広く入手可能であり、十分に文書化されているため、いくつかのことを学ぶことができます。とは言っても、これは何十年にもわたって成長してきた巨大なプロジェクトであり、すべてが自分のプロジェクトに必要なほどきれいであるとは限りません. .

正直なところ、オブジェクト指向言語を使用することを強くお勧めしますが、何を使用するかという点では、おそらくまったく問題ではありません。ローグライク (実際には、実際にはどの CRPG でも) で処理するのは非常に多くのがらくたであるため、OOP は正気を保つための最も簡単な方法です。

于 2010-01-29T18:52:01.110 に答える
3

私の最初の質問は、ゲームが Web ベースの UI を持つのか、それとも元の Rogue のようなゲームのような何らかのコンソール/ウィンドウの問題になるのかということです。前者の場合は、使い慣れた言語を選択するとよいでしょう。Ruby on Rails、Python/Django、PHP/CakePHP などはどれも素晴らしいものです。

しかし、答えが後者である場合、これは人々がローカルにダウンロードしてインストールできるようにしたいゲームであり、私は Java を使用します。これは、対処しなければならないメモリ管理のない優れた言語です。ジャストインタイムのコンパイルと最適化のおかげで非常に高いパフォーマンスを実現し、データ構造を支援する非常に豊富なライブラリを備えています。Swing はいくつかの非常に美しい UI を実現し、2D ライブラリは最も豊富なクロスプラットフォームを可能にします。 PostScript の外でレンダリングします。また、他の選択肢では得られない、Windows、Mac OS X、および Linux での可用性も備えています。

最後に、Java Web Start を介してアプリケーションを簡単に配布できるため、Java を入手したら数回クリックするだけでゲームをダウンロードしてインストールし、好きなだけ実行するためにマシンに保持できます。

于 2009-02-06T19:16:07.607 に答える
3

元の nethack は C で書かれており、どのように書かれたかについてのアイデアを知りたい場合や、言語を決定するための良い方法となる可能性のある課題について知りたい場合は、ソースを利用できます。

于 2009-02-01T08:07:40.253 に答える
0

どのゲームを作る場合でも、次の場合はどの言語も適切です。

  1. あなたはそれを使うことができます (知識によって、またはあなたやあなたのチームにとって今すぐ習得するのが十分に簡単であれば、あなたはそれを使うことができます)
  2. クライアントのコンピューターで実行されるアプリケーションを生成します
  3. ゲームのニーズに十分な速度で実行されるアプリケーションを簡単に作成できます。

ローグライクの場合、ターゲットで実行される限り、知っている言語はどれでも正しいと思います。この種のゲームでは、パフォーマンスは実際には問題になりません。ただし、ワールド生成が非常に複雑な場合、ワールド生成には高いパフォーマンスが必要になる可能性があります...

于 2010-06-13T00:01:57.307 に答える
0

低レベルの詳細を処理するものを使用してください。あなたが知っていることは何でもうまくいくはずです。

ねえ、彼らはjavascriptで書くことができます.

于 2010-06-13T00:05:48.627 に答える
-1

Silverlight を検討することができます。

C# と .Net の上にあるため、メモリ管理について心配する必要はあまりありません。SL を使用すると、シーン グラフ タイプのレンダリングのサポートが組み込まれます。画面上にないもののカリング、キーボード、マウス イベント、オブジェクトのクリックなどです。

初歩的な学習曲線がありますが、働くには素晴らしい環境だと思います。

于 2009-02-01T21:17:01.250 に答える
-1

Actionscriptそんなゲームにお勧めです。

于 2009-02-01T08:02:28.250 に答える