Unity

[Unity] Game Creator 2 — 5 Sample Game Implementations: Escape, Fighting, RPG, Survival & FPS

[Unity] Game Creator 2 — 5 Sample Game Implementations: Escape, Fighting, RPG, Survival & FPS

Thank you for visiting this site.

In this article, we’ll report on how to implement “five different genre games” by combining Game Creator 2 modules. For each genre — escape game, boxing, Dragon Quest-style RPG, survival craft, and Apex-style FPS — we’ll cover the modules used, design philosophy, and implementation steps.

Official documentation: Game Creator 2 Documentation

You can find a complete list of all articles in this series here:

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

1. Escape Game (Core + Inventory + Dialogue)

Game Specifications

  • Perspective: Third-person fixed camera or point-and-click
  • Rules: Escape from a locked room through items and puzzles
  • Key Elements:
    • Collectible items (keys, notes, tools)
    • Usable items (use key on lock, pry open box with crowbar)
    • Examinable furniture (information revealed via Trigger and Dialogue)
    • Password input (Global Name Variable)
    • Escape condition (door opens and scene transitions)

Modules Used

ModulePurpose
Core (Characters / Cameras / Visual Scripting / Variables / Save & Load)Player control, cameras, all game logic
InventoryItem possession and usage
DialogueInteractions with furniture and NPCs, hint display
Extensions: TransitionsScene transition effects from doors

Initial Project Setup

  1. Create Unity project → Install Game Creator 2 + Inventory + Dialogue from Package Manager
  2. Game Creator > Install... to import samples: Inventory (Items / UI), Dialogue (Skin Default)
  3. Create scene Room_01. Place floor, wall, and ceiling models with colliders
  4. Hierarchy → Game Creator > Characters > Player to create the player
  5. Game Creator > Cameras > Camera Shot to create a Third Person shot targeting the Player
  6. Place the Inventory UI prefab (Bag UI) on the Canvas

Item Definitions (Inventory)

Create items repeatedly in the Project via Create > Game Creator > Inventory > Item:

Item NameIDPurposePrefab
Rusty Keykey_rustyUnlock front doorYes
CrowbarcrowbarDestroy wooden crateYes
Torn Notenote_01Password fragmentNo
Note Papernote_02Password fragmentNo

Properties: Give Torn Note a Number Property fragment = 1, and Note Paper = 2. When they total 3, the complete password is revealed.

Bag: Add a Bag (List type) component to the Player and assign the Inventory Bag Skin to the Skin UI.

Scene Composition

Required GameObjects:

  • DoorFront (exit door): Opened with key
  • Safe (safe): Opened with 3-digit password input
  • WoodenCrate (wooden crate): Destroyed with Crowbar, key inside
  • Desk (desk): Examine to pick up Torn Note
  • Bookshelf (bookshelf): Book containing Note Paper
  • HintNPC (optional): NPC that gives hints

Set Trigger (Event = On Interact) and Hotspot (Mode = On Interaction Focus, with “Examine” text display on Spot) on all interactable objects.

Variables Design

Global Name Variables (asset) EscapeFlags:

Variable NameTypeInitial ValuePurpose
door_unlockedBooleanfalseExit door unlock flag
safe_unlockedBooleanfalseSafe unlock flag
crate_openBooleanfalseWooden crate destroyed flag
password_enteredString""Password entered by the player
password_correctString”4263”Correct answer

Remember: Add a Remember component to the Player (or a DontDestroyOnLoad root) and register Bag and Variables to Memory for save support.

Item Acquisition Logic (Example: Desk’s Torn Note)

Branch using a Conditions component on the Desk’s Trigger (On Interact):

Branch 1 (Condition: Has Item (Torn Note, 1) == false):

  1. Play Dialogue → Desk description and “opened the drawer” effect
  2. Add Item → Add Torn Note to Player’s Bag
  3. Play UI Sound (pickup sound)
  4. Play Dialogue → “Picked up” notification

Branch 2 (Empty condition = default branch): Play Dialogue → “Nothing left here”

After acquisition, either disable the Desk’s Hotspot with Set Active(Hotspot, false), or use Conditions Branch branching to “skip if already owned.”

Item Usage (Unlocking Door with Key)

DoorFront’s Trigger (On Interact):

  • Branch 1 (door_unlocked == true): Transition to Scene (Transitions Extension) to Outside scene
  • Branch 2 (Has Item (Rusty Key, 1) == true): Play Dialogue → door_unlocked = true → consume key → “The door opened!”
  • Branch 3 (Default): “A heavy lock hangs on the door”

Wooden Crate Destruction (Crate’s Trigger):

  • Branch 1: crate_open == true → “Nothing left here”
  • Branch 2: Has Item (Crowbar, 1) == true → destruction SE / particles → Add Item (Rusty Key)crate_open = true
  • Branch 3: “Can’t open it by hand”

Safe and Password Input

  • Create a 4-digit input field for Safe UI (Create > UI > InputField)
  • Safe Trigger (On Interact): If safe_unlocked == true, get contents; otherwise display Safe UI
  • On confirm button, compare typed == password_correct (Text Equals condition)
  • Match: safe_unlocked = true + success sound + close UI + Instantiate treasure inside the safe
  • No match: failure sound + Play Dialogue “That doesn’t seem right…”

Password Deduction: Torn Note says “4 and 2…” and Note Paper says “…6 and 3.” When you have both and examine them, the complete 4263 is displayed via Global Dynamic Value in Dialogue.

