自分だけの人生ゲームにカスタマイズしよう
忙しい方はここだけ見て
この章では、今まで作ってきた人生ゲームを「自分だけのゲーム」に変えていきます。
最初に変えるなら、この4つだけでOKです。
1. プレイヤー名を変える
2. マスの名前を変える
3. イベントを追加する
4. 物件名・価格・通行料を変える
触る場所はこちらです。
プレイヤー名
↓
_createInitialPlayers()
人生のマス
↓
_createTiles()
イベント
↓
_createEventPool()
物件価格・通行料
↓
_createTiles() の price / rent
最初は、難しい処理を変えなくて大丈夫です。
文字を変える
↓
保存する
↓
動かして確認する
この流れだけで、自分だけの人生ゲームに近づいていきます。
この章でやること
この章では、これまで学んできた内容を使って、人生ゲームをカスタマイズしていきます。
今までの章で、次の仕組みを見てきました。
マスを作る
プレイヤーを作る
イベントを追加する
サイコロを振る
お金を増減する
物件を買う
通行料を支払う
モーダルで表示する
タイムラインで見せる
ここまで来たら、もう「ただコードを見る段階」ではありません。
ここからは、自分のテーマに合わせてゲームを変えていく段階です。
今日のゴール
この章のゴールは、次の3つです。
1. どこを変えればゲームの雰囲気が変わるか分かる
2. 自分のテーマに合わせてマスやイベントを変えられる
3. 小さく変更して、動作確認する流れが身につく
全部を一気に変えなくて大丈夫です。
まずは、1か所だけ変えてみましょう。
Step 1:まずテーマを決めよう
最初に、どんな人生ゲームにしたいかを決めます。
例えば、こんなテーマがあります。
| テーマ | 内容 |
|---|---|
| 学校生活ゲーム | 入学、部活、テスト、文化祭、卒業 |
| 仕事ゲーム | 就職、副業、転職、昇進、独立 |
| 投資ゲーム | 株式投資、不動産、税金、暴落、配当 |
| 店舗経営ゲーム | 開業、広告、売上、スタッフ採用、2店舗目 |
| クリエイターゲーム | 投稿、バズる、案件獲得、炎上、収益化 |
テーマを決めると、マスやイベントを作りやすくなります。
Step 2:プレイヤー名を変える
まずは、プレイヤー名を変えます。
触る場所はここです。
_createInitialPlayers()
変更前です。
PlayerState(
id: 0,
name: 'Player 1',
color: AppColors.red,
position: 0,
cash: 1500,
properties: <int>{},
isFinished: false,
),
変更後です。
PlayerState(
id: 0,
name: '起業家A',
color: AppColors.red,
position: 0,
cash: 1500,
properties: <int>{},
isFinished: false,
),
2人目も変えます。
name: '投資家B',
これだけでも、ゲームの雰囲気が変わります。
Step 3:マスの名前を変える
次は、人生のマスを変えます。
触る場所はここです。
_createTiles()
変更前です。
BoardTile(
index: 1,
age: 21,
stage: '学生・準備期',
label: '準備の日々',
description: '大きな収支はありません。これからの人生に向けて、少しずつ経験を積みます。',
type: TileType.normal,
),
仕事ゲームにするなら、こう変えられます。
BoardTile(
index: 1,
age: 21,
stage: 'キャリア準備期',
label: 'はじめての面接',
description: '緊張しながらも、はじめての面接に挑戦しました。',
type: TileType.normal,
),
最初は、label と description だけ変えればOKです。
Step 4:物件名を変える
物件マスも、自分のテーマに合わせて変えられます。
変更前です。
BoardTile(
index: 2,
age: 23,
stage: '社会人スタート期',
label: '小さなカフェ',
description: '小さなカフェに投資できます。所有すると、他のプレイヤーが止まった時に通行料を得られます。',
type: TileType.property,
price: 300,
rent: 80,
),
店舗経営ゲームにするなら、こうできます。
BoardTile(
index: 2,
age: 23,
stage: '開業準備期',
label: '小さな屋台',
description: '小さな屋台を始めます。所有すると、他のプレイヤーが止まった時に売上が入ります。',
type: TileType.property,
price: 300,
rent: 80,
),
type: TileType.property は残します。
これを消すと、物件マスとして動かなくなります。
Step 5:価格と通行料を変える
物件の強さは、price と rent で決まります。
price: 300,
rent: 80,
意味はこちらです。
| 項目 | 意味 |
|---|---|
price | 買うときの価格 |
rent | 他の人が止まったときにもらえる金額 |
安くて通行料が高い物件は、強い物件になります。
price: 300,
rent: 200,
高くて通行料も高い物件なら、バランスが取りやすいです。
price: 800,
rent: 250,
最初は、大きく変えすぎないのがおすすめです。
Step 6:イベントを追加する
次は、イベントを追加します。
触る場所はここです。
_createEventPool()
仕事ゲームなら、こんなイベントを追加できます。
EventInfo(
title: '新規案件を受注',
description: '紹介から新しい仕事が決まり、まとまった収入が入りました。',
cashChange: 500,
category: EventCategory.work,
),
トラブルイベントなら、こうです。
EventInfo(
title: 'パソコンが故障',
description: '仕事で使っていたパソコンが壊れて、修理費がかかりました。',
cashChange: -350,
category: EventCategory.trouble,
),
収入はプラス、出費はマイナスです。
Step 7:イベントのバランスを整える
イベントは、プラスばかりでも、マイナスばかりでも面白さが偏ります。
おすすめは、このくらいです。
収入イベント:4個
出費イベント:3個
投資イベント:2個
トラブルイベント:2個
チャンスイベント:2個
最初は、良いことと悪いことを半分ずつくらい入れると遊びやすいです。
良いイベント
↓
副業成功、ボーナス、投資利益、案件獲得
悪いイベント
↓
修理費、税金、体調不良、広告失敗
人生ゲームらしさは、予想外の出来事で生まれます。
Step 8:給料や税金の金額を変える
給料マスの金額を変えるなら、ここです。
cashChange: 500,
_addCashToCurrentPlayer(500);
例えば、給料を増やすなら、両方を変えます。
cashChange: 700,
_addCashToCurrentPlayer(700);
税金も同じです。
cashChange: -250,
_addCashToCurrentPlayer(-250);
軽くするなら、こうです。
cashChange: -150,
_addCashToCurrentPlayer(-150);
表示用と実際の処理用の数字をそろえるのがポイントです。
Step 9:ゲームの難しさを変える
ゲームの難しさは、数字で変えられます。
| 変えたいこと | 変更する場所 |
|---|---|
| 簡単にしたい | 初期所持金を増やす |
| 難しくしたい | 税金や出費を増やす |
| 逆転しやすくしたい | 高額イベントを増やす |
| 物件ゲームにしたい | rentを高めにする |
| ゆっくり進めたい | サイコロの最大値を小さくする |
例えば、初期所持金を増やすなら、ここです。
cash: 1500,
変更後です。
cash: 3000,
初心者向けにするなら、最初は所持金を少し多めにすると遊びやすいです。
Step 10:テーマ別カスタマイズ例
学校生活ゲーム
プレイヤー:Aチーム、Bチーム
物件:部室、模擬店、学園祭ブース
イベント:テスト高得点、部活優勝、参考書購入
ゴール:卒業式
仕事ゲーム
プレイヤー:起業家A、会社員B
物件:小さなカフェ、ネットショップ、駅前テナント
イベント:副業成功、転職、パソコン故障
ゴール:資産集計
投資ゲーム
プレイヤー:投資家A、投資家B
物件:株式、不動産、店舗、ビル
イベント:株価上昇、暴落、配当金、税金
ゴール:総資産ランキング
店舗経営ゲーム
プレイヤー:店長A、店長B
物件:屋台、小型店舗、駅前テナント、商業ビル
イベント:新商品ヒット、広告費、スタッフ採用、設備故障
ゴール:売上と資産の集計
このように、文字を変えるだけで別のゲームになります。
Step 11:初心者におすすめの変更順
一気に全部変えると、どこでエラーが出たか分かりにくくなります。
おすすめは、この順番です。
1. プレイヤー名を変える
2. マス名を1つ変える
3. イベントを1つ追加する
4. 物件名を1つ変える
5. priceとrentを少し変える
6. 給料や税金の金額を変える
1つ変えたら、必ず保存して動作確認します。
変える
↓
保存する
↓
動かす
↓
問題なければ次へ
これが一番安全です。
Step 12:自分のゲーム企画をメモしよう
コードを変える前に、簡単な企画メモを作ると楽です。
ゲーム名:
テーマ:
プレイヤー名:
主なマス:
物件:
良いイベント:
悪いイベント:
ゴール:
例です。
ゲーム名:小さな起業家ゲーム
テーマ:副業から会社経営へ
プレイヤー名:起業家A、起業家B
主なマス:初案件、副業成功、税金、広告出稿
物件:ネットショップ、カフェ、駅前テナント
良いイベント:動画がバズる、紹介で案件獲得
悪いイベント:PC故障、広告失敗
ゴール:総資産ランキング
先に考えておくと、コードの変更がスムーズになります。
Step 13:やりすぎないことも大事
最初から完璧なゲームを作ろうとすると、途中で大変になります。
最初の目標はこれで十分です。
プレイヤー名を変える
マスを3つ変える
イベントを3つ追加する
物件を2つ変える
1回最後まで遊ぶ
最後まで動けば、大成功です。
そこから少しずつ良くしていきましょう。
Step 14:カスタマイズの完成例
仕事ゲームに寄せるなら、このような内容にできます。
20歳|人生のはじまり
21歳|はじめての面接
23歳|小さなネットショップ
24歳|ライフイベント
25歳|初任給
28歳|税金・支払い
30歳|副業が軌道に乗る
35歳|駅前テナント
40歳|大型案件
50歳|ビジネス拡大
65歳|資産集計
これだけでも、かなりゲームらしくなります。
触ってみよう
今回は、最低限のカスタマイズを3つだけ行います。
1. プレイヤー名を変える
name: '起業家A',
name: '投資家B',
2. 物件名を変える
label: '小さなネットショップ',
description: '小さなネットショップに投資できます。所有すると、他のプレイヤーが止まった時に売上が入ります。',
3. イベントを1つ追加する
EventInfo(
title: 'SNS投稿がバズる',
description: '投稿が多くの人に届き、仕事の相談が増えました。',
cashChange: 600,
category: EventCategory.chance,
),
保存して、ゲームを動かします。
画面の文字やイベントが変わっていれば成功です。
よくあるエラーと直し方
1. 一気に変えすぎてエラーの場所が分からない
一番多い失敗です。
対策はこれです。
1か所変える
↓
保存する
↓
動かす
↓
次を変える
一気に10か所変えないようにしましょう。
2. カンマを消してしまった
悪い例です。
label: '小さなネットショップ'
description: 'ネットショップに投資できます。',
正しくはこちらです。
label: '小さなネットショップ',
description: 'ネットショップに投資できます。',
各行の最後にカンマを残します。
3. 数字を文字にしてしまった
悪い例です。
price: '500',
rent: '120',
cashChange: '600',
正しくはこちらです。
price: 500,
rent: 120,
cashChange: 600,
数字は ' で囲みません。
4. typeを変えてしまった
物件マスには、これが必要です。
type: TileType.property,
イベントマスには、これが必要です。
type: TileType.event,
type を間違えると、思った動きになりません。
5. 表示金額と実際の金額がズレる
給料や税金を変えるときは、2か所そろえます。
cashChange: 700,
_addCashToCurrentPlayer(700);
どちらか片方だけ変えると、表示と実際の所持金がズレます。
この章で覚えること
この章で覚えることは、3つだけです。
1. 文字を変えるだけでも自分のゲームになる
2. マス・イベント・物件・金額を少しずつ変える
3. 1か所変えたら、必ず動作確認する
まずはこれだけで大丈夫です。
やる気を維持するコツ
ゲーム作りで一番楽しいのは、自分のアイデアが画面に出る瞬間です。
最初は、難しい処理を書けなくても問題ありません。
Player 1 を 起業家A に変える
小さなカフェ を ネットショップ に変える
副業成功イベントを追加する
これだけでも、もう自分のゲームです。
完璧に作るより、まず動かす。
動いたら、少し良くする。
また動かす。
この繰り返しで、ちゃんと作品になります。
チェックリスト
□ ゲームのテーマを決めた
□ プレイヤー名を変更した
□ マス名を1つ変更した
□ 説明文を1つ変更した
□ 物件名を1つ変更した
□ priceを確認した
□ rentを確認した
□ イベントを1つ追加した
□ cashChangeのプラス・マイナスを確認した
□ 保存して動作確認した
□ 最後まで1回遊んでみた
まとめ
この章では、自分だけの人生ゲームにカスタマイズする方法を整理しました。
最初に変えるべき場所は、_createInitialPlayers()、_createTiles()、_createEventPool() です。
プレイヤー名、マス名、イベント、物件価格、通行料を少し変えるだけで、ゲームの雰囲気は大きく変わります。
大切なのは、一気に全部変えないことです。
1か所変える。
保存する。
動かして確認する。
この流れを守れば、初心者でも安心してカスタマイズできます。
