見出し画像

【開発日誌 #0】プログラム初心者がClaudeとPyxelでダンジョンRPGを作り始めた話


はじめに

前から書こうと思っていたのですが、製作中のダンジョンRPGの記録を付けていこうと思います。

ClaudeでWebアプリを作るのが楽しくなってきたころに「せっかくなら何かゲームを作りたい」と思って、気づいたら3DダンジョンRPGを作っていました(ここにたどり着くまでも色々ありましたw)それにしても飽きっぽい自分がここまで一つのことにはまりっぱなしで作業を続けていけるとは…自分自身でもびっくりしています。

元々ドラクエなどのフィールドがあるRPGが好きで作りたいと思っていたのですが、AIを使うとはいえ初心者が初めから取り組むのは厳しい気がしてしまって、何故かダンジョンRPGを作り始めていました。既存のダンジョンRPGにあまりない要素をミックスしながらプレしやすくとにかく自分が楽しいと思えるものを作ることを第一に考えています。

そこそこ制作が進んでしまって「noteに残しておけばよかった…」と後悔し始めたので、途中からですが記録をつけていこうと思います。

作っているゲームについて

タイトル:グラヴェンの傷跡(仮)

使用ツール:Claude、Gemini、Python / Pyxel(レトロゲームエンジン)

Pyxelは基本256×256ピクセル16色の画面で動くミニマルなゲームエンジンです。制約が多いぶん「どうやって表現するか」を考えるのが楽しくて、個人制作にぴったりだと思っています。

世界観・ストーリー

舞台は「ヴェルドラシア」という大陸。

地下王国ドゥルムガルの廃墟を舞台としたダンジョンを探索するゲームです。

プレイヤーは騎士・術師・盗賊の3種類の出自から1つを選び、それぞれ異なる動機を持って「グラヴェンの傷跡」と呼ばれるダンジョンに潜ります。

現在できていること

途中からの記録なので、今の状態をまとめておきます。

現時点でのスクリーンショット
グラフィック素材はGeminiで生成したものをドット絵に加工し、
それをさらにリサイズ、減色したものです
初期のころの画面…面影がまるでありませんねw

描画・探索まわり

  • 疑似3Dダンジョン描画(壁のテクスチャ、扉の表示)

  • WASDと矢印キーでの移動・旋回

  • ミニマップ(方向インジケーター付き)

  • 炎の揺らぎ演出(パレットを使ったフリッカー)

  • マルチフロア対応

キャラクター・パーティ

  • 名前入力グリッド(カナ・アルファベット切り替え)

  • 出自選択と、出自ごとの導入テキスト

  • 3人パーティ(主人公+仲間2人)

  • レベルアップ・スキル習得

戦闘システム

  • 3人それぞれのコマンド入力(たたかう・スキル・アイテム・にげる)

  • 速さ順ターン制

  • 攻撃ヒット時のエフェクト(血しぶき・対象揺れ)

  • 攻撃を受けた時のエフェクト(画面揺れ、赤く色変更)

  • 回復時のパーティクルエフェクト

  • モンスタースプライト表示

苦労したポイント

初心者なりに詰まった部分を正直に書いておきます。

疑似3Dの仕組み 最初は「どうやって奥行きを表現するの?」というところから始まりました。ワイヤーフレームの座標を計算して、距離ごとに壁の大きさを変えることで遠近感を出しています。最初はこの疑似3Dの部分で何回もやり直し本当に大変でした。逆にここを乗り越えたら製作が安定して進められるようになってきましたね。

Pyxelの画像バンク制約 Pyxelには画像を置けるバンクが0〜2の3つあります。一つのサイズが256*256なので一度に表示できるグラフィックには制限があります。バンクの画像を切り替えながらたくさんのグラフィックを使うこと自体は可能なので、その辺も含めつつ色々考えるのが苦労はしますが楽しいです。

インデントの地獄 プログラム初心者すぎたので、最初のころはPythonのインデントエラーが本当に大変でした(今はほとんど大丈夫)

今後の予定

大きく3フェーズに分けて開発を進めています。

  • Phase 1(MVP):ショップ・宿屋の実装。「一周できる」状態にする

  • Phase 2(コンテンツ):NPC会話・クエスト・ボス演出・BGM・SE

  • Phase 3(仕上げ):エンディング、図鑑、拠点システム


開発ロードマップ
あくまでも予定です。一部ネタバレ?っぽいのでマスクしましたw

おわりに

ゲーム制作を始めてから、ここまでこれるとは正直思っていませんでした。

Pyxelは制約が多いエンジンですが、「この制約の中でどう表現するか」を考えるのがパズルみたいで楽しいです。世界観を考えるのも、システムを実装するのも気づいたら時間を忘れています。

完成したらちゃんと遊べるゲームにしたいので、これからも記録を続けていこうと思います。

次の記事では、疑似3D描画の仕組みについてもう少し掘り下げて書こうと思っています。

よければフォローして見ていてもらえると励みになります。

いいなと思ったら応援しよう!

しん もし記事が参考になったり、開発を応援してもいいと思ってくれた方がいたら、noteのサポートをいただけると次の記事を書く原動力になります。もちろん読んでくれるだけで十分嬉しいです。