Using Dialogue

  • Text nodes with Actor (Narrator, etc.) and Portrait None for plain messages
  • You can present “Examine / Leave” options using Choice
  • Use Tag and Tag Visited to switch between “long explanation on first visit, short summary on subsequent visits”

Hint NPC: Add Trigger (On Interact) + Play Dialogue to the NPC. When “Give me a hint” is selected via Choice, stage-appropriate hints are given based on the current state of the safe, wooden crate, and door.

Camera Direction

  • Close-up Shot: Create dedicated Camera Shots (Fixed Position) for objects you want to zoom in on (safe, bookshelf, etc.). Use Change To Shot when examining and Revert to Previous Shot when leaving
  • Camera lock during Dialogue: Set Is Controllable = false on Dialogue On Start, restore on On End

Save and Load

  • Title menu Buttons: Save Game (slot=1) / Load Game (slot=1) / Delete Game (slot=1)
  • Place a Remember component on the Player, add Transform and Bag to Memory
  • Turn ON the Save checkbox for Global Variables to save puzzle progress

Scene Transitions

  • Use Transition to Scene (Transitions Extension) on the DoorFront Trigger upon successful escape
  • Place an ending Dialogue in the next scene Outside
  • On the ending Dialogue’s On Finish, use Load Scene → return to title
  1. Scene, Player, and Camera setup
  2. Introduce Inventory, verify Item and Bag UI operation
  3. Implement one Trigger + Dialogue + Add Item (verify operation)
  4. Expand to remaining interactable objects
  5. Safe puzzle (Variables + UI InputField)
  6. Door unlock and scene transition
  7. Remember / Save & Load support
  8. Dialogue hint NPC and camera direction
  9. SE / BGM (Play UI Sound / Play Ambient)
  10. Transitions effects and finishing touches

Tips and Pitfalls

  • Trigger’s Use Raycast: Setting this prevents reactions when a wall is between the player and the target object, making interactions feel natural
  • Don’t forget Hotspot’s Target = Player
  • Drop Item won’t work without a Prefab set on the Item. Not needed for pickup-only items; set it if you want items to be droppable
  • Case sensitivity in password comparison: Normalize text from InputField using Join / Set Text
  • Block character input during Dialogue: Set Is Controllable = false
  • Remember ordering: If you want to save a Parent’s Transform, structure it so the parent is loaded before the child’s Remember
  • Types that can’t be saved: GameObject reference variables cannot be saved. Save substitute IDs (strings) instead

Extension Ideas

  • Add a wandering guard using Perception, causing a game over if discovered (horror extension)
  • Add a “Sanity” Attribute using Stats that decreases when in dark rooms
  • Replace with Quests for a story-driven structure that sequentially unlocks Tasks per room
  • Add multi-language support with Localization

2. Boxing Game (Melee + Stats + Behavior)

Game Specifications

  • Perspective: Third-person side-angled camera (ring-circling)
  • Rules: 3-round match. 3 minutes each. Decided by HP or Down count
  • Controls: Jab / Straight / Hook / Uppercut, Guard, Backstep, Weave
  • AI: Behavior Tree — jab-focused → big swings when there’s an opening, also guards and evades
  • Win/Loss: KO when HP reaches 0, TKO after 3 knockdowns, decision on time-up

Modules Used

ModulePurpose
Core (Characters / Cameras / Visual Scripting / Variables)Basic operations
MeleePunches / Guard / Combos / Damage / Reaction
StatsHP, Stamina, Damage Formula, Down Count
BehaviorEnemy AI (Behavior Tree)
CamerasRing camera based on Lock On

Initial Project Setup

  1. Install Game Creator 2 + Melee + Stats + Behavior
  2. Game Creator > Install... to import the Brawl template from Melee Examples
  3. Place ring GameObject (ropes, posts, floor on a Plane)
  4. Generate Player and Enemy using Player / Character respectively
  5. Adopt Lock On Shot: Anchor = Player, Look Target = Enemy

Stats Design

Attributes:

AttributeMaxDescription
hpmax_hpHealth
staminamax_staminaConsumed by punches / evasion

Stats:

StatBaseDescription
max_hp100HP cap
max_stamina100Stamina cap
attack10Attack power
defense5Defense power
down_count0Knockdown count

Class: Include all the above Stats and Attributes in Boxer, and assign to both Player and Enemy via Traits components.

Damage Formula

max[ 1, source.stat[attack] * source.var[current_power] - target.stat[defense] ]

current_power is a Local Variable set per Skill (Jab 0.5, Hook 1.0, Uppercut 1.5, etc.).

Melee Asset Configuration

Weapon (bare fists): ID fists, Shield Boxing Guard, Hit Reaction HitFlinch, On Equip attaches fist Collider props to both hands via Attach Prop, Combos BoxerCombo

Shield (guard): Angle 160°, Parry Time 0.18s, Defense 50, Recovery 2/sec, Cooldown 1.5s, State Layer 7

Skill Assets:

SkillPowerPoise ArmorPoise DamageDescription
Jab_L111Left jab — fastest speed, lowest power
Jab_R111Right straight
Hook_L222Left hook — Motion Warp lightly snaps to enemy
Hook_R222Right hook
Uppercut333Uppercut — knockdown trigger element
BodyBlow112Body blow — strong at breaking through guard
Dodge_Back---Dash back (stamina cost)
Weave_L/R---Left/right weave (invincible during parry window)

Each Skill’s Sequencer: Anticipation 0.1–0.25s, Strike 0.05–0.1s (Striker as fist Sphere, Predictions=3), Recovery 0.3–0.6s. Animation Cancel Track allows canceling the latter half of Recovery with Weave/Dodge.

