当サイトを閲覧いただきありがとうございます。
本記事では、Game Creator 2のモジュールを組み合わせて「5つの異なるジャンルのゲーム」を実装する手順をまとめてレポートします。脱出ゲーム・ボクシング・ドラクエ風RPG・サバイバルクラフト・Apex風FPSの各ジャンルについて、使用モジュール・設計方針・実装手順を解説します。
公式ドキュメント:Game Creator 2 Documentation
1. 脱出ゲーム(Core + Inventory + Dialogue)
ゲーム仕様
- 視点:三人称固定カメラ or ポイント&クリック
- ルール:鍵のかかった部屋からアイテム/謎解きを通して脱出する
- 主要要素:
- 拾えるアイテム(鍵・メモ・工具)
- 使うアイテム(錠前に鍵を使う、工具で箱をこじ開ける)
- 調べる家具(TriggerとDialogueで情報開示)
- パスワード入力(Global Name Variable)
- 脱出条件(ドアが開いてシーン遷移)
使うモジュール
| モジュール | 用途 |
|---|---|
| Core(Characters/Cameras/Visual Scripting/Variables/Save & Load) | プレイヤー操作・カメラ・全ゲームロジック |
| Inventory | アイテムの所持・使用 |
| Dialogue | 家具・NPCとの対話、ヒント表示 |
| Extensions: Transitions | ドアからシーン遷移時の演出 |
プロジェクト初期セットアップ
- Unityプロジェクト作成 → Game Creator 2 + Inventory + DialogueをPackage Managerからインストール
Game Creator > Install...でサンプルを入れる:Inventory(Items/UI)、Dialogue(Skin Default)- シーン
Room_01を作成。床・壁・天井のコライダー付きモデルを配置 - Hierarchy →
Game Creator > Characters > Playerでプレイヤー作成 Game Creator > Cameras > Camera ShotでThird Personを作成しPlayerをターゲット指定- Inventory UIプレハブ(Bag UI)をCanvasに配置
アイテム定義(Inventory)
Project で Create > Game Creator > Inventory > Item を繰り返し作成します:
| Item名 | ID | 用途 | Prefab |
|---|---|---|---|
| Rusty Key | key_rusty | 正面ドア開錠 | あり |
| Crowbar | crowbar | 木箱破壊 | あり |
| Torn Note | note_01 | パスワードの断片 | なし |
| Note Paper | note_02 | パスワードの断片 | なし |
Properties:Torn Note にNumber Property fragment = 1、Note Paperは2。合計で3になったら完全なパスワードが判明する設計に利用します。
Bag:PlayerにBag(Listタイプ)コンポーネントを追加し、Skin UIにInventoryのBag Skinを指定します。
シーン構成
必要なGameObject:
- DoorFront(出口ドア):鍵で開く
- Safe(金庫):3桁パスワード入力で開く
- WoodenCrate(木箱):Crowbarで破壊、中から鍵
- Desk(机):調べるとTorn Noteを拾う
- Bookshelf(本棚):Note Paperを挟んだ本
- HintNPC(任意):ヒントを話すNPC
全インタラクト対象に Trigger(Event = On Interact)と Hotspot(Mode = On Interaction Focus、Spotに「調べる」テキスト表示)を設定します。
Variables設計
Global Name Variables(アセット)EscapeFlags:
| 変数名 | 型 | 初期値 | 用途 |
|---|---|---|---|
door_unlocked | Boolean | false | 出口ドア開錠フラグ |
safe_unlocked | Boolean | false | 金庫開錠フラグ |
crate_open | Boolean | false | 木箱破壊フラグ |
password_entered | String | "" | プレイヤーが入力したパスワード |
password_correct | String | ”4263” | 正解 |
Remember:Player(またはDontDestroyOnLoadなルート)にRememberコンポーネント → Bag・Variables をMemoryに登録してセーブ対応します。
アイテム取得ロジック(例:机のTorn Note)
DeskのTrigger(On Interact)でConditionsコンポーネントにより分岐します:
Branch 1(条件:Has Item (Torn Note, 1) == false):
- Play Dialogue → 机の説明と「引き出しを開けた」演出
- Add Item →
Torn NoteをPlayerのBagに - Play UI Sound(拾得音)
- Play Dialogue → 「拾った」通知
Branch 2(条件空 = デフォルト分岐):Play Dialogue → 「もう何もない」
取得後はDeskのHotspotを Set Active(Hotspot, false) で無効化するか、ConditionsのBranch分岐で「持っているならスキップ」させます。
アイテム使用(鍵でドア開錠)
DoorFrontのTrigger(On Interact):
- Branch 1(
door_unlocked == true):Transition to Scene(Transitions Extension)でOutsideシーンへ - Branch 2(
Has Item (Rusty Key, 1) == true):Play Dialogue →door_unlocked = true→ 鍵消費 → 「ドアが開いた!」 - Branch 3(デフォルト):「ドアには重そうな錠前が掛かっている」
木箱破壊(CrateのTrigger):
- Branch 1:
crate_open == true→ 「もう何もない」 - Branch 2:
Has Item (Crowbar, 1) == true→ 破壊SE/パーティクル →Add Item (Rusty Key)→crate_open = true - Branch 3:「手では開かない」
金庫とパスワード入力
- Safe UIで4桁入力欄を作成(
Create > UI > InputField) - 金庫Trigger(On Interact):
safe_unlocked == trueなら中身取得、そうでなければSafe UIを表示 - 入力確定ボタンで
typed == password_correctを比較(Text Equals条件) - 成立:
safe_unlocked = true+ 成功音 + UI閉じ + 宝箱中身を金庫内にInstantiate - 不成立:失敗音 + Play Dialogue「違うようだ…」
パスワードの推理:Torn Noteに「4と2が…」、Note Paperに「…6と3」。両方持って調べると完全な 4263 がDialogue内のGlobal Dynamic Valueで表示されます。
Dialogueの使い方
- Text ノードにActor(Narrator等)とPortrait Noneで素のメッセージ
- Choiceで「調べる/離れる」を提示するパターンも可
Tagを付けてTag Visitedで「初見だけ長い説明、次回からは短い要約」の切替が可能
ヒントNPC:NPCにTrigger(On Interact)+ Play Dialogue。Choice で「ヒントをくれ」を選ぶと、金庫・木箱・ドアそれぞれの状態を見て段階的に教えます。
カメラ演出
- Close-up Shot:金庫や本棚など「寄りたい対象」ごとに専用Camera Shot(Fixed Position)を作り、調べ始めに
Change To Shot、離れる時にRevert to Previous Shot - Dialogue中のカメラ固定:Dialogueの On Start で
Is Controllable = false、On End で戻す
セーブとロード
- タイトルメニューButton:
Save Game (slot=1)/Load Game (slot=1)/Delete Game (slot=1) - PlayerにRememberコンポーネントを置き、Transform、Bagを Memoryに追加
- Global VariablesのSaveチェックボックスをONにして、パズル進捗を保存
シーン遷移
- 脱出成功時のDoorFront Triggerで
Transition to Scene(Transitions Extension) - Nextシーン
OutsideにエンディングDialogueを配置 - エンディングDialogueのOn Finishで
Load Scene→ タイトル戻り
実装順序(推奨)
- シーン・Player・Cameraのセットアップ
- Inventory導入、アイテムとBag UIの動作確認
- 1つだけTrigger+Dialogue+Add Itemを実装(動作確認)
- 残りのインタラクト対象を横展開
- 金庫パズル(Variables+UI InputField)
- ドア開錠とシーン遷移
- Remember/Save & Load対応
- DialogueのヒントNPCと演出カメラ
- SE・BGM(Play UI Sound/Play Ambient)
- Transitions演出と仕上げ
コツと落とし穴
- TriggerのUse Raycast:プレイヤーと対象物の間に壁があると反応させない設定で自然に
- HotspotのTarget = Player を忘れない
- ItemのPrefab未設定ではDrop Item不可。拾うだけのアイテムなら不要、落としたいなら設定
- パスワード比較で大文字小文字:InputFieldからのテキストは
Join/Set Textで正規化する - Dialogue中のキャラ入力遮断:
Is Controllable = falseをセット - Rememberの順序:ParentのTransformをセーブしたいならChildのRememberより親が先に読まれる構造にする
- Save対象外の型:GameObject参照変数は保存不可。代替ID(string)を保存する
応用アイデア
- Perception導入で徘徊する管理人を追加し、見つかるとゲームオーバー(ホラー系へ拡張)
- Statsで「正気度」Attributeを追加し、暗い部屋にいると減っていく演出
- Questsに置き換えて、部屋ごとにTaskを順次開放するストーリードリブン構造に
- Localization導入で多言語対応
2. ボクシングゲーム(Melee + Stats + Behavior)
ゲーム仕様
- 視点:三人称サイド寄りカメラ(リング周回)
- ルール:3ラウンド制。各3分。HPかDownカウントで決着
- 操作:ジャブ/ストレート/フック/アッパー、ガード、バックステップ、ウィーブ
- AI:Behavior Treeでジャブ主体→隙あらば大振り、ガード/回避も行う
- 勝敗:HP 0でKO、3回ダウンでTKO、時間切れで判定
使うモジュール
| モジュール | 用途 |
|---|---|
| Core(Characters/Cameras/Visual Scripting/Variables) | 基本動作 |
| Melee | パンチ/ガード/コンボ/ダメージ/Reaction |
| Stats | HP、Stamina、Damage Formula、Down Count |
| Behavior | 敵AI(Behavior Tree) |
| Cameras | Lock Onベースのリングカメラ |
プロジェクト初期セットアップ
- Game Creator 2 + Melee + Stats + Behaviorをインストール
Game Creator > Install...でMelee ExamplesのBrawlテンプレをインポート- リングGameObject(Plane上にロープ・ポスト・床)を配置
- PlayerとEnemyをそれぞれ
Player/Characterで生成 - Lock On Shotを採用:Anchor = Player、Look Target = Enemy
Stats設計
Attribute:
| Attribute | Max | 説明 |
|---|---|---|
hp | max_hp | 体力 |
stamina | max_stamina | パンチ/回避で消費 |
Stat:
| Stat | Base | 説明 |
|---|---|---|
max_hp | 100 | HP上限 |
max_stamina | 100 | スタミナ上限 |
attack | 10 | 攻撃力 |
defense | 5 | 防御力 |
down_count | 0 | ダウン回数 |
Class:Boxer に上記Stat/Attributeをすべて含め、Player/Enemyそれぞれに Traitsコンポーネントで割当てます。
ダメージFormula
max[ 1, source.stat[attack] * source.var[current_power] - target.stat[defense] ]
current_power はSkill側で設定するLocal Variable(ジャブ0.5、フック1.0、アッパー1.5等)です。
Meleeアセット構成
Weapon(素手):ID fists、Shield Boxing Guard、Hit Reaction HitFlinch、On Equip で拳のColliderプロップを両手にAttach Prop、Combos BoxerCombo
Shield(ガード):Angle 160°、Parry Time 0.18s、Defense 50、Recovery 2/sec、Cooldown 1.5s、State Layer 7
Skillアセット:
| Skill | Power | Poise Armor | Poise Damage | 説明 |
|---|---|---|---|---|
Jab_L | 1 | 1 | 1 | 左ジャブ、スピード最速・火力最低 |
Jab_R | 1 | 1 | 1 | 右ストレート |
Hook_L | 2 | 2 | 2 | 左フック、Motion Warpで敵に軽くスナップ |
Hook_R | 2 | 2 | 2 | 右フック |
Uppercut | 3 | 3 | 3 | アッパー、ダウン誘発要素あり |
BodyBlow | 1 | 1 | 2 | ボディ、ガード貫通に強い |
Dodge_Back | - | - | - | ダッシュバック(スタミナ消費) |
Weave_L/R | - | - | - | 左右ウィーブ(パリィ判定内で無敵) |
各SkillのSequencer:Anticipation 0.1〜0.25s、Strike 0.05〜0.1s(Strikerを拳のSphere、Predictions=3)、Recovery 0.3〜0.6s。Animation Cancel Trackで Recovery後半はWeave/Dodgeでキャンセル可能です。
SkillのOn Hit(Self = 攻撃者、Target = 被弾者):Change Attribute (target.hp, -Formula) + Change Attribute (self.stamina, -2)
ダウン誘発はReactionで実現します。Knockdown ReactionのMin Powerを3に設定し、Power 3のSkill(Uppercut)命中時に自動発動。ReactionのOn Enterで Change Stat (target.down_count, +1) を実行します。
Combo(BoxerCombo):
Root
├── Tap A → Jab_L
│ └── Tap B → Jab_R (ワン・ツー)
│ └── Tap A → Hook_L (ワン・ツー・フック)
├── Tap B → Jab_R
│ └── Tap A → Hook_L
├── Tap C (Charge) → Uppercut (溜め0.4sで発動)
└── Tap D → BodyBlow (Anytime)
Input Bufferは0.4s(Set Buffer Window)です。
Reaction:
HitFlinch:小フリンチ(Min Power 0)HitStagger:Min Power 2、後退+カウンター誘発Knockdown:Min Power 3、床に倒れるアニメ。On EnterでSet Stat (down_count, +1)Parried:パリィ後の硬直。カウンター受付時間を長めに設定
Inputマッピング
On Input Button(Left Click)→Input Execute(A)On Input Button(Right Click)→Input Execute(B)On Input Button(Shift Hold)+ Release →Input Charge(C)/Input Execute(C)On Input Button(Space)→Input Execute(D)(ボディ)On Input Button(Q)→Start Blocking/ ReleaseでStop BlockingOn Input Flick(Move Left/Right)→Play Melee Skill(Weave_L/R)(Blocking中のみ)
カメラ設定
- Lock On Shot:Anchor Player、Look Target Enemy、Distance 3.0m、Offset (0, 1.6, 0)
- Shake演出:大技命中時のOn Hitに
Shake Camera Burst(Magnitude 0.3、Duration 0.2) - カットイン:Uppercut直前に専用Camera Shotに
Change To Shot、終了後Revert to Previous Shot
敵AI(Behavior Tree)
ProcessorとGraph EnemyBoxerBT.asset をEnemyに設定します:
Entry
└── Selector
├── Sequence [Threat: Player Attacking & Stamina > 20]
│ ├── Check Condition: In Attack Phase (target=Player, Phases=Anticipation/Strike)
│ ├── Selector (60% Block / 40% Weave)
│ │ ├── Task: Start Blocking
│ │ └── Task: Play Melee Skill(Weave_L or R)
├── Sequence [Counter: Player Recovery]
│ ├── Check Condition: In Attack Phase(target=Player, Phases=Recovery)
│ ├── Task: Input Charge(C); Wait 0.5s; Input Execute(C) (アッパー)
├── Sequence [Pressure: HP > 30%]
│ ├── Move To Player (Stop Distance=1.4)
│ ├── Input Execute(A); Input Execute(B); (ワンツー)
├── Sequence [Defensive: HP <= 30%]
│ ├── Move To BackCorner
│ ├── Start Blocking
Blackboard:target(Game Object)= Player、aggression(Number)= 0〜1(HPが減ると下がる)
Stats UI
- HUDに
Attribute UI(hp、stamina)を2つずつ(Player/Enemy) - Transition ON(Stall 0.3s、Transition 0.6s)で「遅れて減るバー」演出
- Down Count UIは
Stat UIでdown_countを表示し、3でマッチ終了
試合フロー(Visual Scripting)
| 変数 | 型 | 用途 |
|---|---|---|
round | Number | 現在ラウンド |
round_time | Number | 残り秒 |
is_ko | Boolean | KO判定 |
match_result | String | player_win / enemy_win / draw |
- ラウンドタイマー:Match Controller の
On Startでround = 1、round_time = 180。On Interval(1.0s)でround_time -= 1 round_time <= 0→ ラウンド終了:round++、Stamina回復、round <= 3なら次ラウンド、そうでなければ判定- KO判定:
On Stat Change(down_count)でdown_count >= 3ならis_ko = true。On Attribute Change(hp)で hp <= 0 も同様 - 判定勝ち:残HPと与ダメ総数(Stat
damage_dealt)を比較してmatch_resultを決定
ゲーム開始〜終了の流れ
Titleシーンで「試合開始」ボタン →Transition to Scene(Ring)- Ringシーンの
On StartでゴングSE → Match Controller動作開始 - ラウンド中:Player/Enemyのバトル
- KO/判定 → カメラを勝者にフォーカス → 結果UI表示
- ボタン押下で
Titleに戻る
SE/BGM
- Play Ambient:群衆の歓声
- Play Music:試合BGM(ラウンド中のみ)
- Skillに Use Sound、Hit Sound、Block Sound、Parry Soundを適切に設定
- ゴングSEを
Play UI Soundでラウンド開始/終了に
実装順序(推奨)
- 床・リング・Player・Enemyを配置、Lock On Cameraで確認
- Stats(Attribute/Class)とTraits
- Meleeの Weapon、Shield、1つのSkill(Jab_L)で命中&ダメージ動作確認
- Reaction(HitFlinch)→ 被弾アニメ確認
- Combo追加(Jab_L → Jab_R → Hook_L)
- Inputマッピング一式
- Enemy用Behavior Tree(最初はシンプルに:近づいてジャブだけ)
- HUD(Attribute UI)とShake
- ラウンドタイマー、KO/判定、シーン遷移
- カットインと音響の仕上げ
コツと落とし穴
- State Layer衝突:Weapon = 5、Charged Skill = 6、Shield = 7の予約を必ず守る
- Motion Warpの距離:Hook系は
Self Close = 1.0m程度で自然。遠すぎると滑って見える - Parry Timeは短めが快感。0.15〜0.20sで調整
- Stamina消費:全攻撃/全回避に消費を入れないと単調に。0近傍でSkill実行をConditionsでブロック
- Behavior Treeは最小から:いきなりフルAIは破綻する。ジャブするだけのAI → 近づく → ガードの順で肉付け
- ReactionのCancel Time:スタンロック防止。Min Power 1〜2のReactionに0.2〜0.3sを設定
- Down Countのリセット:ラウンドまたぎでリセットするか、試合全体で継続するかを先に決める
- Lock On Cameraの角度調整で酔いを防ぐ:Offset.Y 1.6〜1.8、Smooth Time 0.2〜0.4
応用アイデア
- Perceptionで観客席の視線ビジュアル
- Questsで「10回ストレートを当てる」「5回パリィする」などチャレンジ
- Inventoryでプロテイン・グローブなどのアイテム装備 → Stat Modifier
- Dialogueで試合前後のインタビュー/実況テキスト
- マルチプラットフォーム:Inputを抽象キーA〜Hで統一し、キーボード/ゲームパッド/モバイルタッチに同時対応
3. ドラクエ風RPG(Stats + Inventory + Dialogue + Quests + Melee + Behavior)
ゲーム仕様
- 視点:三人称オービットカメラ
- 流れ:フィールド探索 → 街で情報収集・買い物 → ダンジョン突入 → ボス撃破 → クリア
- 戦闘:シンボルエンカウント(敵と接触するとバトルシーンへ遷移)+リアルタイム戦闘(Melee)
- 成長:経験値 → レベル → Stats上昇
- 要素:装備、アイテム、ポーション、クエスト、ダイアログ、セーブ/ロード
使うモジュール
| モジュール | 用途 |
|---|---|
| Core | 基本動作、Variables、Save & Load |
| Stats | HP/MP/STR/DEF/LV/EXP、Class |
| Inventory | 武器/防具/ポーション、Currency(Gold)、Merchant |
| Dialogue | NPC会話、Choice ベースの受注/報告 |
| Quests | メインクエスト、サイドクエスト、Journal |
| Melee | 戦闘(剣/杖) |
| Behavior | 敵AI |
| Cameras | Third Person / Cutscene |
| Extensions: Transitions | 戦闘突入時/シーン遷移 |
プロジェクト初期セットアップ
- 必要モジュール全てをPackage Managerからインストール
Game Creator > Install...でサンプル導入:Stats(Classes、UI)、Inventory(Items、UI)、Dialogue(任意スキン)、Quests(UI)、Melee(Sword)- シーン構成:
Title、WorldMap、Town_01、Dungeon_01_Floor1、Dungeon_01_Boss
Stats設計
Attribute:
| Attribute | Max参照Stat | 初期% |
|---|---|---|
hp | max_hp | 1.0 |
mp | max_mp | 1.0 |
Stat:
| Stat | Base | Formula | 説明 |
|---|---|---|---|
level | 1 | table.level[source.stat[exp]] | 累積EXPから計算 |
exp | 0 | - | 累計経験値 |
max_hp | 20 | 20 + 10 * source.stat[level] | レベルで拡大 |
max_mp | 10 | 10 + 4 * source.stat[level] | |
str | 5 | source.base[this] + source.stat[level] | |
def | 3 | source.base[this] + ceil[source.stat[level] / 2] | |
agi | 5 | - | 回避判定に |
Class:Hero(勇者)、Mage(魔法使い)で Base値を変えて使い分けます。
ダメージFormula:
max[ 1, source.stat[str] * source.var[skill_power] - target.stat[def] + random[-2, 2] ]
Table(EXPテーブル):Create > Game Creator > Stats > Table、タイプLinear、係数20 → LV2で20 EXP、LV3で40 EXP…
Inventory(アイテム・通貨・商店)
Currency:Gold(Coin単体、Value 1)
Itemの例:
| Item | 分類 | 用途 |
|---|---|---|
| Copper Sword | 武器(Equipment) | 装備時 Add Stat Modifier(str, +3) |
| Iron Sword | 武器 | attack +8 |
| Leather Armor | 防具 | 装備時 Add Stat Modifier(def, +2) |
| Herb | 消耗品 | On Use:Change Attribute(hp, +20) |
Equipment:Slot(RightHand、Body、Accessory)に対応するBoneを設定します。
Merchant:Town の道具屋NPCに Bag + Merchant。Stock、Buy Rate 1.0、Sell Rate 0.5。NPCのTrigger On Interact で Open Merchant UI を実行します。
Dialogue(会話)
村人NPC:Randomノードで挨拶を毎回違うセリフに。Tag Visitedで「初めて話す/2回目以降」を分岐します。
クエストNPC(村長):
- Text:「村が魔物に襲われている…勇者よ、洞窟のボスを倒して欲しい」
- Choice:「引き受ける/断る」
- 引き受ける → Instructionで
Quest Activate(MainQuest_01) - 報告用Textノード(Conditions:
Is Quest Completed == true)で勝利セリフとChange Currency(+500)
情報提供NPC:特定のフラグ(Global Name Variable)を条件に出すセリフを切替。動的値で {player-name} の名前差込も可能です。
Quests(クエスト)
**MainQuest_01「古代の洞窟」**のTasks:
- 村長に話す(完了済み)
- 古代の洞窟へ向かう(POI:洞窟入口)
- ボスを倒す(
On Dieで Task Complete) - 村に戻り村長に報告
Journal:PlayerにJournalコンポーネント、Tracking Mode = Multiple、RememberにJournal memoryを追加します。
UI:Quest List UI、Indicator UIで「次の目的地」アイコンを表示します。
フィールドと敵
シンボルエンカウント:敵Prefabをフィールドに配置。Triggerの Event On Trigger Enter Tag(Tag = Player)で発火時に Transition to Scene(Battle_01) を実行します。
戦闘シーン:Player(Hero)とEnemy(動的にSpawn)が対峙。MeleeのSword Weaponを装備してプレイヤー操作で斬りつけ、EnemyはBehavior Treeで追従&攻撃します。
戦闘結果:Enemyの On Die で EXP加算、Currency加算、Loot TableでHerbドロップ。Level Up判定で hp/mpをFull回復。勝利Dialogue → 直前のフィールドへTransitionします。
Player死亡:hp = 0 で On Attribute Change(hp) を拾い、タイトルまたは教会リスポーン(所持金半減)に遷移します。
Behavior(敵AI)
雑魚敵Slime:
Entry
└── Selector
├── Sequence (HP < 20%)
│ └── Task: Flee (Move To AwayFromPlayer)
├── Sequence (Player in range < 2m)
│ └── Task: Play Melee Skill(BiteAttack)
└── Task: Move To Player
ボスCave Lord:
Entry
└── Selector
├── Sequence (HP < 30%, Enraged not yet)
│ ├── Task: Play Gesture(RoarAnim)
│ └── Task: Add Status Effect(Enraged)
├── Sequence (Player in Range)
│ └── Selector
│ ├── Task: Combo Attack 1-2-Uppercut (70%)
│ ├── Task: AOE Skill "Shockwave" (30%)
└── Task: Move To Player
EnragedはStatus Effectで Str +10、速度上昇、全攻撃Hit Reactionを強化します。
レベルアップ演出
PlayerにTrigger(Event = On Stat Change、Stat = level)を配置。exp が加算されるとFormula経由で level が再計算され、値が変わった時点で発火します。
発火時:Play UI Sound(LevelUp) → Dialogueポップ「レベルアップ!」 → hp/mpをMax回復
セーブ&ロード
- タイトル/教会/宿屋メニューに
Save Game(slot=1)ボタン - PlayerのRememberにTransform、Bag、Journal、Statsを登録
- Global Name VariablesのSaveをすべてON
UI構成
- HUD:Attribute UI(hp/mp)、Stat UI(level/gold)
- ポーズメニュー:Tab切替(Status/Inventory/Quests/Options)
- ダイアログ:Dialogue Skin
- 戦闘結果:EXP/Gold獲得ウィンドウ
カメラ演出
- フィールド:Third Person Shot(Orbit、Playerを Target)
- 会話中:ActorとPlayerを映す固定位置Shotに切替
- ボス戦突入:カットイン用Animation Shotをボスに向けて再生 → 戻す
シーン構成とフロー
Title
├─ 「はじめから」 → WorldMap へ Transition
├─ 「つづきから」 → Load Game(slot=1)
└─ 「設定」 → Options
WorldMap
├─ Town_01(NPC多数、Merchant、宿屋で全回復)
├─ Dungeon_01_Floor1(雑魚敵、宝箱)
└─ Dungeon_01_Boss(ボス戦BT発動)
Battle_01(シンボル戦闘用の共通バトルシーン)
└─ 戦闘終了 → 前シーンへ戻る
実装順序(推奨)
- Stats:Hero Class、hp/mp/level/exp、Formula、Table、UI
- Player移動、Third Person Camera、フィールド探索
- Inventory:Item/Bag/Wealth UI
- 1人のNPCとDialogue、会話からQuest Activateを確認
- Quests:MainQuest_01のタスク階層とUI
- Melee:Sword Weapon、基本Skill、ダメージ算出確認
- Behavior:Slime BT、ボスBT
- シンボルエンカウント → Battleシーン遷移
- 勝敗処理、EXP/Gold/レベルアップ
- Merchant/宿屋/教会(リスポーン)
- Save & Load、Title/Options
- 演出(Transitions、カメラ、SE/BGM)、仕上げ
コツと落とし穴
- Stat参照のID命名規約を最初に決める。タイポでFormulaが0扱いされて発見が遅れる
- Formulaの循環依存:Statsは警告しないので、
max_hpFormulaにhpを入れる等のループを作らない - Level Up検知:
levelはFormulaで計算されるのでOn Stat Changeで拾える。手動でChange Statしないほうが安全 - RememberにJournalを入れ忘れるとクエスト進捗が消える
- Battleシーン遷移時にPlayerのhp/mpを保持したい → Globalとして持つか、Transition時にLocal → Globalコピーを挟む
- Behavior Graphはランタイム差替え不可:敵の種類ごとにGraphを分ける
- Status EffectのMax Stack 1:ボスのEnragedなど二重付与を防ぐ
- QuestのProperty Counter活用:「ポーション5個収集」をInventoryと自動連動できる
- DialogueのGlobal Dynamic Valueでプレイヤー名を全会話に流し込む
応用アイデア
- Perception導入で「敵がプレイヤーを発見して追いかけてくる」ステルス要素
- Localizationで多言語対応
- Shooterを部分導入して弓矢使いキャラを追加
- コンパニオン:2体目のCharacterをNPCモードでFollowさせ、戦闘時はBehavior Tree自動実行
4. サバイバルクラフト(Inventory + Stats + Perception + Behavior + Melee)
ゲーム仕様
- 視点:三人称(Fキーで一人称切替も可)
- コアループ:
- 昼:木・石・食料を採取
- 夜:敵(ゾンビ等)が襲ってくる。拠点で迎撃
- クラフト:素材を組み合わせて道具・武器・建材
- 建築:自由配置できる壁・ドア・ベッド
- 生存ステータス:HP/Hunger/Thirst/Stamina を管理
使うモジュール
| モジュール | 用途 |
|---|---|
| Core | 基本、Variables、Save & Load |
| Inventory | 資源・道具・建材・クラフト(Tinker) |
| Stats | 生存ステータス、Status Effect |
| Melee | 斧・石ピッケル・棍棒などの近接武器 |
| Shooter(任意) | 弓矢や投石 |
| Perception | 敵からの視覚/聴覚検知 |
| Behavior | ゾンビAI |
| Cameras | Third Person、一人称切替 |
プロジェクト初期セットアップ
- 上記モジュールをPackage Managerからインストール
Game Creator > Install...:Inventory(Items、UI、Examples)、Stats(Classes、UI)、Perception(UI、Examples)、Behavior(Examples)- シーン
World_01:広大なPlaneにプロシージャル風の地形/木/岩/水辺を配置 - Player作成、Third Person Camera、Locomotion Speed 4、Sprint State 6
Stats(生存ステータス)
Attribute:
| Attribute | Max | 説明 |
|---|---|---|
hp | max_hp | 体力 |
stamina | max_stamina | 走り/採取で消費 |
hunger | max_hunger | 空腹ゲージ。0でHP減少 |
thirst | max_thirst | 喉の渇き。0でStamina回復停止 |
temp | max_temp | 体温。夜に下がる、焚き火で回復 |
Stat:max_hp、max_stamina(100固定)、max_hunger、max_thirst(100)、max_temp(100、既定50)、harvest_power(採取効率)、craft_speed(クラフト速度)
時間経過での減少(Master Trigger On Interval(10s)):hunger -1、thirst -1.5、夜(time_of_day > 0.8)は temp -2
Status Effect:
Bleeding:Duration 30s、While Activeで hp -1/sPoisoned:Duration 60s、While Activeで hp -0.5/s、Save ONOvereaten:Duration 20s、Stat Modifierで stamina recovery 50%低下Warm:焚き火近くで付与、Duration 10s、On Endで再付与(近接中)
低ステータスの影響:hunger <= 0 で Status Effect Starving を常時付与(hp -1/s)。thirst <= 0 で stamina回復停止。
Inventory(資源/道具/建材)
分類Item(継承の親):Resource、Tool(Is Equipable)、BuildingPart、Food(Is Usable)、Ammo_Arrow
具体Itemの例:
| Item | 親 | 効果 |
|---|---|---|
| Wood | Resource | 建材・クラフト素材 |
| Stone | Resource | 石器素材 |
| Fiber | Resource | 紐・弦 |
| Berry | Food | On Use:hunger +15 |
| WaterBottle | Food | On Use:thirst +30 |
| StoneAxe | Tool | 装備時 harvest_power +5 |
| WoodenBow | Tool(Shooter) | 弓 |
| Arrow | Ammo | 弓の弾薬 |
| Wall | BuildingPart | 建築配置用 |
Bag:PlayerにBag(List、Max Weight 50kg)。Equipmentアセットに「メイン手」「オフハンド」「頭/胴/足」スロットを設定します。
採取システム
リソースオブジェクト(木・岩・ベリー茂み・水源)にTrigger(On Interact)+ Hotspot + Stats(耐久)を設定します:
Branch 1(条件:Player が StoneAxeを装備中 かつ Self.hp > 0):
Play Gesture(ChopAnim)
Wait Seconds(0.5)
Change Attribute(Self.hp, -10)
Play Sound Effect(ChopSE)
Change Attribute(Player.stamina, -2)
Branch 2(条件:Self.hp <= 0):
Set Active(Self, false)
Add Item(Wood, 3) to Player.Bag
Emit Signal("tree_chopped")
採取動作キャンセル:PlayerのBusyシステム(Arm Rightを Busy化)で他アクションと競合しないようにします。
クラフト(Tinker)
各完成品Itemの Crafting セクションでレシピを定義:
Wooden Bow:Wood ×3、Fiber ×2Stone Axe:Wood ×2、Stone ×3、Fiber ×1Wall:Wood ×4
Tinker UI:Workbench(作業台)のOn Interact → Open Tinker UI。Filter ItemでTool親型(Tool専用工房)やBuildingPart(建築台)を分けます。
クラフト成功:On Craft イベントでクラフトSE、Stamina微減、経験値加算。craft_speed Statでクラフト時間を短縮します。
建築システム
- Player手元に「ホログラムPrefab」を生成して位置・回転を操作
- マウスホイールで回転(
Change Rotation) - クリックで確定 → Destroyホログラム、Instantiate本物
Remove Item(Wall x4)で素材消費
有効/無効判定:Physics系Condition(Raycast 3D等)で他オブジェクトと重ならないか、地面接地を判定します。
建築物の耐久とセーブ:各建築Prefabに Stats(hp)付き、Rememberコンポーネントで位置・回転・耐久をセーブします。
時間サイクルと敵出現
- Global Name Variables:
time_of_day(0〜1)、day_count - Master Trigger
On Interval(1s):time_of_day += 1/1200(=20分で1日) - 1.0超えたら
day_count += 1、time_of_day = 0 - 環境光の輝度(Change Global Luminance)とスカイボックスMaterialをフェード
time_of_day > 0.8 && time_of_day < 1.0のときSpawn ZombieをOn Interval(15s)で実行。Spawn位置はPlayerから30〜50m離れた地点
敵AI(Behavior Tree)
Zombie基本:Character + Perception(Sight + Hearing)+ Traits + Processor
Entry
└── Selector
├── Sequence (Awareness >= Aware)
│ ├── Move To Player
│ └── Play Melee Skill(BiteAttack, if range < 1.5)
├── Sequence (Awareness >= Suspicious)
│ └── Move To LastKnownPosition
└── Task: Wander
複数ゾンビ連携:Relay Awareness Knowledge で群れがPlayer発見を共有します。到達したZombieの On Die で別TriggerがEXP加算します。
犬(プレイヤーペット):友好Character。Follow Player。Perceptionで敵を検知したら Add Target Candidate でPlayerの候補に追加します。
戦闘
Melee:StoneAxe/Wooden ClubのWeaponアセット。Skill:軽攻撃(Swing)/重攻撃(Chop)。Strikerは手元の斧頭にCapsule Striker。Reaction:Hit(小)/Stagger(大)/Knockdown。
Shooter(弓):Wooden Bow Weapon、Fire Mode = Charge(Min 0.3s、Max 1.5s)。Projectile = Kinematic、Wind Influence 0.5。Ammo = Arrow(Inventory Item連動)。
UI
- HUDに Attribute UI:hp/stamina/hunger/thirst/temp
hunger < 20ならStatus Effect List UIに「空腹」アイコン- Attribute UIのStall Transitionで減衰バー演出
セーブ&ロード
- Bed(ベッドPrefab)Trigger On Interact:昼なら「夜まで眠るか?」 → 選択で
time_of_day = 0.85。夜なら翌朝までスキップ。Save Game自動実行 - Player Remember:Bag/Traits/Transform/Status EffectsをMemoryに追加
- Global Variables(time_of_day/day_count)もSave
シーン構成
Title:New Game/ContinueWorld_01:本体(地形・NPC拠点・リソース・敵スポナー)- 死亡時:
RespawnシーンへTransition → World_01再読込(ベッド位置)
Questでチュートリアル(任意)
Quest Survival BasicsのTasks:木を5本切る → Stone Axeをクラフト → Shelterを建築 → 夜を1回耐える。Property CounterでBag所持数/建築物の数にリンクします。
実装順序(推奨)
- Player、Third Person Camera、基本移動
- Stats(hp/stamina/hunger/thirst)とHUD UI
- Intervalで Hunger/Thirst減少、閾値Status Effect
- Inventory:Bag/Wood/Stoneの採取(Triggerでのリソース破壊+Add Item)
- クラフト:Wall/Stone AxeのレシピとTinker UI
- 建築システム(ホログラム+確定/素材消費)
- 時間サイクル(Change Global Luminance)と夜判定
- ゾンビSpawn、Behavior Tree最小版、Melee戦闘
- Food Item(Berry食す、WaterBottle飲む)
- Bedでのセーブ&時間スキップ
- Perception、敵連携、犬コンパニオン
- 弓(Shooter)とクラフトレシピ
- Questチュートリアル
- 演出、SE、BGM、仕上げ
コツと落とし穴
- Weight制限のUX:OverloadedのTrigger
On Addで現状重量をHUDにリアルタイム表示しないとプレイヤーが困惑 - リソースの再生成:木が復活してほしいなら
On Interval(300s)でSet Active(true)で復活 - 建築の衝突判定:Overlap 3Dで他建築とPlayer/敵のプレースメント除外
- Zombieの大量発生:フレームレート対策でPerceptionのUpdateをIntervalに
- ステータス補正の順序:Stat Modifierは% → 固定値の順。装備でattack +20%と+5を掛けるときに把握
- Status EffectのSave:効果の残り時間を保ちたいときはSave ON、起きた時点でリセットしたければOFF
- Temperature:焚き火の近接をHotspot Radiusで検知し、中にいる間だけWarmを更新。外れたらForget Delay経由で解除
- Craft中のキャンセル:Tinker UI Open中に襲撃された時はUIを強制Close
- 夜間スポーン範囲:地面判定、プレイヤー視界外を確認
- Horror色を強めるなら:PerceptionのHearing/Smellを足音・血臭に活用、Dynamic Dinで雷雨演出
応用アイデア
- LocalizationでUI/アイテム名を多言語化
- Quests拡張:バイオーム別ボスをメインクエストに
- Stats Formulaに温度要素を入れて「凍傷でdef低下」
- PerceptionのEvidence:プレイヤーが塞いだドアが破壊されたことをゾンビが認知して迂回する
5. Apex風FPS(Shooter + Stats + Inventory + Perception + Behavior)
ゲーム仕様
- 視点:一人称(First Person Shot、IKでアイアンサイト精密)
- 操作:WASD移動/スプリント/スライディング/ジャンプ/リーン/リロード/Quick Reload
- HP構造:Shield(100、再生なし、バッテリーで回復)+ HP(100、薬で回復)
- 武器:Primary/Secondary 2本同時装備、スイッチ切替
- アビリティ:Tactical(クールダウン付き)、Ultimate(ゲージ制)
- AI敵:Behavior Treeで遮蔽移動+射撃
使うモジュール
| モジュール | 用途 |
|---|---|
| Core | 基本、Variables、Save & Load(設定のみ) |
| Shooter | 武器・弾薬・リロード・サイト・リコイル |
| Stats | HP/Shield/Ammo Pool/アビリティクールダウン |
| Inventory | 装備スロット・弾薬・回復アイテム |
| Cameras | First Person Shot |
| Perception | 敵の視覚・聴覚(足音・銃声) |
| Behavior | 敵AI(Behavior Tree) |
プロジェクト初期セットアップ
- 対象モジュールすべてをPackage Managerからインストール
Game Creator > Install...:Shooter(Examples、Weapons)、Stats(Classes、UI)、Inventory(Items、UI)、Perception(UI、Examples)- シーン
Arena_01:狭めの屋内/屋外複合マップ、コライダー完備 - Player作成 → Driver = Character Controller、Speed 6、Sprint State 9
- Camera Shot = First Person、Optics = Head Bone、Head Bobbing/Leaning ON
Stats(HP/Shield/アビリティ)
Attribute:
| Attribute | Max | 説明 |
|---|---|---|
hp | max_hp(100) | 本体HP |
shield | max_shield(100) | 回復式シールド |
ult_charge | max_ult(100) | アルティメートゲージ |
Stat:max_hp、max_shield、max_ult、tactical_cd(残秒)、move_speed_mod
ダメージ処理Formula:
max[ 1, source.var[weapon_damage] - target.stat[def] ]
被弾時はShield → HPの順に削る設計です。被弾Trigger(On Shoot Hit)で shield > 0 ならshieldから減算し、オーバーフローはhpに流します。
回復:
Shield Battery:On Useで Busy化 + Play Gesture + 3s後 shield +50Syringe:5s後 hp +25Phoenix Kit:両方100回復(長い詠唱)
Status Effect:Knockdown(HP 0で発動、Move Speed 1、射撃不可。final_hpが0で死亡)
Inventory構成
EquipmentのSlot:Primary、Secondary、Helmet(Shield Modifier +20)、BodyArmor(+40/+60/+80)、Consumable_1/2/3(ホットバー)
弾薬Item:LightAmmo、HeavyAmmo、ShotgunShell、SniperAmmo(Stacking可、重量あり)
武器Item:Inventory の Itemとして登録(Prefab付き)。On EquipのInstructionsで Equip Shooter Weapon を呼びShooter側を装備します。
Shooter:武器セットアップ
共通構成:ID一意、Fire AnimationはHuman IK+手続きRecoil、Sight = Camera Center with Raycast、Biomechanics = Human IK(Scope Through ON)
武器例:
| 武器 | ID | Fire Mode | Projectile | Ammo | Magazine | Spread |
|---|---|---|---|---|---|---|
| R-301 | assault_rifle | Full Auto | Raycast | LightAmmo | 30 | 中 |
| Volt | smg_volt | Full Auto | Raycast | LightAmmo | 24 | 大 |
| EVA-8 | shotgun_eva8 | Single(Pellets=8) | Raycast | ShotgunShell | 6 | 大 |
| Longbow | sniper_longbow | Single | Raycast | SniperAmmo | 6 | 0 |
| Wingman | pistol_wingman | Single | Raycast | HeavyAmmo | 6 | 中 |
Recoil:R-301はX=0.2°/Y=1.2°、Recover 2/s。Longbowは X=0.1°/Y=2.5°、Recover 1/s
Sight:IronSight(既定)、HoloSight、1xScope〜4xScope。Scroll Wheelで Set Sight ID 切替。ADS時FOV 90→60
Ammo Pool:Ammoアセットの Value = InventoryのItem所持数。リロードするとマガジンに、所持数から引かれます。
Reloadアセット:Reload_AR(アニメ2s、Magazine Track、Quick-Reload Track 0.5s枠)
入力マッピング
| キー | 動作 |
|---|---|
| WASD | 移動 |
| Shift | スプリント |
| Space | Jump |
| Ctrl | スライディング/しゃがみ |
| Q | Tactical ability |
| Z | Ultimate ability |
| E | Interact |
| R | Reload Weapon |
| 左Click | Pull Fire Trigger / Release Fire Trigger |
| 右Click | Set Sight ID(ADS) |
| 1 / 2 | Primary / Secondary切替 |
| 3/4/5 | Consumable使用 |
| V | 武器切替(Swap) |
| Tab | インベントリ |
アビリティ実装
Tactical:スモーク
- 使用時:前方にSmoke Prefab Instantiate、Emit Noise、数秒後Destroy
- Cooldown:
tactical_cd = 20、Intervalで減らす
Ultimate:AoE攻撃
ult_charge >= max_ultの時のみ発動可- Charge消費 → Play Gesture → 着弾地点にOverlap Sphere → 命中Characterに hp -50 → Shake Camera Burst
ult_chargeの貯め方:キル(On Die)+20、ヒット(On Hit)+1、時間経過(On Interval(10s))+2
カメラ
- FPS Shot:First Person Shot、Target = Player、Bone = Head、Head Bobbing(歩行で小、スプリントで大)
- Hit Marker:命中時 On Hit で画面中央のUIアイコンを0.2sフラッシュ
- 被弾方向インジケータ:PlayerのOn Shoot Hitで攻撃者方向から赤いアーク表示
- ノックダウン時:Camera Shotを切替(下向き、Shake少)
敵AI(Behavior Tree)
Enemy Character:Traits(Class: Soldier)+ Perception(Sight + Hearing)+ Processor
Entry
└── Selector
├── Sequence (HP < 30%)
│ ├── Move To NearestCover
│ └── Task: Use Heal Item
├── Sequence (Can See Player)
│ ├── Task: Face Player
│ ├── Task: Pull Fire Trigger (Interval 0.2s) until magazine empty
│ └── Task: Reload Weapon
├── Sequence (Heard Noise)
│ └── Move To LastKnownPosition
└── Task: Patrol Waypoints
Perception設定:Sight Primary cone 60°/25m、Peripheral +30°/+5m、Use Luminance ON。Hearing Min 0.1 / Max 1.0、Decay 2s。Playerの射撃はOn Shootで Emit Noise(Intensity 0.9, Radius 40, Tag "gunshot")
チーム連携:1人がAwareになったら Relay Awareness Knowledge で近傍敵に伝播
UI構成
- HUD:HP・Shieldバー(Attribute UI)、武器アイコン+弾薬(Ammo UI)、Tactical・Ultimateアイコンとクールダウン、Crosshair UI、Mini-Map
- インベントリ:Bag UI、Equipment UI、Wealth UI
- ダメージ表示:命中時に数字をInstantiateで表示(Floating Text)
- Kill Feed:Signal
kill_eventを受けて更新
マッチ進行
| 変数 | 型 | 用途 |
|---|---|---|
kills | Number | キル数 |
deaths | Number | 死亡数 |
match_time | Number | 残秒 |
match_state | String | warmup / active / end |
フロー:
- Warmup:カメラがマップ俯瞰をAnimation Shotで流す、カウントダウン5s
- Active:Player操作開始、
On Interval(1s)でmatch_time -= 1 match_time == 0:終了。Transition to Scene(Result)で集計画面
セーブ(設定のみ)
- マッチ進行自体はセッションのみ(スロット不要)
- 感度/キーバインド/FOV等はスロット0(共有設定)で保存
IsShared = trueのGlobal Variablesを作成し、OptionsUIのApplyでSave Game(0)
シーン構成
Title
├── Play → Arena_01 へ Transition
├── Training → Rangeシーン(的+Merchant)
├── Options → 設定編集 → Save(slot=0)
└── Quit
Arena_01
├── Warmup → Active → End
└── End → Result → Titleへ戻る
Range
└── 練習用、Merchant、弾薬無限オプション
実装順序(推奨)
- Player(First Person Camera)・移動・Sprint・Jump・Lean
- Shooter:1武器(R-301)を装備して射撃・リロード・Recoil
- Stats(HP/Shield)と被弾処理(Shield → HP)
- Ammo PoolのInventory連動
- Sight切替(IronSight / 2xScope)
- 2本目の武器(Wingman)とSwap
- 回復アイテム(Shield Battery/Syringe)
- Tactical/Ultimate(クールダウン+ゲージ)
- 敵Character + Perception + Behavior Tree(最小)
- Hit Marker/被弾方向/ダメージ数字
- マッチタイマー・勝敗集計・Transition
- Options/設定のセーブ、キー再マップ
- サウンド・Muzzle Flash・Shell排出・Killfeed
- 最終バランス調整、パフォーマンスチューニング
コツと落とし穴
- SightのHuman IKはFPS必須。第三者視点混在ならSightを切替
- Fire RateとFire Audioのループ処理:Full AutoはLoad Loopを使い、Loop停止の徹底を
- Recoilパターン:Weapon の Recoil X/Y値は固定。ランダム性はAccuracy KickとSpread Biasで揺らぎを表現
- Projectile = Raycast:最も性能が良いが、弾速を見せたければLine Rendererで擬似化
- ShieldとHPの分離:同じAttributeにしないのが肝心。UI表示も別バーに
- ノックダウン:hp <= 0で即死ではなくKnockdown Status Effectに移行させるとチーム戦要素を入れやすい
- Ammo Poolの同期:Magazine Sizeとは別に、Ammo Itemの所持量と矛盾しないか確認
- 敵PerceptionのLuminance:暗所で発見しにくくするならUse Luminance ON、Dim Threshold 0.2推奨
- 敵のRelay:連動が速すぎると理不尽。遅延0.5sを挟むと自然
- カメラ酔い:Head Bobbing強すぎに注意。Intensityを小さく、ADS時は一旦OFFに
- 60 FPS維持:敵PerceptionのUpdateをIntervalに、Spatial Hashで物理負荷を抑える
- Quick Reload:グリーン枠を0.3〜0.4s、成功時のSEを明確に
応用アイデア
- LocalizationでUI/武器名を多言語化
- InventoryのSocketsでアタッチメント(スコープ/バレル/ストック)を武器に挿すシステム化
- Behavior:GOAPでもっと賢いAI(Reload → Heal → Flankの自動計画)
- Dialogueでキャンペーンモード(ミッション型)を追加
- Questsで「10キル達成」「ヘッドショット5回」などデイリーミッション
- Melee併用:近接武器(ハンマー)をMeleeモジュールで追加
公式リンク
- Game Creator 2 公式ドキュメント
- Game Creator 2 — Unity Asset Store
- Inventory 2 | Game Creator 2 — Unity Asset Store
- Dialogue 2 | Game Creator 2 — Unity Asset Store
- Stats 2 | Game Creator 2 — Unity Asset Store
- Quests 2 | Game Creator 2 — Unity Asset Store
- Behavior 2 | Game Creator 2 — Unity Asset Store
- Perception 2 | Game Creator 2 — Unity Asset Store
- Shooter 2 | Game Creator 2 — Unity Asset Store
- Melee 2 | Game Creator 2 — Unity Asset Store
まとめ
本記事では、Game Creator 2で「5つのジャンルのゲーム」を実装する手順を解説しました。
Core+Inventory+Dialogueの3モジュールだけで脱出ゲーム、Melee+Stats+Behaviorで格闘ゲーム、さらにQuests・Perception・Shooterを加えればRPG・サバイバル・FPSまで実現できます。
Game Creator 2はアセットベースの設計なので、各モジュールを段階的に追加していくことで、同じフレームワーク上でまったく異なるジャンルのゲームを構築できるのが最大の強みです。各レポートの実装順序に従い、最小構成から段階的に肉付けしていくアプローチを推奨します。
それでは次の記事も閲覧いただけると幸いです。
📚 シリーズ:Game Creator 2 完全ガイド(16/16)



