勉強ブログゲーム好き技術系大学生のメモのようなものこの広告は、90日以上更新していないブログに表示しています。2017-07-16AtomicGameEngineAtomicGameEngine前回の記事はHeliumエンジンっていうのに触れたんですけど、エンジンを実行することもできずに終わってしまうという散々な結果でした。若干勉強にもなったし、楽しかったからよし(笑)。今回、新たなゲームエンジンに触れるんですが、UE4ではないです。UE4は一応ビルドも実行も成功したんですけど、一度のビルドに時間がかかりすぎることや、マシンのスペックが追いつけてなかったので、もっと軽量のゲームエンジン探すことにしました。Engine」を触っていこうかなと思ってます。したら、しばらくの付き合いになるかと思います。ビルドできずに終わりましたっていう同じ繰り返しにならないように、今回はあらかじめビルドに成功して実行もできてます。Githubのコミット見たら、数分前に新しいコミットがあったり、生きてるプロジェクトは安心感が違いますね。ビルドも一発で通りました!ゲームエンジンっていう技術の結晶。すごいわくわくする(笑)。Build_AtomicEditor.shこのシェルスクリプトから全ては始まる。"$@"fimacで動かしてるから、恐らく始めのif文が通るはず。./Build_AtomicEditor.shMac!オーケーよく見ると、Mac、Linux、Windowsのどれも、nodeっていう実行ファイルを実行してる。その引数が、共通して./Build/Scripts/Bootstrap.jsっていうファイル。javascriptでnodeって聞いたら、Node.jsだよね。-helpとかしたら、なんとなく確認できる。Node.jsがBootstrap.jsを動かしてるわけだな。あと、/Build/node_modules/の中にあるのはNode.jsのモジュールだろね。こんなところでNode.jsをかじることになるとは思わなかった(笑)。Bootstrap.js見ていきますかなBootstrap.jsconsole.log()と、process.exit(1)を使いながら動作を追う。18行目までは、多分パスとか設定してる。config._[0];はコマンドライン引数の受け取りだろう。22行目から76行目までは実行されてないからとりあえず無視。コマンドライン引数がbuildereditorだったので、恐らく79行目のif文は通る。85行目から137行目までも実行されないので無視。選択されてるプラットフォームで不具合があったらメッセージ出して終了するみたいな処理。jake.Task['build:atomiceditor'];140行目buildTask.invoke();invokeはモジュールの呼び出しだから、jake.Task['build:atomiceditor']が分かれば次の処理が分かる。}'build:atomiceditor'ありましたね。},何もわからん(笑)。タスクが集められたファイルがあるんだと思うんだけど、、、プロジェクト内でatomiceditorで検索すると1622件のヒットで探しようがねぇ。4"が実行された後に、atomiceditor_phase2がinvokeされるっぽい。4"を実行した後に、同じファイルに定義されているcopyAtomicEditor()とcopyAtomicNET()が順番に実行されてビルド終了。copyAtomicEditor()とcopyAtomicNET()はビルドしてできたファイルを適切な場所に振り分けてるだけだと思うから特に意識しないでいいだろう。RELEASEの順で実行されて完成。今回はここまでです!次回は、cmake理解します。Source(1)今回からはソースコード見ていく。CMake(3)前回は、ThirdParty製のライブラリ調べた。読者になる検索はてなブログをはじめよう!kk_projekt_redさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。