最近、個人的なソフトウエアをつくる際にプログラミング言語としてPythonを使うことが減ってきた。代わりに使っているのが「Rust」だ。私は対話型AI(人工知能)サービス「ChatGPT」に依頼し、Rustを実装言語としてプログラミング言語処理系をつくってもらったことがある。それからよくRustを使うようになった。
Rustは、C/C++に匹敵する処理速度を備えつつ、メモリー関連の致命的なバグをコンパイル時に防ぐことができるプログラミング言語だ。個人が利用するソフトウエアをつくるのにどの程度、実用的なのか。それを確かめるためにゲームをつくってみることにした。Rustにはあまりゲーム開発のイメージはないが、やってできないことはないはず。そこでChatGPTに相談しながらアクションゲームをつくってみた。
まず必要になるのは、GUI(グラフィカル・ユーザー・インターフェース)ライブラリーだ。ゲーム向けには「Bevy」というゲームエンジンがおすすめとのことだったので採用した。
最初につくってもらったのは2次元(2D)ゲーム。落ちてくる隕石(いんせき)を避けるという簡単なものである。気になったのはコンパイルにかなりの時間がかかる点だ。最初のコンパイルにはBevyのビルドも含まれるので6~7分かかった。その後のコンパイルでも10秒程度はかかる。コンパイルなしですぐに実行できるPythonに比べると手軽さは減るが、Rustがコンパイル方式を採用している以上は仕方ない。
このゲームをChatGPTに3次元(3D)化してもらった。といっても、奥から手前に隕石が飛んでくるようにするだけなので、それほど複雑な3D計算は必要ない。試行錯誤の末になんとか形になった。
実際にゲームをつくってもらった実感としては、Pythonとそれほど手間は変わらなかった。どちらのプログラミング言語を使っていても、完璧なものが一発で出てくることはまずない。いろいろ指示して手直ししてもらう必要がある。
Rustで書かれたプログラムの特徴は、処理速度と安全性を両立していることだ。それと引き換えに、コードを書くのが難しい。処理速度と安全性の両立を言語処理系が担うのではなく、複雑なコードの記述に先出ししているようなイメージだ。つまりプログラマーの負担が大きい。
次のページ
今やコードを書くのはAIこの記事は会員登録で続きをご覧いただけます

