
制作経緯
ゲームとプログラミング学習の中間にあるものを作りたい、という関心から始めたプロジェクトです。プレイヤーが毎フレーム直接操作するのではなく、事前に組んだロジックや戦術が盤面でどう振る舞うかを観察する。そういう「書いたコードが動きとして返ってくる」体験に魅力を感じていました。
code-tactics は、そのアイデアを 2D のオートバトルとして試すための実験場です。ゲームとしての面白さだけでなく、ルール・状態・行動決定をどう設計すればプログラマブルな遊びとして成立するかを検証しています。
概要
2D プログラマブル・オートバトルゲームです。ユニットの行動方針をコードやルールで組み立て、戦闘は自動で進行します。プレイヤーは結果を観察し、戦術を調整し、再度シミュレーションすることで勝ち筋を探します。
ゲーム本体のリポジトリは private のため公開していませんが、LP は public として公開しています。この Works では、現在の方向性と設計上の関心を紹介する位置づけです。
技術選定
- Rust — 状態遷移・シミュレーション・ゲームロジックを型で明確に表現しやすい。将来的な WASM 展開も視野に入れやすい。
- 2D シミュレーション — 盤面、ユニット、行動、衝突、勝敗条件を小さく保ち、戦術ロジックの検証に集中する。
- プログラマブルな行動設計 — 直接操作ではなく、条件分岐や優先度を組み合わせてユニットを動かすことで、「考えた戦術が動く」体験を目指す。
- 公開 LP — 開発中の private repository とは分離し、コンセプトと進捗だけを外部に共有できる導線として用意している。
学び
- ゲームの面白さとプログラム可能性は別物。 自由度を上げるほど説明コストも増えるため、最初に触る人が理解できるルールの小ささを保つ必要があります。
- シミュレーションはデバッグが体験になる。 なぜそのユニットがその行動を選んだのかを追えることは、開発者向けデバッグだけでなくプレイヤー体験としても重要です。
- LP を先に作るとコンセプトが締まる。 何を見せるプロダクトなのかを言語化することで、実装側で優先すべき要素が整理されました。
今後の方向性
まずは小さな戦闘ルールとユニット行動を固め、戦術の編集・保存・リプレイの導線を整えることが目標です。その後、ステージやユニット種別を増やし、プログラマブルな遊びとしての奥行きを検証していきます。
External Links
プロダクト本体や LP に移動
このページでは背景と設計判断をまとめ、詳細な導線は外部 LP 側に集約しています。