> For the complete documentation index, see [llms.txt](https://docs.gocipher.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gocipher.gg/cipher-tutorials/2.-creating-your-first-game.md).

# 2. Creating Your First Game

<mark style="color:$info;">**Already know about Cipher Game Builder and ready to create your game? Read on!**</mark>&#x20;

{% hint style="info" %} <mark style="color:$info;">If you're completely new, we recommend checking out</mark> [<mark style="color:$primary;">**1. Getting Started**</mark>](/cipher-tutorials/1.-getting-started.md)<mark style="color:$info;">**,**</mark> <mark style="color:$info;"></mark><mark style="color:$info;">which will cover the basics of navigating your Cipher workspace and features - all of which you'll be using to build a kick-ass game!</mark>&#x20;
{% endhint %}

<mark style="color:$info;">**Your prompt is your game's blueprint.**</mark> <mark style="color:$info;"></mark><mark style="color:$info;">A good one gets you a playable game on the first try, while a vague one gets you something you didn't ask for. This guide shows you exactly how to describe games so</mark> [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) <mark style="color:$info;">builds what you're actually picturing.</mark>&#x20;

***

### <mark style="background-color:purple;">Creating Your First Game in Minutes</mark>

Let's speedrun from zero to a simple, playable game, with no experience needed!<br>

**1. Create a new project.** \
Any name you like works!

> **Quick Tip:** You can build and play games on both your computer and mobile device. Your games can be optimized for play on both mobile devices or browser, depending on whether you chose to create your game in 9:16 (Vertical) or 16:9 Horizontal size. &#x20;

\
**2. Describe your game in the chat.** \
Be specific about what the player does, what shows up on screen, and how the game ends. Here's an example:<br>

> *Create a game called "Laser Cat Chaos". The player controls a laser pointer dot using the mouse and must keep cats chasing it while avoiding being caught by a cat. If a cat touches the laser pointer, the game ends. The laser dot moves freely around the screen. Cats spawn in the arena and constantly chase the laser pointer. Increase cat spawn rate over time. Add simple obstacles in the room that both the player and cats must move around. Display a survival timer showing how long the player has lasted and the current number of cats in the arena.*

**3. Next, approve your assets.** \
Cyra begins identifying the assets your game needs (characters, backgrounds, sound effects, music) and lists them with the prompts she'd use to create each one. Review the list, edit any prompts you want to change, and confirm it so Cyra can start designing them!

**4. Review your drafted plan**  \
Cyra will show you a **Draft Plan** with the game concept, how it plays, what the controls are, and how she's going to build everything. Read through it. If it looks right, tell Cyra to go ahead!

**5. Watch it build.** \
You'll see the Generation Activity progress in the chat, and a "CIPHER BRAIN THINKING" loading screen in the preview on the left half of your workspace. The time taken depends on how complex your game is.<br>

**6. Playtest your game.** \
When the build finishes, your game loads in the preview. Click into it and play.<br>

**7. Make it better.** \
Type your next change. "Add cat noises." "Make the cats faster." "Change the background to a wooden floor." Cyra updates your game with every change.

\
That's it. You just made your first simple game!&#x20;

***

### <mark style="background-color:purple;">How You'll Approve The Assets Required</mark>

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FKLqnBxg7qe7wT33T6mZd%2FScreenshot%202026-10-01%20115235.png?alt=media&amp;token=31a47967-81c6-47a8-932f-833877aab35d" alt=""><figcaption></figcaption></figure>

When [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) is planning your game, she identifies every visual and audio asset you'll need and shows them to you before generating anything. You'll see a list like:<br>

* Tank — Iron Warden (2D animation)
* Healer — Dawn Mender (2D animation)
* Arena backdrop (Image)
* Battle theme (Sound)
* Hit impact (Sound)

Each asset has a type label (2D animation, Image, Sound) and a prompt Cyra would use to create it. You can:

* **Approve all** if everything looks right
* **Edit individual prompts** if you want a different look or sound for specific assets
* **Remove assets** you don't want
* **Add assets** you think are missing

This is where you steer the visual direction of your game. If you want a specific art style, this is the moment to tell Cyra. Check out the [<mark style="color:$primary;">**Visual Style Guide**</mark>](/cipher-guides/guide-or-game-visual-styling.md) for inspiration.

***

### <mark style="background-color:purple;">How Cyra Reads Your First Prompt</mark>

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FjkfjuR1uijOFuWKvw5ax%2FScreenshot%202026-10-01%20115742.png?alt=media&amp;token=a8212c30-dd22-4cdc-b108-42d2305b05a7" alt=""><figcaption></figcaption></figure>

When you describe a game, [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) doesn't just start building right away. She first creates a **Draft Plan** that breaks your idea down into pieces. You can click to expand on the plan to preview or edit it.

* **Game concept** — A one-line summary of your game and its genre.
* **Core loop** — The main cycle of actions the player repeats (move, dodge, collect, survive, etc.).
* **Mechanics** — The specific rules that make the game work.
* **Controls** — What the player presses and what each input does.
* **Scene plan** — The actual game objects, menus, and screens Cipher will build.
* **Implementation checklist** — The build order, step by step.
* **Risks** — Things that could go wrong and how Cyra plans to handle them.<br>

> **Quick tip:** This plan is your chance to catch problems before anything gets built, so read it! \
> If something's off, tell Cyra! It willl be better to fix a plan than to fix a finished game.&#x20;

***

### <mark style="background-color:purple;">How You'll Read the Drafted Plan</mark>

As depicted above, click to expand on the drafted plan [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) has sent to the chat. \
You can preview and edit it if you'd like.

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FUX8kyhB28iZwG1Yfr4Sa%2Fimage.png?alt=media&amp;token=3c900efb-a8be-4f29-8b4e-e8be26a4bdfd" alt=""><figcaption></figcaption></figure>

Here are some components we would recommend you look for: <br>

* **Gameplay**\
  Does this sound like the game you want to play? If the main action cycle doesn't sound fun, let Cyra know as clearly as you can. This is the foundation of everything!<br>
* **Mechanics**\
  Did Cyra add anything you didn't ask for? Did she miss something you wanted? This is where Cyra fills in gaps, so make sure she filled them the way you intended.<br>
* **Controls** \
  Double check these match what you described. If Cyra assigned different keys or controls than what you'd prefer for your game, bring it up.<br>
* **Core Loop**\
  While you don't necessarily need to understand every detail, you can still scan it to make sure all the game elements you described for that prompt are accounted for.<br>
* **Risks** \
  Cyra will flag potential problems before they happen. If any of these sound like they'd ruin your game, you can ask Cyra to address them before she starts building.<br>

As always, if everything looks good, just click **"Continue to Build Setup."** And if something's wrong, describe the fix so [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) can update the plan.

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FPeZj9vzYOftlAoAWPpbx%2FScreenshot%202026-10-01%20120614.png?alt=media&amp;token=9eb793dd-865d-4582-bc5f-dbe3284be297" alt=""><figcaption></figcaption></figure>

***

### <mark style="background-color:purple;">What Makes a Good First Prompt?</mark>

The best prompts answer three questions clearly. \
If you cover these three things, Cyra has enough to build a playable game on the first try.

#### <mark style="color:$primary;">**1. What does the player control and how?**</mark>

**Weak:** "A fun platformer." \
**Strong:** "The player moves a character with arrow keys. Left and right to move, space to jump."

#### <mark style="color:$primary;">**2. What happens in the game world?**</mark>

**Weak:** "Enemies attack." \
**Strong:** "Enemies spawn from the right side of the screen every 3 seconds and walk left. If they touch the player, the player loses a life."

#### <mark style="color:$primary;">**3. What ends the game or creates a goal?**</mark>

**Weak:** "The player tries to win." \
**Strong:** "The game ends when the player loses all 3 lives. Score is based on how many enemies were defeated."

***

### <mark style="background-color:purple;">As An Example</mark>

#### A detailed prompt:

> Create a game called "Neon Duel". It's a 2D fighting game where Player 1 is AI-controlled and Player 2 uses keyboard controls. Player 2 moves with left/right arrows, jumps with space, uses A for a laser attack and S for a punch. The characters face each other in an arena with a floor and walls. Each player has a health bar at the top of the screen. When a player's health reaches zero, the round ends and a "Game Over" screen shows the winner. Touch controls are also supported for mobile devices.

This covers controls, mechanics, win conditions, and UI so Cyra knows exactly what to build.

#### A simple prompt:

> Create a game where the player is a circle that bounces around the screen collecting stars. Arrow keys to move. Each star adds 1 to the score. Every 10 stars, a new obstacle appears that bounces around randomly. If the player hits an obstacle, game over. Show the score at the top.

Short and clear, Cyra has everything it needs.

***

### <mark style="background-color:purple;">What to Avoid</mark>

#### **Don't be vague - be clear about how your game is played!**&#x20;

"Make a fun RPG" gives Cyra almost nothing to work with! What does the player see? What do they click? What's the goal? Here's the sweet spot:

> **Too vague:** \
> "Make a space game." Cyra doesn't know if you want a shooter, exploration game, trading sim, or something else entirely.

> **Just right:** \
> "Create a game where the player pilots a spaceship with arrow keys. Asteroids drift across the screen from right to left at random speeds. Press space to shoot. Destroyed asteroids add to the score. If an asteroid hits the ship, game over."&#x20;

> **Too specific for a first prompt:** \
> "Create a space game. The ship should be 64x64 pixels, positioned at x:100 y:360. Use a dark blue gradient background (`#0a0a2e` to `#1a1a4e`). Asteroids should use CharacterBody2D nodes with circular collision shapes of radius 20..." Describe the game, not the code! You can fine-tune technical details in follow-up prompts.

#### **Don't just name another game, describe it**

"Make something like Hollow Knight" is too broad. Instead, also describe the parts you want: side-scrolling, sword attacks, double jump, dark atmosphere, enemies that walk back and forth on platforms.

#### **Don't cram every feature into the first prompt**&#x20;

Start with the core gameplay and get that working first. Then, add features one by one in follow-up prompts. A massive first prompt describing 20 things usually creates more unnecessary complexities than a focused one!

#### **Don't stress about visuals on the first try.**&#x20;

Yet again, get the gameplay working first! Once you can play it and the mechanics feel right, tell Cyra to upgrade the visuals how you like it, or use Design Studio to edit your game personally!&#x20;

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.gocipher.gg/cipher-tutorials/2.-creating-your-first-game.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
