Create your first game
Walk through the New Project wizard step by step, learn what each choice writes to disk, and see how a project becomes a game on your Vastopia account.
11 min read
What the wizard does#
Every Vastopia game starts as a copy of a template that the New Project wizard reshapes to your choices. The wizard is a full page inside the editor, not a popup, and it collects five things:
| Step | What you decide |
|---|---|
| 1. Basics | The game's name, where the folder goes, a logo, and the template it starts from |
| 2. Tabs | Which side tabs players see in game, in what order, and how wide they are |
| 3. Systems | Which gameplay systems ship with the game |
| 4. Presentation | The store listing text and the HUD stat bars beside the minimap |
| 5. Review | A summary, then Create Game |
Nothing on the page is cosmetic. Each choice is applied at creation time: the template folder is copied, files belonging to switched-off systems are deleted, and the tab layout, logo, stat bars and listing are written into the new project. You can change all of it later, but the wizard is the fastest place to get the shape right.
Open the wizard#
There are three ways in:
- On the project hub (the screen after sign-in), click New Project in the top-right.
- From inside an open project, choose Project > New Project... from the top menu bar.
- On the hub's Templates tab, click any template card.
The page is titled Create a New Game. A ← Projects button in the top-left returns to the hub without creating anything. The step rail down the left side lets you jump to any step directly; the footer carries Back, Next and, on the last step, Create Game. Validation messages appear in the footer's left half.
Step 1: Basics#
Basics is two columns. The left column names the game; the right column chooses what it starts from.
Game Name and Location#
- Type a name in Game Name. The footer preview reads
Creates <path>and updates as you type. - The Location box shows where the folder will go. The default is
Documents\VastopiaProjects\, created on first use. Click Browse… to pick another parent folder.
The project folder is <Location>\<Game Name>\. The characters / \ : * ? " < > | are replaced with _ in the folder name, so Sky: Reborn becomes Sky_ Reborn. If that folder already exists you are told "A folder already exists at ... — pick another name or location."
Logo#
The Logo zone accepts a PNG, JPG, JPEG or WebP image. Drop a file onto the square, or click Upload Logo… to browse. Clear removes it. Square images look best: this image becomes the game's icon on Vastopia and is copied into the project as assets/branding/game_icon.<ext>.
Start From#
The Start From gallery lists every available template, grouped under the three categories Diversion, Quest and MMO. All three headings are always drawn; an empty one reads "No diversion templates published yet." Choosing a template is required. The bundled starters need no download and carry the badge "Included with the editor · no download". Templates published to the platform show their version and size ("v1.2 · 38 MB download") or "downloaded" once cached. Refresh re-fetches the catalog.
| Template | Category | Systems it starts with |
|---|---|---|
| Arena Starter | Diversion | Combat, NPC Aggression, Special Attacks, Buffs & Effects, Loot & Drops, Skills & Experience |
| Quest Starter | Quest | Dialogue, Quests, Tasks & Achievements, Wisdom (Prayers), Skills & Experience, Crafting, Shops, Banking, Combat, Loot & Drops, Bosses |
| MMO Starter | MMO | Every system |
The three bundled starters share one project folder; what differs is which systems survive creation. Picking a template resets the Systems step to that template's defaults and reloads the Tabs step with the tabs the template ships, so pick the template before you spend time on the later steps.
When you leave Basics with a platform template that is not yet cached, the editor downloads it first. A progress bar and Cancel button appear under the gallery. If the download fails you see "That template could not be downloaded. Pick another, or use the included starter." The bundled starters always work offline. Details on templates and the catalog are in Templates and gameplay systems.
Step 2: Tabs#
The Tabs step shows the client's real tab bar at the size players see it: a 300 by 400 pixel area with a row of tabs pinned to the top, a row pinned to the bottom, and the selected tab's panel between them. Each row holds up to six tabs; twelve in total.
| Control | What it does |
|---|---|
| Available Tabs tray (bottom) | Every tab the template ships that is not yet placed. Drag a chip up into a row, or double-click it to add it. Drag a placed tab back down here to remove it. |
| Tab on the bar | Drag onto another tab to reorder (left half inserts before, right half after). Click it to open its panel in the middle, exactly as in game, and to select it for editing. |
| Tab Bar column (left) | Per-row Tab width (16 to 150 px) and Spacing (0 to 32 px) sliders, a fit readout such as "4 tabs · 198/300 px", and Reset, which restores the client's own 48 px tabs 2 px apart. |
| Selected Tab column (right) | The selected tab's icon with an Icon... picker, a name field, the interface it opens, and Remove tab. |
Tab width is capped per row so a row can never be wider than the 300 px bar; when a slider hits the cap the fit label adds "— at the limit". The hint under the bar summarises the state: "Row 1: 5/6 · Row 2: 3/6 · 8 tabs".
The Inventory, Equipment and Skills tabs are built into the client and cannot be removed; Remove tab does nothing for them and they never appear in the tray. The MMO Starter places Combat, Skills, Inventory, Equipment, Wisdom, Quests, Party, Clan, Server Info and Friends, and leaves Info, Settings and Teles in the tray.
See Tabs for how the same editor works inside the GUI editor after creation.
Step 3: Systems#
A gameplay system is a set of files: a server module, an interface scene, a schema folder, a tab entry. The Systems step draws all sixteen as two columns of category cards. Each row shows the system's name, a one-line description, a "needs ..." line when it depends on another system, and a server-enforced badge where relevant. The whole row is the switch: click it to turn the system off (dimmed) or on (lit with an accent edge).
| Category | System | Needs |
|---|---|---|
| World | Dialogue — NPC conversation trees and dialogue-driven interactions | — |
| Progression | Quests — Quest log tab, quest givers, per-player quest progress | Dialogue |
| Progression | Tasks & Achievements — Repeatable tasks, achievement tracking, the ::task commands | — |
| Progression | Skills & Experience — Experience curves, level-ups, the ::skill commands | — |
| Progression | Wisdom (Prayers) — Prayer/blessing tab with drain rates and activatable effects | — |
| Economy | Crafting — Recipes that turn items into other items | — |
| Economy | Shops — NPC stores with buy/sell stock (server-enforced) | — |
| Economy | Banking — Bank interface and the ::bank command | — |
| Social | Player Trading — Player-to-player trade windows (server-enforced) | — |
| Social | Clans, Party & Friends — Friends and ignore lists, parties, clan chat | — |
| Combat | Combat — Attack styles, hitsplats, the combat tab (server-enforced) | — |
| Combat | NPC Aggression — NPCs that attack players on their own | Combat |
| Combat | Special Attacks — Weapon specials with an energy bar | Combat |
| Combat | Buffs & Effects — Timed stat modifiers on players and NPCs | — |
| Combat | Bosses — Boss encounters with phases and scripted mechanics | Combat |
| Combat | Loot & Drops — Drop tables for NPCs and objects, loot on the ground | — |
Dependencies are enforced both ways and explained in a line under the columns rather than applied silently. Turning Quests on turns Dialogue on ("Dialogue also turned on — Quests needs it"); turning Combat off turns off NPC Aggression, Special Attacks and Bosses ("Bosses also turned off — it needs Combat").
The Skills tab itself is built into the client and stays even with Skills & Experience off. Systems can be changed after creation; see Templates and gameplay systems.
Step 4: Presentation#
Store Listing#
These fields land in game_config.json, the same file the Game Settings editor and the dashboard read, and all of them can be edited later.
| Field | Notes |
|---|---|
| Description (the large text box, "What is your game about?") | Free text |
| Genre | One of Adventure, RPG, MMO, Survival, Sandbox, Action, Puzzle, Social, Other |
| Tags (comma separated) | Split on commas and trimmed, e.g. pvp, skilling, co-op |
| Developer | Studio or your name |
| Website | A URL |
HUD Stat Bars#
The client draws stat orbs down the left edge of the minimap. Tick the bars you want from Health, Stamina, Mana and Energy; Health and Stamina are ticked by default. The small preview to the right shows the orb stack as the client lays it out. Your selection replaces the progress_bars list in assets/data/map_area_config.json; leaving every box unticked keeps whatever the template shipped. The HUD is covered in Game screen and HUD.
Step 5: Review and create#
Review lists one row per decision: Game, Location, Logo, Template, Tabs (count and names), Tab bar (width and spacing), Systems ("All 16 enabled" or "11 enabled · off: Player Trading, ..."), Stat bars, and Description when you wrote one.
- Check the rows. Click any step in the rail to go back and change something.
- Click Create Game. A loading overlay reads Creating Game / "Setting up <name>…" while the template is copied and pruned.
- The new project opens straight into the Map Editor.
If creation fails you see "Could not create the game. Check the location is writable and try again."
What gets created on disk#
Creation is a copy of the template followed by a series of edits. In order:
- The template folder is copied to
<Location>\<Game Name>\, and any stray Godot.importsidecars are deleted. - Standard folders are created if the template lacks them:
assets/maps,assets/data,assets/branding,assets/interface/screens,server/modules,server/scripts,server/schemas,server/data/maps/...andpacks/. project.vastopiais rewritten with the new name, timestamps, a fresh game ID and your choices.- Files belonging to switched-off systems are deleted and
server/data/systems.jsonis written. assets/data/tab_config.jsonreceives the tab list and per-row layout; the bundled tab icons are copied intoassets/sprites/.assets/data/map_area_config.jsongets your stat bars.- The logo is copied to
assets/branding/game_icon.<ext>. game_config.jsongets the title, listing fields and a1.0.0version.
The sections of project.vastopia the wizard touches:
[project]
name="Sky Reborn"
version="1.0.0"
template_id="quest-starter"
template_version=""
[game]
starting_map=""
title="Sky Reborn"
[platform]
game_id="0f3c7b2a-...-..."
[systems]
enabled=["dialogue", "quests", "tasks", ...]
[server]
project_path="C:/Users/you/Documents/GitHub/Vastopia-Server/Server/"
[client]
project_path="C:/Users/you/Documents/GitHub/Vastopia-Client/"
template_id and template_version record where the files came from, so a system you re-enable later can be copied back from the same template. The [server] and [client] paths are stamped from the editor's source-checkout settings and only written when a checkout was found; most creators never see them populated. The full layout is documented in Project structure.
How a project becomes a game on your account#
The game_id in [platform] is generated the moment the project is created. It is the key that ties the folder on your disk to a game on the platform:
- Whenever you open a project while signed in, the editor registers that ID and the project name with the platform. Registration is idempotent: the first time creates the game on your account, later opens just return it, and a renamed project renames the game. If the ID already belongs to another account the registration is refused.
- Once registered, the game shows on the hub's Games tab under Development, moves to Published when it is live, and to Archived when it is offline or suspended. The same game appears on the Creator Dashboard.
- Publishing, Play Local and cloud saves all use this ID. Project > Save Project to Cloud uploads the editable project under it so another machine can sign in and pick Download and Open on the hub.
The Settings dialog's Project tab shows the ID under Platform game ID, or "Not linked" when the project has none. If you created the project offline, simply sign in (the Account button in the top-right) and reopen it; registration happens on open.
Opening an existing project#
From the hub, Open Existing... opens a folder picker (titled Open Project Folder) starting at Documents\VastopiaProjects. The editor accepts:
- a folder containing
project.vastopia; - a parent folder whose immediate subfolder contains
project.vastopia; - a folder with
assets/andserver/but noproject.vastopia, which is adopted: a fresh descriptor with a new game ID is written and the project opens.
Anything else shows "Not a Vastopia Project". Recently opened projects are listed on the hub's Home and Recents tabs; right-click a card for Open, Open Game Settings, Open Web Dashboard, Show in File Manager, Remove from Recent and Delete Project....
With AI (MCP)#
An agent connected through the Vastopia MCP server can scaffold a game without the wizard: create_project creates project.vastopia, assets/ and server/ in the configured workspace (and initialises a git repository by default), select_project switches the active project, and register_game creates or links the platform game and stores its game_id in project.vastopia. The wizard's tab, system and HUD choices are not exposed as MCP arguments, and create_project does not copy a template: a scaffolded project is an empty skeleton with no starter content, gameplay-system files or interfaces. See AI-Accelerated Creation.
Next step#
Learn your way around the window in the Editor tour.