Skill’s On Hit (Self = attacker, Target = hit target): Change Attribute (target.hp, -Formula) + Change Attribute (self.stamina, -2)

Knockdowns are realized through Reactions. Set Knockdown Reaction’s Min Power to 3, which auto-triggers when a Power 3 Skill (Uppercut) connects. On the Reaction’s On Enter, execute Change Stat (target.down_count, +1).

Combo (BoxerCombo):

Root
├── Tap A  → Jab_L
│   └── Tap B  → Jab_R           (one-two)
│       └── Tap A  → Hook_L      (one-two-hook)
├── Tap B  → Jab_R
│   └── Tap A  → Hook_L
├── Tap C  (Charge) → Uppercut  (triggers after 0.4s charge)
└── Tap D  → BodyBlow  (Anytime)

Input Buffer is 0.4s (Set Buffer Window).

Reactions:

  • HitFlinch: Small flinch (Min Power 0)
  • HitStagger: Min Power 2, knockback + counter trigger
  • Knockdown: Min Power 3, fall-to-floor animation. On Enter executes Set Stat (down_count, +1)
  • Parried: Stagger after parry. Set longer counter-acceptance window

Input Mapping

  • 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) (body blow)
  • On Input Button(Q)Start Blocking / Release → Stop Blocking
  • On Input Flick(Move Left/Right)Play Melee Skill(Weave_L/R) (only while Blocking)

Camera Settings

  • Lock On Shot: Anchor Player, Look Target Enemy, Distance 3.0m, Offset (0, 1.6, 0)
  • Shake effect: Add Shake Camera Burst (Magnitude 0.3, Duration 0.2) to On Hit for heavy attacks
  • Cut-in: Change To Shot to a dedicated Camera Shot before Uppercut, Revert to Previous Shot after

Enemy AI (Behavior Tree)

Set up Processor and Graph EnemyBoxerBT.asset on the 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)  (Uppercut)
    ├── Sequence [Pressure: HP > 30%]
    │   ├── Move To Player (Stop Distance=1.4)
    │   ├── Input Execute(A); Input Execute(B); (one-two)
    ├── Sequence [Defensive: HP <= 30%]
    │   ├── Move To BackCorner
    │   ├── Start Blocking

Blackboard: target (Game Object) = Player, aggression (Number) = 0–1 (decreases as HP drops)

Stats UI

  • Add Attribute UI (hp, stamina) for both Player and Enemy to the HUD — two each
  • Transition ON (Stall 0.3s, Transition 0.6s) for a “delayed decreasing bar” effect
  • Down Count UI uses Stat UI to display down_count; match ends at 3

Match Flow (Visual Scripting)

VariableTypePurpose
roundNumberCurrent round
round_timeNumberRemaining seconds
is_koBooleanKO determination
match_resultStringplayer_win / enemy_win / draw
  • Round Timer: On the Match Controller’s On Start, set round = 1, round_time = 180. On On Interval(1.0s), round_time -= 1
  • When round_time <= 0 → round ends: round++, recover Stamina, if round <= 3 start next round, otherwise go to decision
  • KO Determination: On On Stat Change (down_count), if down_count >= 3 then is_ko = true. Same for On Attribute Change(hp) when hp <= 0
  • Decision Win: Compare remaining HP and total damage dealt (Stat damage_dealt) to determine match_result

Game Start to End Flow

  1. In Title scene, press “Start Match” button → Transition to Scene(Ring)
  2. Ring scene’s On Start plays gong SE → Match Controller begins operation
  3. During round: Player vs. Enemy battle
  4. KO / Decision → Camera focuses on winner → Result UI displayed
  5. Button press returns to Title

SE / BGM

  • Play Ambient: crowd cheers
  • Play Music: match BGM (during rounds only)
  • Set Use Sound, Hit Sound, Block Sound, and Parry Sound appropriately on Skills
  • Use Play UI Sound for gong SE at round start/end
  1. Place floor, ring, Player, Enemy; verify with Lock On Camera
  2. Stats (Attribute / Class) and Traits
  3. Melee Weapon, Shield, one Skill (Jab_L) — verify hit & damage operation
  4. Reaction (HitFlinch) → verify hit animation
  5. Add Combos (Jab_L → Jab_R → Hook_L)
  6. Complete Input mapping
  7. Enemy Behavior Tree (start simple: just approach and jab)
  8. HUD (Attribute UI) and Shake
  9. Round timer, KO / decision, scene transitions
  10. Cut-in and audio finishing touches

Tips and Pitfalls

  • State Layer collision: Always respect the Layer reservations — Weapon = 5, Charged Skill = 6, Shield = 7
  • Motion Warp distance: Set Hook types to Self Close = 1.0m for natural feel. Too far and it looks like sliding
  • Parry Time feels best when short. Adjust between 0.15–0.20s
  • Stamina consumption: Without cost on every attack and evasion, gameplay becomes monotonous. Use Conditions to block Skill execution when near 0
  • Start Behavior Trees minimal: Building full AI from scratch will break down. Start with “just jabs” → approach → guard, adding layers gradually
  • Reaction Cancel Time: Prevents stun-lock. Set 0.2–0.3s on Reactions with Min Power 1–2
  • Down Count reset: Decide early whether it resets between rounds or carries through the entire match
  • Lock On Camera angle tuning prevents motion sickness: Offset.Y 1.6–1.8, Smooth Time 0.2–0.4

Extension Ideas

  • Perception for visual audience gaze effects
  • Quests for challenges like “land 10 straights” or “parry 5 times”
  • Inventory for equipment items like protein drinks and gloves → Stat Modifier
  • Dialogue for pre/post-match interviews and commentary text
  • Multi-platform: Unify inputs to abstract keys A–H for simultaneous keyboard / gamepad / mobile touch support

