Linuxゲームの開発を始めるのに適した言語とツールは何ですか?[閉まっている]


7

ゲーム開発について学び始め、Linuxを使用してゲーム開発をしたいと考えています。私の主な経験はJavaと少しのC ++でしたが、それはゲームではなくアプリケーション用でした。

ゲームで試してみたいので、LinuxでどのIDE /言語を使用すればよいか、最初にC ++を使用してファイルを手動でコンパイルする必要があるのか​​、Java / Eclipseで続行するのか、またできると思いますC ++でEclipseを使用して、Pythonについても読み始めました...

私はゲームが内部でどのように機能するかを理解するために典型的な「テトリス」から始めることを考えていましたが、以前のすべてのオプションでそれを達成できると思いますが、私に何を勧めますか?またはLinuxでゲーム開発を始めましたか?


1
私はテトリスから始めるつもりはありません、それはあなたが考えるよりも少し複雑です。私はピンポンの簡単なゲームから始めます。スコアリング、AIを追加し、徐々に複雑にします。次に、テトリスのようなゲームを開始します。
AttackingHobo 2010年

Linuxと他のどの開発プラットフォームにも大きな違いはないと思います。Monoを使用しない場合はC#と.NETがありませんが、ThiaはMacでも発生します。
共産主義者のダック

Monoは基本的に、C#やその他の.NET言語をLinuxおよびMacで使用できるようにするものですか?
Kaitlyn Mcmordie、2011

回答:


4

これまでにゲームプログラミングを行ったことがない場合は、おそらく2Dから始める必要があります。SDLは、C ++に適切にバインドされた、非常に単純なライブラリです。どんなエディター/ IDEでも使用できますが、私はcode :: blocksの大ファンです。

ついにJava向けの素晴らしいゲームエンジン(Java Monkey Engine)がいくつかありますが、Javaが時々邪魔になります。私はJavaが好きです(私は何年もそれを教えてきました)が、ゲーム開発環境としては、私にとって常に不格好に思えます。

私はPythonとpyGameの大ファンです。(PyGameはPython用のバインディングを備えた単純なSDLです。)本当に素晴らしい2Dゲームを素早く作成できます。Pythonは習得が非常に簡単で、メモリやポインタの問題よりもゲームのプログラミングに集中できる傾向があります。確かに、PythonコードはネイティブにコンパイルされたC ++コードほど高速ではありませんが、十分に高速であり、コーディングとデバッグが容易なことで違いが埋め合わされることがよくあります。Pythonが単純に処理できないクリティカルセクションを見つけた場合、そのセクションをC / C ++で記述してモジュールとして使用できます。

私はゲーム開発のクラスを教えており、言語を何度か切り替えました。ゲーム開発を教えるための言語としてPythonにとても満足しています。

幸運を祈ります。


1

C ++に関しては、非常に優れたIDEはQtCreatorです。Linuxでは、Gnomeを実行している場合でも、KDEアプリケーションがインストールされていれば、システムにQtがすでに存在している可能性があります。

単純なゲームで他のスクリプト言語を試してみたい場合は、LuaのゲームエンジンであるLöve2Dを使用して非常に楽しい経験をしました。楽しいことをすぐに作るのはとても簡単です。


Love2Dに加えて、LoV8と呼ばれるJavaScriptベースの派生物もあり、一見の価値があります。code.google.com/p/lov8
スティーブン

1

高性能のリアルタイムゲームを作成したい場合、またはプロのゲーム開発に参加したい場合は、CまたはC ++のみが現在実用的な言語の選択肢です。

これは、a)少量のメモリを使用して高速で効率的なコードを作成できるためです(多くの高級言語では、メモリ割り当てを明示的に制御する機能がないため、キャッシュの使用を最適化したり、使用する限られたメモリにデータを収めたりすることが困難です多くのシステムで)。b)これらは、AAAゲームの大多数で使用されている業界標準です。特にC ++。ただし、言語はかなり似ています(とにかく、ゲーム開発での使用方法に関しては)。

