生成AIが活発化してきているので、ゲームについての壁打ち相手(思考のアイデアブレストをする相手)のいないこのタイミングで、ChatGPTに壁打ち相手になってもらおうと考えました。
そして、ChatGPTが提案した内容がかなり面白いアイデアだったので、それを盛り込んだゲーム仕様を検討してみようと思います。
AIが提案したゲーム案
- プログラミング学習を題材にした3Dアクションアドベンチャーゲームを考えているので、どういうプログラミング学習ができるかアイデアを考えて!
- ChatGPT : 以下のようなプログラミング学習をゲーム内で体験できるアイデアを考えました:
基本的なプログラミング概念
1. 条件分岐
- 扉を開けるために正しい条件を設定する(例:特定のアイテムを所持しているか確認)。
2. ループ処理
- 敵を倒すために一定回数アクションを繰り返すギミック。
3. 変数とデータ型
- パズルを解く際に正しい値を設定して進む。
応用プログラミング
4. アルゴリズムの構築
- 敵の動きを予測し、最適な経路を計算するクエスト。
5. デバッグ
- 壊れたギミックを修理するためにコードのバグを修正するミッション。
6. オブジェクト指向
- ゲーム内でカスタムキャラクターや乗り物を作成して使用する。
ツールや技術のシミュレーション
7. API連携
- ゲーム内のシステムにデータを送信し、操作する。
8. バージョン管理(Git)
- 失敗したギミックを以前の状態に戻す機能。
インタラクティブ要素
9. リアルタイムコーディング
- 敵の攻撃を回避するために即座にコードを書いて行動を変える。
10. エディタモード
- 自分でダンジョンやキャラクターのAIをコーディングして作成。
ストーリーと結びつける
11. ハッキング
- 敵のシステムに侵入するために暗号を解読したり、コードを書き換えたりする。
12. プログラミングの師匠との修行
- NPCにコードを教えられながら進行。
- そのゲーム内ではJavascriptを学習させる予定なので、プログラミング学習コンテンツを考えてみて
- ChatGPT : Javascriptを題材にしたプログラミング学習コンテンツ(問題集)のアイデアを以下にまとめました。ゲームのストーリーや進行に組み込む形で使用できます。
基礎編
1. 変数とデータ型
問題: 「勇者のHPを設定してください」
let hp = 100;
次の課題: HPを減らして表示する(例:hp -= 10;)。
2. 条件分岐
問題: 「扉を開ける条件を記述してください」
if (hasKey) {
console.log("扉が開いた!");
} else {
console.log("カギが必要です");
}
3. ループ
問題: 「宝箱をすべて開けるコードを完成させてください」
for (let i = 0; i < 5; i++) {
console.log("宝箱を開けた!");
}
4. 関数
問題: 「敵に攻撃する関数を作成してください」
function attack(enemy) {
console.log(`${enemy}に攻撃した!`);
}
attack("スライム");
応用編
5. 配列
問題: 「アイテムのリストを作成して表示してください」
let items = ["剣", "盾", "ポーション"];
items.forEach(item => console.log(item));
6. オブジェクト
問題: 「キャラクターのステータスをオブジェクトで管理してください」
let hero = {
name: "勇者",
hp: 100,
attack: 30
};
console.log(`${hero.name}のHP: ${hero.hp}`);
7. イベントリスナー
問題: 「ボタンを押したら魔法を唱えるコードを作成してください」
document.querySelector("#magicButton").addEventListener("click", () => {
console.log("魔法を唱えた!");
});
チャレンジ問題
8. タイマーと非同期処理
問題: 「敵の登場を3秒後に遅らせてください」
setTimeout(() => {
console.log("敵が現れた!");
}, 3000);
9. DOM操作
問題: 「宝箱を開けたら、画面上の宝箱を削除してください」
document.querySelector("#treasureBox").remove();
10. ゲームシステムの構築
問題: 「簡単な戦闘システムを作ってください」
let enemyHp = 50;
function attack() {
enemyHp -= 10;
console.log(`敵のHP: ${enemyHp}`);
if (enemyHp <= 0) {
console.log("敵を倒した!");
}
}
attack();
ストーリーに絡めた問題
11. 暗号解読
問題: 「暗号文を解読してヒントを得てください」
let message = "dlrow olleh";
console.log(message.split("").reverse().join(""));
12. NPCのAI構築
問題: 「NPCが宝箱の場所を教えるコードを完成させてください」
let npc = {
name: "村人",
guide() {
console.log("宝箱は北の洞窟にあります!");
}
};
npc.guide();
- ChatGPT : このような問題を段階的に配置すれば、基礎から応用まで効果的に学習でき、ゲーム性も高まります。より具体的なテーマやシナリオに合わせた問題を追加したい場合は教えてください!
これは面白い!
AIを小馬鹿にしていたけど、これまでまとまっていなかったプログラミング学習とゲームの融合が見えてきました。
主人公のパラメータも含めて自分でプログラミングして、育成するRPGスタイルって、めちゃくちゃ面白そうですね。
自分でこんなゲームあったらやりたいと思ってしまいました。
自分ごととして、プログラミングを少しずつ覚えて、育てていく事で、自分自身のコーディングスキルもアップできるし、
もしかしたらSNS的に、友達や別のプレイヤーなどのプログラムコードを見る事で、自分との違いや、より良いコードの書き方なんかを学習していけるイメージが湧きますね。
同じく、武器や、戦闘方法などもプログラミングする事で、独自の戦闘方法などが作れたり、魔法の様にプログラミングを扱えるイメージができます。
ストーリーに関しては、これは以前からイメージしていたんですが、宝箱の鍵の開け方ロジックや、謎解き要素をプログラミングで解決していくというのは、簡単に想像できるし、誰でも説明されなくても取り掛れそうです。
実際は、これらのプログラミングの内容を、プレイヤーのプログラミングスキルに合わせてコツコツと学習していくスタイルの問題が作れるかがポイントになりそうですね。
あとがき
なんか、これまでひとりでモヤモヤしていたゲーム制作の核の部分を、ChatGPTが素案を考えてくれて、一気に視野が広がりました。
実際にこの題材をもっと細部を思考して、ゲームとして作り込んでいく過程も、個人的には楽しみたいので、
改めて一緒に楽しんでゲーム作りに参加してくれる人いないかな〜と考えてしまいました。
もしかしたら、会社として資金繰りをして、ちゃんと開発メンバーを採用するという事も考えているので、
今回の企画「面白そう!」と思った人で、
「参画したい!」「自分も作ってみたい!」「いち早くプレイしたい!」「アイデアブレストしたい!」
こんな人いたら、是非ご連絡くださいませ。
0 件のコメント:
コメントを投稿