2011-07-30 15 views
3

私の友人がグラフィックデザイナーからゲーム開発者に飛び込んできています。私は自由な時間に彼と一緒に仕事をすることに決めました。私たちのどちらも開発経験は豊富ですが、私はPythonを学ぶことに非常に関心があり、私の友人はC++を学びたいと考えています。2次元ゲームプログラミング(Linux、OSX、およびWindows) - C++/Python/OpenGL?

私はC++がゲームプログラミングの共通点であると読んでいますが、ここでの関連する質問は新しいユーザーがC++のような難しい言語を避けることを推奨しています。私の#1の関心事は、オペレーティングシステム間で移植可能なゲームを作成することです。私はLinuxを使ってゲームの開発とプレイテストを行いますが、OSXとWindowsでも動作させたいと思います。我々は3Dグラフィックスの経験がないので、3Dゲーム開発に関心がありません。私はVVVVVVのようなゲームに匹敵するグラフィックスに完全に満足しています - 非常にシンプルな2Dのテクスチャリング(またはゼロ)の2D。

また、2Dグラフィックス用のOpenGLを使用する必要がありますか、C++/Pythonにはゲームに適したグラフィックスを生成できるグラフィックライブラリがいくつかありますか?覚えておいてください、私はMinecraftやVVVVVVのようなシンプルでピクセル化されたグラフィックを意味します。

私たちはPython、C++、およびOpenGLに関するいくつかの書籍を持っています。これが正しい方法であれば、それらに潜んでいます。皆は何をお勧めしますか?

+0

どの言語を使用しても問題ありません。 Pythonには素晴らしいCバインディングがあり、C/C++と同じopengl関数を呼び出すことができます。あなたは低レベルでグラフィックスを学びたいのですか、あらかじめ作成されたライブラリを使って2Dグラフィックスを完成させたいのですか? – flumpb

+0

移植性を持ち、最小限の努力でそれを実現したい場合は、Java(MinecraftはJavaを使用しています)を使用してください。しかし、パフォーマンスが開発の鍵であれば、C++を使用してください。私が使っていい2DライブラリーはAllegroです。そしてBoost.Pythonを使ってPythonをC++に簡単にバインドすることができます – Gasim

答えて

5

実際には、Python用の便利なライブラリとモジュールのセットpygameがあります。これは非常に便利で十分に文書化されており、数多くのコミュニティサポートがあり、多くの楽しいゲームが構築されています。そして、あなたの質問の一部に答えるには、OpenGLは必須ではありません。

そして、それはPythonに基づいているので、移植性が高いです。もちろん、そのようなプロジェクトには多くの課題がありますが、忍耐強く、それに固執してください。多くのことを学び、多くの楽しみもあります。

C++は本当に強力な言語であり、あなたがそれを使ってできることはたくさんあります.C++を経験している人は、あなたがそれを学ばなければならないと言います。そして、しかし、あなたはちょっとしっかりとしている。あなたが本当にPythonで開発を楽しむことになったら、後でC++を手に入れずに一緒に楽しむことを止めることはありません。

中でも、読んで、練習し、楽しんでください。

1

私は、あなたの状況に行く方法は、Pygameのような何かに新しく合意したココアグに同意します。しかし、あなたの2番目の質問をawnserするには、OpenGL/DirectXを使わずにC++で2Dゲームを作ることができます。私はこれまでビットマップ、RECTSなどのためのWindowsライブラリを使用してこれを行ってきました。私はLinuxに類似の機能があると思います。ゲームをクロスプラットフォームにしたいのであれば、OpenGLはおそらく行く方法です。

2

私はC++とPythonでいくつかの小さなプロポやゲームを書いています。まず、ゲームがどのように構築されたかを学ぶまで、Pythonを使うことをお勧めします。

もちろん、どのタイプのゲームを作成したいのか分かりませんが、多くの小さな2Dゲームを捨てると、Pythonの効率が十分であるため、C++の複雑さに対処する必要はありません。

私がPythonのために勧めているライブラリは、私たちがすでに聞いているように、私の意見ではpygletです。これは2Dグラフィックスのためのより洗練されたツールです(バックグラウンドでOpenGLを使用しています)。

C++で書かれた2Dゲームでは、大きくアクティブなコミュニティ、巨大なコードベース、多くの例を持つオープンソースのゲームエンジンであるClanLibを強くお勧めします。私は、ソフトウェアとOpenGLレンダリングの両方をサポートし、Windows/Linux/MacOSX用にコンパイル可能です。間違いなく試してみるべきです! 「私は、私はXを行うには、新しいたいんだ、私は何を学ぶべきか」に精通している者として

幸運:)

0

ちょっと最近に行ったことがありましたが、今はPythonに固執しています。他の人が触れたように、そこにはPyGameのようなまともなライブラリがあり、C++はちょっと複雑です。

ゲームを作るためにパーツを一緒に置く方法を学んでいるなら、実際にあなたの特定の問題を引き起こしているものを解くのが難しくなり始めます。 C++を拾うことで新しい方法を学ぶために、あなたが何をしているのかについて良い気持ちを持っていれば、常に可能です。

0

初心者向けのポータブルC++ゲームの場合は、SDLとします。それは、OpenGLにアクセスを与える、tutorialsをチェック! Pythonから前述のPython-to-Cバインディングライブラリを使用しているかもしれません。

1

私はC++をお勧めします。多くの人が難しいと言いますが、ある程度真実ですが、難しい部分に入ることなく、C++で良い2dゲームを作ることができます。そして、このためには、SDL、SFMLなどのライブラリが必要です。 C++を学ぶなら、パフォーマンスの問題では決して実行できません。

関連する問題