フレームワークについては、OpenGLを学ぶことをお勧めします。一部のシステムより少し複雑かもしれませんが、非常に強力で広く使用されており、PongからUnrealに至るまで知識を拡大できます。たくさんの優れたチュートリアルがありますが、「OpenGLチュートリアル」をググってみてください。

少し簡単にするために、OpenGLラッパーフレームワークを使用できます(GLFW も人気がありますが、GLFW- http: //www.glfw.org/をお勧めします)。

できる限り、ビルド済みのフレームワークに依存するのではなく、自分でコードを記述してください。これにより、ゲームの更新ループ、入力処理、レンダリングなどの基本がわかります。これにより、後でより詳細なプロジェクトを構築するのに非常に役立ちます。


1

私はLinux自体をかなりきちんとした開発環境と考えています。ほとんどのディストリビューションには、c / c ++アプリの開発に必要なものがすべて揃っています。時間をかけてgcc、gdb、vim、およびMake、CMake、Sconsなどの適切なビルドシステムを学習してください。

c / c ++を使用している場合、SDLはライブラリとして賢明な出発点になります-大量のチュートリアルが見つかるからです。Pythonの場合、pygletは優れたライブラリであることがわかりましたが、2年間使用していません。Pythonアプリのデプロイは「そんなに」簡単ではないことを覚えておいてください。


1

あなたは間違いなくC ++で行くべきです。これを使用すると、ほとんどのライブラリにアクセスできます。また、プロジェクトの内容によっては、優れた柔軟性とパフォーマンスが得られます。

まず、LazyFooのSDLチュートリアルから始めてください。さまざまなプロジェクトに使用できますが、どのスキルレベルでも理解しやすくなっています。


1

私はvimを使用しており、強くお勧めします。これは、コードをすばやく記述できるように設計された非常に強力なテキストエディターです。ただし、学習曲線はかなり急です(インストール後、「vimtutor」を実行して簡単に説明します)。私は8年間使用していますが、他に使用することは想像もできませんでした。

また、すぐにIDEにジャンプしないことをお勧めします。私の経験では、IDEは不格好で邪魔になります(特に、新しいプロジェクトの構成中)。ただし、Eclipse / CDTはデバッガーとして不可欠なので、私はEclipse / CDTを保持しています。

C ++の経験がある場合は、それをそのまま使用します。他の人が述べたように、SDLは開始するのに最適な方法です。そこで失敗することはありません。

テトリスは私が作った最初のゲームで、おそらく悪くはありませんが、2Dプラットフォーマーや2Dトップダウンアドベンチャーゲームのようなものを検討することもできます。


私は混乱しています... ゲーム開発の選択肢として人々がしばしばLinuxを頻繁に使用しているように見える理由を知っていますか?
Kaitlyn Mcmordie、2011

1
私の見たところ、Linuxはプログラマーがプログラマーのために設計したものです。Windowsは初心者向けにプログラマーではない人によって設計されています。Linuxには、プログラマーの生産性を高めるためのツールが溢れています。ただし、私の経験では、Linuxがゲーム開発者によって使用されることはほとんどありません。
notlesh 2011

うーん、なぜゲーム開発者が実際に使用しないのですか?
Kaitlyn Mcmordie、2012年

0

C ++を使用する場合は、KDevelop4を強くお勧めします。彼らはそれを非常に良いIDEにする多くの改善を行いました。SFMLまたはSDLを入手してハッキングします。

また、どの言語でも、古き良きVimまたはEmacsを強くお勧めします。

しかし、コードをキックしたいだけなら、Python + PyGameを試してみてください。シンプルなゲームをすぐに立ち上げて実行でき、豪華なIDEは必要ありません。

まだ見ていませんが、Rubyを学びたい場合は Rubyにも試すことができるフレームワークたくさんあるようです。


0

Javaのスキルがあれば、jMonkeyEngineを強くお勧めします。これは、非常に優れた汎用のオープンソース3Dゲームエンジンです。

それは完全にクロスプラットフォーム(本当に必要なのはOpenGLのサポートとJVMだけです)なので、Linuxで動作しますが、WindowsやMacなどへの移植性も維持します。

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