ArcadeRS サンプルゲームを通じて play-clj に慣れる
ArcadeRSという ゲーム制作を通じての Rust 言語を学ぼうと言うチュートリアル記事がある。
この記事はそのチュートリアルを通じて完成するゲームを play-clj で作ってみようと言う記事。 元記事と違って Clojure そのものは既にある程度学習済で、ここのタイトルにあるように play-clj、引いてはベースとなる libGDX の使い方に慣れるのが主な目的になる。 なので、Clojure 自体の入門や開発環境の構築は他書籍やサイトを参考にして下さい。
この記事を作成するにあたっての開発環境だけは書いておきます。
- Windows7 Pro 64bit
- JDK 7u45(1.7.0_45)
- Clojure 1.8.0
- leiningen 2.6.1
- Emacs 24.5(NTEmacs64 IMEパッチ適用版)
- cider 0.12.0
- play-clj 1.1.0
流れだけは元記事に沿うようにするが、翻訳記事ではないので元記事のリンクを載せたりもしない。
また、後で検索しやすいよう arcade-clj
とタグ付けしておく。
完成イメージ
現在は元記事のスクリーンショットをそのまま持ってきているだけだが完成したら差し替える予定。
と言っても見た目は多分タイトルバーデザインが Windows のものになるだけだと思う。
目次
日本語になっていない所はまだ play-clj 版での記事になっていない部分。 また、機能ベースでタイトルを付けていく予定。
- play-clj のインストール、シンプルなウィンドウの表示 - 日曜プログラミング
- ESC を押したら終了するようにする(イベントハンドリングの触り) - 日曜プログラミング
More event handling, where we discuss macrosViews, where we learn about boxes, pattern matching, trait objects, and dynamic dispatch- 3,4 は Rust の言語機能がメインで、特にゲームとしての機能追加を行ってるわけではないので割愛。
- Screen の 切替 - 日曜プログラミング
- 四角形を動かす、描画する - 日曜プログラミング
- Sprites, where we create our player’s ship
- Backgrounds, where we handle resizing, scale and translate through time
- Main menu, where we play with textures and Rust’s vectors
- Asteroid attack!, where we render animated asteroids
- Shooting bullets, where we explore iterators
- Brawl, at last!, where we make objects interact and explode
- ≪ Boom! ≫, where we play sound.
- Variety, where we create more enemies
- Difficulty, where we manage the difficulty level and the score
- High score & wrap-up, where we play with the file-system and enhance our main menu
目次だけ最初に掲げちゃって大丈夫かと自分でも少し思うが ペースは遅くとも何とか最後までいけるよう頑張ります。
勿論チュートリアルのゲームを完成させるのが一番の目的だけど 記事の方も日本語に置き換えられて*1リンクが貼られれば完成とします。 また、この記事は主に目次なので記事を更新次第リンクとタイトルも更新します。
*1:翻訳じゃなくあくまで機能ベースの置き換え