3. Dragon Quest-style RPG (Stats + Inventory + Dialogue + Quests + Melee + Behavior)

Game Specifications

  • Perspective: Third-person orbit camera
  • Flow: Field exploration → gather info and shop in town → enter dungeon → defeat boss → clear
  • Combat: Symbol encounters (contact with enemy transitions to battle scene) + real-time combat (Melee)
  • Growth: Experience → Level → Stats increase
  • Elements: Equipment, items, potions, quests, dialogue, save/load

Modules Used

ModulePurpose
CoreBasic operations, Variables, Save & Load
StatsHP / MP / STR / DEF / LV / EXP, Class
InventoryWeapons / armor / potions, Currency (Gold), Merchant
DialogueNPC conversations, Choice-based quest acceptance/reporting
QuestsMain quests, side quests, Journal
MeleeCombat (sword / staff)
BehaviorEnemy AI
CamerasThird Person / Cutscene
Extensions: TransitionsBattle entry / scene transitions

Initial Project Setup

  1. Install all required modules from Package Manager
  2. Game Creator > Install... to import samples: Stats (Classes, UI), Inventory (Items, UI), Dialogue (any skin), Quests (UI), Melee (Sword)
  3. Scene structure: Title, WorldMap, Town_01, Dungeon_01_Floor1, Dungeon_01_Boss

Stats Design

Attributes:

AttributeMax Reference StatInitial %
hpmax_hp1.0
mpmax_mp1.0

Stats:

StatBaseFormulaDescription
level1table.level[source.stat[exp]]Calculated from cumulative EXP
exp0-Cumulative experience
max_hp2020 + 10 * source.stat[level]Scales with level
max_mp1010 + 4 * source.stat[level]
str5source.base[this] + source.stat[level]
def3source.base[this] + ceil[source.stat[level] / 2]
agi5-Used for evasion checks

Class: Use Hero (warrior) and Mage with different Base values.

Damage Formula:

max[ 1, source.stat[str] * source.var[skill_power] - target.stat[def] + random[-2, 2] ]

Table (EXP Table): Create > Game Creator > Stats > Table, Type Linear, Coefficient 20 → LV2 at 20 EXP, LV3 at 40 EXP…

Inventory (Items, Currency, Shops)

Currency: Gold (single Coin, Value 1)

Item Examples:

ItemCategoryPurpose
Copper SwordWeapon (Equipment)On equip: Add Stat Modifier(str, +3)
Iron SwordWeaponattack +8
Leather ArmorArmorOn equip: Add Stat Modifier(def, +2)
HerbConsumableOn Use: Change Attribute(hp, +20)

Equipment: Set corresponding Bones for Slots (RightHand, Body, Accessory).

Merchant: Add Bag + Merchant to the tool shop NPC in Town. Stock, Buy Rate 1.0, Sell Rate 0.5. Execute Open Merchant UI on the NPC’s Trigger On Interact.

Dialogue (Conversations)

Villager NPC: Use Random nodes for different greetings each time. Branch using Tag Visited for “first time speaking / subsequent visits.”

Quest NPC (Village Chief):

  • Text: “Our village is under attack by monsters… Hero, please defeat the boss in the cave”
  • Choice: “Accept / Decline”
  • Accept → Instruction: Quest Activate(MainQuest_01)
  • Reporting Text node (Condition: Is Quest Completed == true) for victory dialogue and Change Currency(+500)

Information NPC: Switch displayed dialogue based on specific flags (Global Name Variables). Dynamic values can also insert {player-name}.

Quests

MainQuest_01 “Ancient Cave” Tasks:

  1. Talk to the Village Chief (already completed)
  2. Head to the Ancient Cave (POI: cave entrance)
  3. Defeat the boss (On Die triggers Task Complete)
  4. Return to the village and report to the Village Chief

Journal: Add a Journal component to the Player, Tracking Mode = Multiple, add Journal memory to Remember.

UI: Display Quest List UI and Indicator UI for “next destination” icons.

Field and Enemies

Symbol Encounters: Place enemy Prefabs on the field. When Trigger’s Event On Trigger Enter Tag (Tag = Player) fires, execute Transition to Scene(Battle_01).

Battle Scene: Player (Hero) and Enemy (dynamically Spawned) face off. Equip Melee Sword Weapon and attack with player control; Enemy chases and attacks via Behavior Tree.

Battle Results: On Enemy’s On Die, add EXP, add Currency, drop Herbs via Loot Table. On Level Up, fully recover hp/mp. Victory Dialogue → Transition back to the previous field.

Player Death: When hp = 0, catch it with On Attribute Change(hp) and transition to title or church respawn (with gold halved).

Behavior (Enemy AI)

Regular Enemy — 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

Boss — 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 is a Status Effect that increases Str by +10, boosts speed, and strengthens all attack Hit Reactions.

Level Up Effects

Place a Trigger (Event = On Stat Change, Stat = level) on the Player. When exp is added, level is recalculated via Formula, and the Trigger fires when the value changes.

On fire: Play UI Sound(LevelUp) → Dialogue popup “Level Up!” → Fully recover hp/mp

Save & Load

  • Add Save Game(slot=1) button to title / church / inn menus
  • Register Transform, Bag, Journal, and Stats in the Player’s Remember
  • Turn ON Save for all Global Name Variables

