あなたの健康を損なうことなくあなたの自由な時間に3Dゲームを書くための落ち着きのない心または別の方法

時々、定評のあるプログラマーでさえ、雇用主だけでなく興味深いものを書きたいという願望を持っています。 そのような男は朝に剃毛し、すべての人類に幸福を与えてはどうかと考えます。 この種の考えに圧倒された私たちは、ある晩、おいしいシングルモルトウイスキーを飲みに集まりました。



決定はすぐに来ました-はい、私たちは非常に忙しい人ですが、私たちの自由な時間に軽くてかわいいものが素晴らしいことを認識するために。 今、決意、手、頭脳で、このすべての富を何に適用するかを理解する必要がありました。 ここでも、問題は非常に簡単に進みました。 3Dグラフィックエンジンのプログラミングの名人である私たちの1人は、彼の専門分野、つまり 3Dで。 異議はありませんでした。



彼らは、今後の傑作のアーキテクチャについて議論することからプロジェクトを開始しました。 私たちには次の制限がありました。まず第一に、誰も一生懸命働きたくありません(そして、やりたくありませんでした)。 オープンソースを備えたよく開発された3次元エンジンを見つける必要があります。 さらに、DirectXとOpenGLの両方をサポートするだけでなく、さまざまな言語のこのエンジンのAPIを使用することが望ましいです。 多くの長所と短所を検討した後-関心がある場合は、別の投稿で疑問点と選択基準の詳細を議論することができます-最後に、次の構造が結晶化しました:



基礎は、オープンソースを備えたRadonlabs Nebulaエンジンによって採用されました。このソースは、徹底的に整理、強化、コンパクト化され、現在はオープンリポジトリで uNebula(uTorrentに類似)という名前で呼ばれています 。 軽量で小型の(約5MBのランタイムエンジン)クロスプラットフォームで管理しやすく、リッチなAPIエンジンを備えています。 また、 LightWaveエディターで構築された3Dシーンを、新しいエンジンのAPIを使用してTCLスクリプトに変換するプラグインコンバーターを作成しました。 つまり LightWaveで何かを描画し、目的のボタンをクリックするだけで、 uNebulaで実行するシーンを準備できます。



次に、エンジンのAPIについて説明します。 彼はあらゆる好みのために、彼らが呼ぶものです。 まず第一に、マゾヒストはC ++で書く機会があります。 それほど厳しくない人のために、TCLで書くオプションがあります。この言語は、古くはありますが、柔軟性があり、多くの人に愛されています。 Python-ここでは、おそらく、何も言う必要はありません。言語ではなく、奇跡です。 Lua-シンプルさのファッション愛好家向け:まあ、Lisp-クールは重い砲を使用できます。 Tclの挿入と共にPythonパスを選択しました。 Pythonがすでに明確である理由-私たちはPythonが大好きで、それだけです。しかし、Tclの使用はLightWaveからのコンバーターによるものです。



メインOSがまだ残っているWindowsでは、いつでもLinuxおよびMac用にコンパイルできますが、 Unisode NSISはインストーラージェネレーターとして採用されました。 シンプルで、無料で、きれいなNSISは、まさに私たちのニーズを満たしました。



そして今、蓄積された素材を実践に移す時です。つまり、この「何か」が他の人に意味と利益をもたらすように、何かを描いて発射する時です。 経験豊富な人々として、まず第一に、パイロットサブプロジェクトから始めることにしました。 そこで、 フリップフロップの無料ゲームスケッチのアイデアが生まれました。 私が言ったように、それは小さなもので、書くのが簡単で、価値のある大衆を対象とするはずでした...大衆は、1歳から3歳までの深刻な人々から成る人口によって選ばれました。



Flip-Flopは起動時に全画面を開き、キーボードをロックして、コンピューターにアクセスした小さな人がキーをたたく際にトラブルを起こさないようにします。 任意のボタンを押すと、文字がランダムに表示されたり消えたり、カメラの位置が変化したり、マウスをオブジェクトの上に置いたりすると、素敵なバリトンがその名前を発音します。 奇妙なことに、子供はそのような単純なことのために非常に長い時間座ることができます。それは子供の心理学であり、同時に熱狂的で陽気なままです。 私たちにとって、このおもちゃはテクノロジーをテストし、さらなる経験を蓄積し、将来の計画を立てることができました。



uNebulaエンジンとそれに基づいたテクノロジーに注目したいと思います-シンプルさと効率が求められていると信じたいです。 近い将来、uNebulaの使用に関する一連の記事、特にuNebulaをブラウザープラグインに変換する方法についての記事を執筆する予定です。






All Articles