PromptFork

Open-world (GTA-style) game build prompt

Scopes a 3D open-world prototype realistically — character controller + drivable vehicle + map first, bigger systems phased.

Open in Studio
Prompt
Help me build a 3D open-world game (GTA-style) in [Unreal Engine 5 / Unity 6]. Architect it modularly so each phase can be added independently.

PHASE 1 — BUILD THIS FIRST (get all three working before moving on):

1. THIRD-PERSON CHARACTER CONTROLLER
- Locomotion states: idle, walk (4 m/s), run (8 m/s), sprint (12 m/s), jump, fall, land
- Input: WASD + mouse look (controller-ready input abstraction)
- Camera: spring-arm / Cinemachine third-person, 3m behind, 1m above, collision avoidance so it never clips through walls
- Root motion vs. programmatic movement: tell me which you recommend for this scope and why
- State machine architecture: show me the states and transitions before writing any code

2. VEHICLE SYSTEM
- One drivable car with enter/exit (press [F] near vehicle, character plays enter animation, control transfers)
- Physics: torque-based driving, not velocity-set — include steer angle, max speed (80 km/h), handbrake
- Camera: switches to a wider FOV follow-cam when driving
- On-foot → in-vehicle state: the character controller must yield input to the vehicle controller cleanly (and take it back on exit)
- Architecture: a VehicleController component the character "possesses" — same pattern Unreal uses natively, replicate it in Unity if needed

3. OPEN MAP (small but real)
- Size: ~500m × 500m city block — small enough to load entirely, large enough to drive around
- Required: drivable road grid (at minimum a 4-block loop), sidewalks, 8–12 modular building placeholders (collision boxes fine for Phase 1), one open plaza area
- Navigation mesh baked over the whole map (needed for Phase 2 NPC traffic)
- In Unreal: use World Partition with a single streaming cell for MVP. In Unity: single scene, no streaming needed yet.

ARCHITECTURE RULES (non-negotiable for Phase 2 to work):
- Input system must be abstracted (no hardcoded key checks inline — use an InputAction/InputManager)
- Character, vehicle, and NPC controllers must share a common IPossessable interface so the player can "possess" any of them
- All game constants (speeds, enter radius, camera distances) in one config asset/ScriptableObject — never magic numbers
- Events over direct references: vehicle entered/exited, character state changed, wanted level changed — use C# events or Unreal delegates

PHASE 2 PLAN (design but don't build yet):
- Pedestrian NPCs: NavMesh agents, idle → walk → flee states, react to player proximity
- Traffic vehicles: AI drivers on road splines, stop at intersections, avoid player
- Wanted / heat system: 0–5 stars, triggered by crimes (hitting NPC, entering restricted zone), escalating response (0–2: ignore, 3: police on foot, 4: police vehicles, 5: roadblock + helicopter)
- Mission system: quest manager with objectives, triggers, and a scripted sequence system
- Minimap radar: top-down render texture camera, player dot, blip system for objectives and NPCs

ASSET LIST for Phase 1 (what I need before I start):
- Character: [Unreal: Mannequin from Starter Content or Mixamo FBX | Unity: default Humanoid rig or Mixamo]
- Animations: idle, walk, run, jump, fall, land, car enter, car exit (Mixamo has all of these free)
- Vehicle: any low-poly car asset with separate body/wheel meshes (specify what to search on Fab / Unity Asset Store)
- Buildings: modular kit (walls, corners, roofs) — recommend a free option for each engine
- Road: road spline tool or flat road tile set

OUTPUT FORMAT:
1. State machine diagram (text or ASCII) for the character controller
2. Class/component diagram showing Character, Vehicle, and IPossessable relationship
3. Phase 1 implementation: step by step, one system at a time, with a playtest checkpoint after each
4. Asset list with specific search terms for Fab (Unreal) and Unity Asset Store

Tip: the character→vehicle possession handoff is where most open-world tutorials break down. Make sure the character is fully disabled (input, physics, visibility) when in a vehicle — not just "input switched" — or you'll get ghost collisions and camera fighting.
Source
promptfork seed
License
CC-BY-4.0
Published
6/22/2026

More prompts you might like

Design + build a game: from design doc to playable prototype in one conversation

Starts with a structured game design document (core loop, Bartle motivation type, the one mechanic that makes it unique), then prototypes the core loop first with playtest checkpoints — not just 'make me a game.'

New

2D platformer with tuned physics, juice, and progressive level design

Goes beyond 'make a platformer' — specifies the exact physics values that make jumps feel great (coyote time, input buffering, variable gravity), the juice layer (screen shake, squash-stretch, particles), and the level design methodology that teaches mechanics through play.

New

Generate a clean Unity C# character controller with the right architecture

Produces a maintainable Unity C# controller using proper component separation, the chosen input system, and inspector-tunable values — not a messy god-class in Update().

#unity#csharp
New

Build a modular Unity enemy AI with a behavior tree or state machine

Produces a decoupled Unity C# enemy AI driven by a behavior tree or finite-state machine with reusable nodes, inspector-tunable decision weights, and clean extension points for new behaviors.

#unity#csharp
New

Build a Unity interactable-object system driven by events

Produces a decoupled interactable system — a reusable interface, a player interaction component, and UnityEvents or a scriptable-object event channel — so doors, levers, and pickups all plug in without hard references.

#unity#csharp
New

Model a game economy's currency sinks and sources with a tuning sheet

Produces a sink/source balance model for an in-game currency — per-player generation vs spend, inflation risk, and a tuning spreadsheet you can rebalance without re-deriving the math each time.

#game-design#economy
New