UI Configuration

  • HUD: Attribute UI (hp / mp), Stat UI (level / gold)
  • Pause Menu: Tab switching (Status / Inventory / Quests / Options)
  • Dialogue: Dialogue Skin
  • Battle Results: EXP / Gold acquisition window

Camera Direction

  • Field: Third Person Shot (Orbit, targeting Player)
  • During conversation: Switch to fixed-position Shot framing Actor and Player
  • Boss battle entry: Play cut-in Animation Shot aimed at boss → return

Scene Structure and Flow

Title
 ├─ "New Game" → Transition to WorldMap
 ├─ "Continue" → Load Game(slot=1)
 └─ "Settings" → Options

WorldMap
 ├─ Town_01 (many NPCs, Merchant, full recovery at inn)
 ├─ Dungeon_01_Floor1 (regular enemies, treasure chests)
 └─ Dungeon_01_Boss (boss battle BT activates)

Battle_01 (shared battle scene for symbol encounters)
 └─ Battle ends → return to previous scene
  1. Stats: Hero Class, hp/mp/level/exp, Formula, Table, UI
  2. Player movement, Third Person Camera, field exploration
  3. Inventory: Item / Bag / Wealth UI
  4. One NPC with Dialogue, verify Quest Activate from conversation
  5. Quests: MainQuest_01 task hierarchy and UI
  6. Melee: Sword Weapon, basic Skill, verify damage calculation
  7. Behavior: Slime BT, Boss BT
  8. Symbol encounter → Battle scene transition
  9. Win/loss processing, EXP / Gold / Level Up
  10. Merchant / inn / church (respawn)
  11. Save & Load, Title / Options
  12. Effects (Transitions, cameras, SE / BGM), finishing touches

Tips and Pitfalls

  • Establish Stat reference ID naming conventions early. Typos cause Formulas to evaluate as 0, making bugs hard to find
  • Formula circular dependencies: Stats won’t warn you, so never create loops like putting hp in the max_hp Formula
  • Level Up detection: Since level is calculated via Formula, it can be caught with On Stat Change. It’s safer not to use Change Stat manually
  • Forgetting to add Journal to Remember will cause quest progress to be lost
  • Preserving hp/mp across Battle scene transitions: Either hold them as Globals, or insert Local → Global copies during Transition
  • Behavior Graphs cannot be swapped at runtime: Create separate Graphs for each enemy type
  • Status Effect Max Stack 1: Prevents double-application of effects like the boss’s Enraged
  • Quest Property Counter: “Collect 5 potions” can auto-link with Inventory
  • Dialogue Global Dynamic Value can inject the player’s name into all conversations

Extension Ideas

  • Add stealth elements with Perception — “enemies spot the player and chase them”
  • Multi-language support with Localization
  • Partially introduce Shooter to add an archer character
  • Companion: Set a second Character as NPC mode with Follow, auto-executing via Behavior Tree during combat

4. Survival Craft (Inventory + Stats + Perception + Behavior + Melee)

Game Specifications

  • Perspective: Third-person (F key toggles to first-person)
  • Core Loop:
    1. Day: Harvest wood, stone, and food
    2. Night: Enemies (zombies, etc.) attack. Defend the base
    3. Craft: Combine materials into tools, weapons, and building parts
    4. Build: Freely placeable walls, doors, beds
    5. Survival stats: Manage HP / Hunger / Thirst / Stamina

Modules Used

ModulePurpose
CoreBasic, Variables, Save & Load
InventoryResources, tools, building parts, crafting (Tinker)
StatsSurvival stats, Status Effects
MeleeMelee weapons like axes, stone picks, clubs
Shooter (optional)Bows and slings
PerceptionEnemy visual / audio detection
BehaviorZombie AI
CamerasThird Person, first-person toggle

Initial Project Setup

  1. Install the above modules from Package Manager
  2. Game Creator > Install...: Inventory (Items, UI, Examples), Stats (Classes, UI), Perception (UI, Examples), Behavior (Examples)
  3. Scene World_01: Place procedural-style terrain, trees, rocks, and water on a large Plane
  4. Create Player, Third Person Camera, Locomotion Speed 4, Sprint State 6

Stats (Survival Stats)

Attributes:

AttributeMaxDescription
hpmax_hpHealth
staminamax_staminaConsumed by running / harvesting
hungermax_hungerHunger gauge. HP decreases at 0
thirstmax_thirstThirst. Stamina recovery stops at 0
tempmax_tempBody temperature. Drops at night, recovers near campfire

Stats: max_hp, max_stamina (fixed at 100), max_hunger, max_thirst (100), max_temp (100, default 50), harvest_power (harvesting efficiency), craft_speed (crafting speed)

Time-based decrease (Master Trigger On Interval(10s)): hunger -1, thirst -1.5, at night (time_of_day > 0.8) temp -2

Status Effects:

  • Bleeding: Duration 30s, While Active hp -1/s
  • Poisoned: Duration 60s, While Active hp -0.5/s, Save ON
  • Overeaten: Duration 20s, Stat Modifier reduces stamina recovery by 50%
  • Warm: Applied near campfire, Duration 10s, re-applied On End (while nearby)

Low stat effects: When hunger <= 0, permanently apply Status Effect Starving (hp -1/s). When thirst <= 0, stamina recovery stops.

Inventory (Resources / Tools / Building Parts)

Category Items (parent types): Resource, Tool (Is Equipable), BuildingPart, Food (Is Usable), Ammo_Arrow

Specific Item Examples:

ItemParentEffect
WoodResourceBuilding material / craft ingredient
StoneResourceStone tool material
FiberResourceRope / string
BerryFoodOn Use: hunger +15
WaterBottleFoodOn Use: thirst +30
StoneAxeToolOn equip: harvest_power +5
WoodenBowTool (Shooter)Bow
ArrowAmmoBow ammunition
WallBuildingPartFor building placement

Bag: Add a Bag (List, Max Weight 50kg) to the Player. Set up “Main Hand,” “Off Hand,” “Head / Body / Feet” slots in the Equipment asset.

Harvesting System

Set up Trigger (On Interact) + Hotspot + Stats (durability) on resource objects (trees, rocks, berry bushes, water sources):

Branch 1 (Condition: Player has StoneAxe equipped AND 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 (Condition: Self.hp <= 0):

Set Active(Self, false)
Add Item(Wood, 3) to Player.Bag
Emit Signal("tree_chopped")

Harvesting action cancellation: Use the Player’s Busy system (mark Arm Right as Busy) to prevent conflicts with other actions.

Crafting (Tinker)

Define recipes in each finished Item’s Crafting section:

  • Wooden Bow: Wood ×3, Fiber ×2
  • Stone Axe: Wood ×2, Stone ×3, Fiber ×1
  • Wall: Wood ×4

Tinker UI: On Interact with the Workbench → Open Tinker UI. Use Filter Item to separate Tool parent type (Tool-only workshop) and BuildingPart (building table).

Crafting success: On On Craft event, play crafting SE, slight Stamina decrease, add experience. The craft_speed Stat shortens crafting time.

Building System

  1. Generate a “hologram Prefab” in the Player’s hands and manipulate position / rotation
  2. Mouse wheel to rotate (Change Rotation)
  3. Click to confirm → Destroy hologram, Instantiate the real object
  4. Consume materials with Remove Item(Wall x4)

Valid/Invalid placement: Use Physics-based Conditions (Raycast 3D, etc.) to check for overlap with other objects and ground contact.

Building durability and save: Each building Prefab has Stats (hp) attached, and a Remember component saves position, rotation, and durability.

Day/Night Cycle and Enemy Spawning

  • Global Name Variables: time_of_day (0–1), day_count
  • Master Trigger On Interval(1s): time_of_day += 1/1200 (= 20 minutes per day)
  • When exceeding 1.0: day_count += 1, time_of_day = 0
  • Fade environmental light brightness (Change Global Luminance) and skybox Material
  • When time_of_day > 0.8 && time_of_day < 1.0, execute Spawn Zombie via On Interval(15s). Spawn positions are 30–50m away from the Player

Enemy AI (Behavior Tree)

Basic 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

Multi-zombie coordination: Relay Awareness Knowledge lets the group share Player detection. On Die of a reached Zombie triggers EXP addition via a separate Trigger.

Dog (player pet): Friendly Character. Follows Player. Detects enemies via Perception and uses Add Target Candidate to add them to the Player’s candidate list.

Combat

Melee: StoneAxe / Wooden Club Weapon assets. Skills: light attack (Swing) / heavy attack (Chop). Striker is a Capsule Striker on the axe head. Reactions: Hit (small) / Stagger (large) / Knockdown.

Shooter (bow): Wooden Bow Weapon, Fire Mode = Charge (Min 0.3s, Max 1.5s). Projectile = Kinematic, Wind Influence 0.5. Ammo = Arrow (linked to Inventory Item).

UI

  • HUD with Attribute UI: hp / stamina / hunger / thirst / temp
  • When hunger < 20, show “Hungry” icon in Status Effect List UI
  • Attribute UI Stall Transition for decay bar effects

Save & Load

  • Bed (Bed Prefab) Trigger On Interact: During day, “Sleep until night?” → selection sets time_of_day = 0.85. At night, skip to next morning. Auto-execute Save Game
  • Player Remember: Add Bag / Traits / Transform / Status Effects to Memory
  • Save Global Variables (time_of_day / day_count) as well

Scene Structure

  • Title: New Game / Continue
  • World_01: Main content (terrain, NPC base, resources, enemy spawners)
  • On death: Transition to Respawn scene → reload World_01 (bed position)

Tutorial via Quests (Optional)

Quest Survival Basics Tasks: Chop 5 trees → Craft a Stone Axe → Build a Shelter → Survive 1 night. Link to Bag quantities / building count via Property Counter.

  1. Player, Third Person Camera, basic movement
  2. Stats (hp / stamina / hunger / thirst) and HUD UI
  3. Interval-based Hunger / Thirst decrease, threshold Status Effects
  4. Inventory: Bag / Wood / Stone harvesting (resource destruction via Trigger + Add Item)
  5. Crafting: Wall / Stone Axe recipes and Tinker UI
  6. Building system (hologram + confirm / material consumption)
  7. Day/night cycle (Change Global Luminance) and night detection
  8. Zombie Spawn, minimal Behavior Tree, Melee combat
  9. Food Items (eat Berry, drink WaterBottle)
  10. Bed save & time skip
  11. Perception, enemy coordination, dog companion
  12. Bow (Shooter) and crafting recipes
  13. Quest tutorial
  14. Effects, SE, BGM, finishing touches

Tips and Pitfalls

  • Weight limit UX: Without real-time weight display in the HUD via Overloaded Trigger On Add, players get confused
  • Resource regeneration: If you want trees to respawn, use On Interval(300s) with Set Active(true) to revive them
  • Building collision detection: Use Overlap 3D to exclude placement over other buildings, Player, and enemies
  • Mass zombie spawning: For frame rate, set Perception Update to Interval
  • Stat Modifier order: Modifiers apply % → flat value. Keep this in mind when stacking attack +20% and +5 from equipment
  • Status Effect Save: Turn Save ON to preserve remaining duration; turn it OFF to reset on load
  • Temperature: Detect campfire proximity with Hotspot Radius, applying Warm only while inside. Remove via Forget Delay when moving away
  • Canceling during crafting: Force-close Tinker UI when attacked while it’s open
  • Night spawn range: Verify ground detection and that spawns occur outside the player’s view

Extension Ideas

  • Multi-language UI and item names with Localization
  • Expand Quests: Add biome-specific bosses as main quests
  • Add “frostbite lowers def” to Stats Formula using temperature
  • Perception Evidence: Zombies recognize that a door the player barricaded has been destroyed and take alternate routes

5. Apex-style FPS (Shooter + Stats + Inventory + Perception + Behavior)

Game Specifications

  • Perspective: First-person (First Person Shot, IK for iron sight precision)
  • Controls: WASD movement / Sprint / Sliding / Jump / Lean / Reload / Quick Reload
  • HP Structure: Shield (100, no regeneration, recovered with batteries) + HP (100, recovered with meds)
  • Weapons: 2 weapons equipped simultaneously (Primary / Secondary), switch toggle
  • Abilities: Tactical (cooldown-based), Ultimate (gauge-based)
  • AI Enemies: Behavior Tree for cover movement + shooting

Modules Used

ModulePurpose
CoreBasic, Variables, Save & Load (settings only)
ShooterWeapons, ammo, reload, sights, recoil
StatsHP / Shield / Ammo Pool / ability cooldowns
InventoryEquipment slots, ammo, healing items
CamerasFirst Person Shot
PerceptionEnemy visual / audio (footsteps, gunshots)
BehaviorEnemy AI (Behavior Tree)

Initial Project Setup

  1. Install all target modules from Package Manager
  2. Game Creator > Install...: Shooter (Examples, Weapons), Stats (Classes, UI), Inventory (Items, UI), Perception (UI, Examples)
  3. Scene Arena_01: Compact indoor/outdoor hybrid map with complete colliders
  4. Create Player → Driver = Character Controller, Speed 6, Sprint State 9
  5. Camera Shot = First Person, Optics = Head Bone, Head Bobbing / Leaning ON

Stats (HP / Shield / Abilities)

Attributes:

AttributeMaxDescription
hpmax_hp (100)Base HP
shieldmax_shield (100)Rechargeable shield
ult_chargemax_ult (100)Ultimate gauge

Stats: max_hp, max_shield, max_ult, tactical_cd (remaining seconds), move_speed_mod

Damage Processing Formula:

max[ 1, source.var[weapon_damage] - target.stat[def] ]

When hit, the design is to drain Shield first, then HP. In the hit Trigger (On Shoot Hit), if shield > 0, subtract from shield, and overflow flows to hp.

Recovery:

  • Shield Battery: On Use → enter Busy state + Play Gesture + shield +50 after 3s
  • Syringe: hp +25 after 5s
  • Phoenix Kit: Recovers both to 100 (long cast time)

Status Effect: Knockdown (triggers when HP reaches 0; Move Speed 1, shooting disabled. Death when final_hp reaches 0)

Inventory Configuration

Equipment Slots: Primary, Secondary, Helmet (Shield Modifier +20), BodyArmor (+40/+60/+80), Consumable_1/2/3 (hotbar)

Ammo Items: LightAmmo, HeavyAmmo, ShotgunShell, SniperAmmo (stackable, with weight)

Weapon Items: Register as Inventory Items (with Prefabs). On Equip Instructions call Equip Shooter Weapon to equip on the Shooter side.

Shooter: Weapon Setup

Common configuration: Unique ID, Fire Animation uses Human IK + procedural Recoil, Sight = Camera Center with Raycast, Biomechanics = Human IK (Scope Through ON)

Weapon Examples:

WeaponIDFire ModeProjectileAmmoMagazineSpread
R-301assault_rifleFull AutoRaycastLightAmmo30Medium
Voltsmg_voltFull AutoRaycastLightAmmo24High
EVA-8shotgun_eva8Single (Pellets=8)RaycastShotgunShell6High
Longbowsniper_longbowSingleRaycastSniperAmmo60
Wingmanpistol_wingmanSingleRaycastHeavyAmmo6Medium

Recoil: R-301 is X=0.2° / Y=1.2°, Recover 2/s. Longbow is X=0.1° / Y=2.5°, Recover 1/s

Sights: IronSight (default), HoloSight, 1xScope–4xScope. Switch with Scroll Wheel via Set Sight ID. FOV changes from 90→60 during ADS

Ammo Pool: Ammo asset Value = Inventory Item possession count. Reloading transfers to the magazine while deducting from possession count.

Reload Asset: Reload_AR (animation 2s, Magazine Track, Quick-Reload Track 0.5s window)

Input Mapping

KeyAction
WASDMovement
ShiftSprint
SpaceJump
CtrlSliding / Crouch
QTactical ability
ZUltimate ability
EInteract
RReload Weapon
Left ClickPull Fire Trigger / Release Fire Trigger
Right ClickSet Sight ID (ADS)
1 / 2Primary / Secondary switch
3/4/5Consumable use
VWeapon swap
TabInventory

Ability Implementation

Tactical: Smoke

  • On use: Instantiate Smoke Prefab in front, Emit Noise, Destroy after several seconds
  • Cooldown: tactical_cd = 20, decrement via Interval

Ultimate: AoE Attack

  • Can only be activated when ult_charge >= max_ult
  • Consume charge → Play Gesture → Overlap Sphere at impact point → hp -50 to hit Characters → Shake Camera Burst

How ult_charge accumulates: Kill (On Die) +20, Hit (On Hit) +1, Time (On Interval(10s)) +2

Camera

  • FPS Shot: First Person Shot, Target = Player, Bone = Head, Head Bobbing (small for walking, large for sprinting)
  • Hit Marker: Flash a UI icon at screen center for 0.2s on hit via On Hit
  • Damage direction indicator: Show a red arc from the attacker’s direction on Player’s On Shoot Hit
  • During Knockdown: Switch Camera Shot (downward angle, minimal Shake)

Enemy 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 Settings: Sight Primary cone 60°/25m, Peripheral +30°/+5m, Use Luminance ON. Hearing Min 0.1 / Max 1.0, Decay 2s. Player’s shooting uses Emit Noise(Intensity 0.9, Radius 40, Tag "gunshot") On Shoot

Team coordination: When one becomes Aware, Relay Awareness Knowledge propagates to nearby enemies

UI Configuration

  • HUD: HP and Shield bars (Attribute UI), weapon icon + ammo (Ammo UI), Tactical and Ultimate icons with cooldown, Crosshair UI, Mini-Map
  • Inventory: Bag UI, Equipment UI, Wealth UI
  • Damage display: Instantiate floating numbers on hit (Floating Text)
  • Kill Feed: Updates upon receiving Signal kill_event

Match Progression

VariableTypePurpose
killsNumberKill count
deathsNumberDeath count
match_timeNumberRemaining seconds
match_stateStringwarmup / active / end

Flow:

  1. Warmup: Camera pans over the map with an Animation Shot, 5s countdown
  2. Active: Player control begins, On Interval(1s) decrements match_time -= 1
  3. When match_time == 0: End. Transition to Scene(Result) for the summary screen

Save (Settings Only)

  • Match progression is session-only (no slots needed)
  • Sensitivity / key bindings / FOV etc. are saved to slot 0 (shared settings)
  • Create Global Variables with IsShared = true, and Save Game(0) on the Options UI Apply button

Scene Structure

Title
 ├── Play → Transition to Arena_01
 ├── Training → Range scene (targets + Merchant)
 ├── Options → Edit settings → Save(slot=0)
 └── Quit
Arena_01
 ├── Warmup → Active → End
 └── End → Result → Return to Title
Range
 └── Practice, Merchant, infinite ammo option
  1. Player (First Person Camera), movement, Sprint, Jump, Lean
  2. Shooter: 1 weapon (R-301) — equip, shoot, reload, Recoil
  3. Stats (HP / Shield) and hit processing (Shield → HP)
  4. Ammo Pool Inventory integration
  5. Sight switching (IronSight / 2xScope)
  6. Second weapon (Wingman) and Swap
  7. Healing items (Shield Battery / Syringe)
  8. Tactical / Ultimate (cooldown + gauge)
  9. Enemy Character + Perception + Behavior Tree (minimal)
  10. Hit Marker / damage direction / damage numbers
  11. Match timer, win/loss tally, Transition
  12. Options / settings save, key remapping
  13. Sound, Muzzle Flash, shell ejection, Kill Feed
  14. Final balance tuning, performance optimization

Tips and Pitfalls

  • Sight’s Human IK is essential for FPS. Switch Sight when mixing with third-person view
  • Fire Rate and Fire Audio loop handling: Full Auto uses Load Loop — ensure loop stoppage is thorough
  • Recoil patterns: Weapon Recoil X/Y values are fixed. Randomness is expressed through Accuracy Kick and Spread Bias
  • Projectile = Raycast: Best performance, but use a Line Renderer for a pseudo bullet-trail if you want to show bullet speed
  • Separating Shield and HP: The key is to not use the same Attribute. Display them as separate bars in the UI as well
  • Knockdown: Rather than instant death at hp <= 0, transitioning to a Knockdown Status Effect makes it easier to add team-play elements
  • Ammo Pool synchronization: Verify that Magazine Size and Ammo Item possession count don’t contradict each other
  • Enemy Perception Luminance: For harder detection in dark areas, set Use Luminance ON with Dim Threshold 0.2
  • Enemy Relay: If coordination is too fast, it feels unfair. Add a 0.5s delay for naturalness
  • Camera sickness: Watch out for excessive Head Bobbing. Keep Intensity small and turn it OFF during ADS
  • Maintaining 60 FPS: Set enemy Perception Update to Interval and use Spatial Hash to reduce physics load
  • Quick Reload: Set the green window to 0.3–0.4s and make the success SE distinct

Extension Ideas

  • Multi-language UI and weapon names with Localization
  • Inventory Sockets for an attachment system (scope / barrel / stock) that plugs into weapons
  • Behavior: GOAP for smarter AI (auto-planning Reload → Heal → Flank)
  • Dialogue to add a campaign mode (mission-based)
  • Quests for daily missions like “get 10 kills” or “5 headshots”
  • Melee integration: Add a melee weapon (hammer) using the Melee module


Summary

In this article, we covered how to implement “five genre games” using Game Creator 2.

With just Core + Inventory + Dialogue (3 modules) you can build an escape game. Add Melee + Stats + Behavior for a fighting game. Layer on Quests, Perception, and Shooter to achieve RPG, survival, and FPS — all within the same framework.

Because Game Creator 2 uses an asset-based design, you can incrementally add modules to build completely different game genres on the same framework — this is its greatest strength. We recommend following the implementation order in each section, starting from a minimal configuration and gradually adding layers.

Complete Article List — Game Creator 2 Complete Guide Series Indexen.senkohome.com/gamecreator2-series-index/

We hope you’ll check out our other articles as well.