> 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/3a.-improve-your-game-via-design-studio.md).

# 3A. Improve Your Game Via Design Studio

<mark style="color:$info;">**Congratulations on successfully creating your first game! Ready to perfect it? Read on!**</mark>

{% hint style="info" %} <mark style="color:$info;">Haven't created one yet? We recommend you read</mark> [<mark style="color:$primary;">**1. Getting Started**</mark>](/cipher-tutorials/1.-getting-started.md) <mark style="color:$info;">to learn more about the tools you'll be mastering, and</mark> [<mark style="color:$primary;">**2. Creating Your First Game**</mark>](/cipher-tutorials/2.-creating-your-first-game.md)<mark style="color:$info;">, which will cover all the basics to get your first game up and running by the next hour!</mark>&#x20;
{% endhint %}

<mark style="color:$info;">**Your first build is just the starting point.**</mark> <mark style="color:$info;"></mark><mark style="color:$info;">The real creative control comes from what you do next. Here, you'll learn how to play with Design Studio. You can expect to place, move, and resize assets;  create and edit sprites and sounds; and tweak your game parameters directly!</mark>&#x20;

***

### <mark style="background-color:purple;">How to Improve Your Game Using Design Studio</mark>

Design Studio is your ultimate visual editor - instead of describing changes to [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) in the chat, you can directly place objects, edit sprites, create sounds, tweak game settings, and rearrange your scenes hands-on!&#x20;

Click **Design Studio** in the bottom toolbar of your workspace to open it.

***

### <mark style="background-color:purple;">Navigating Design Studio</mark>

Design Studio opens as a full-screen editor with three main areas.

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FxUfDCUaMKIkFJ5oeiI4V%2FScreenshot%202026-10-01%20121801.png?alt=media&amp;token=95c4f828-89fa-4f47-bb08-eb7eca8b73cd" alt=""><figcaption></figcaption></figure>

#### <mark style="color:$primary;">**Left panel consists of 3 Tabs**</mark>

* Scenes — Your game's scenes and the objects (layers) inside them
* Assets — All the images, sprites, animations, and sounds in your game
* Settings — Game parameters you can adjust without rebuilding<br>

#### <mark style="color:$primary;">**Center Canvas: Shows the game scene you've selected**</mark>

This is where you see and directly interact with your game objects. Select, move, resize, and rotate things right on the canvas.

#### <mark style="color:$primary;">**Right panel: Inspector Tool**</mark>

When you select an object (either on the canvas or in the layers list), the Inspector shows all its properties. You can change behaviors, swap assets, and fine-tune settings from here.

#### &#x20;<mark style="color:$primary;">**Top Toolbar: Tools for working with objects**</mark>

| TYPE OF TOOL | WHAT IT DOES                                     |
| ------------ | ------------------------------------------------ |
| Hand         | Pan around the canvas without selecting anything |
| Move         | Select and drag objects to new positions         |
| Rotate       | Rotate selected objects                          |
| Scale        | Resize selected objects                          |
| Frame        | Fit the view to show all objects                 |
| Align        | Snap objects to alignment guides                 |

Additional options like **Grid**, **Snap**, and **Chains** help you position things precisely.

***

### <mark style="background-color:purple;">Editing Your Scenes</mark>

Your game is made up of scenes (title screen, gameplay, game over, etc.).\
&#x20;The **Scenes** tab shows all of them with their layers.

1. Click a scene to load it on the canvas.&#x20;
2. On the Inspector panel (right side), you'll see all the assets in your selected scene.
3. Select any object on the scene to highlight it on the canvas and edit it or move it around.

***

### <mark style="background-color:purple;">Working with Your Assets</mark>

The **Assets** tab is where all your game's visual and audio content lives. \
You'll see your sprites, backgrounds, animations, and sounds listed here.

#### <mark style="color:$primary;">**How to Create a New Asset**</mark>

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FIypXFqzGFkzviuPCxYdo%2FScreenshot%202026-10-01%20123010.png?alt=media&amp;token=3a688b6d-f150-45af-b635-bb7cc2b8d9e9" alt=""><figcaption></figcaption></figure>

&#x20;Click **Create asset** at the top of the Assets panel. Describe what you want, and Cyra generates it for you. Each generation costs CIPHER Keys (the estimated cost shows before you confirm).

#### <mark style="color:$primary;">**How to Edit Existing Assets**</mark>

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FCZ5ThVKEiGBMsuwsRFI6%2FScreenshot%202026-10-01%20123437.png?alt=media&amp;token=c7674360-8ad5-4305-853f-9174512705c2" alt=""><figcaption></figcaption></figure>

Select any asset to open the **Asset Studio** window. What you see depends on the type:<br>

**For images and sprites**

* Preview of the current asset
* Version history (so you can go back to earlier versions)
* A prompt field where you describe changes
* **Generate** button to create a new version
* **Download** button to save it to your device

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FtUZcfpw7NAFe6a66JvEx%2Fimage.png?alt=media&amp;token=8a9ec75b-6d94-4216-a50e-51beba103bbe" alt=""><figcaption></figcaption></figure>

**For sounds and music**

* A waveform showing the audio
* Playback controls (play, pause, scrub)
* Trim handles to adjust the start and end points
* Version history
* A prompt field to describe a new version
* **Generate** to create a new sound
* **Download** to save it

#### <mark style="color:$primary;">**How to Regenerate Assets**</mark>

<figure><img src="https://3759408310-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5mjWmmBKwMg33kiyBSn0%2Fuploads%2FapfuANLDmyPBTJNiAa7S%2FScreenshot%202026-10-01%20123756.png?alt=media&amp;token=aaf44ec6-de07-47b1-bc1c-8407c888048f" alt=""><figcaption></figcaption></figure>

Don't like how a sprite/character on your selected scene turned out?&#x20;

Select any object on the canvas and the Inspector panel on the right shows everything about it:

* **Behavior** — What the object does in the game (enemy patrol, player movement, collision, etc.)
* **Asset** — The visual asset attached to this object, with **Edit Asset** and **Regenerate Design** buttons

**You can swap assets, change behaviors, and adjust properties directly:**

1. Click **Edit Asset** on any asset in the Inspector
2. **Describe** what you want different
3. Hit **Generate**. Each regeneration costs CP (shown as "Estimated cost" before you confirm). Your old version stays in the version history so you can always go back.

***

### <mark style="background-color:purple;">The Experiments Tool</mark>

Want to try a risky change without messing up your game? Experiments let you test ideas in separate chat threads while your main game stays safe. If the experiment works, apply it. If it doesn't, close it and nothing changes.

Learn more about Experiments at [<mark style="color:$primary;">**4. Using Experiments to Try Ideas**</mark>](/cipher-tutorials/4.-using-experiments-to-try-ideas.md)

***

### <mark style="background-color:purple;">The Building Blocks of a Great Game</mark>

You don't have to build your game in a specific order. [<mark style="color:$primary;">**Cyra**</mark>](https://gocipher.gg/create/games) handles all of this from your first prompt. But knowing what goes into a polished game helps you figure out what to improve next.&#x20;

Think of these as a checklist. If your game is missing something or doesn't feel finished, check which areas still need attention.&#x20;

{% hint style="info" %}
*Click ">" to expand each layer below.*&#x20;
{% endhint %}

<details>

<summary><mark style="color:$primary;"><strong>1: THE CORE LOOP</strong></mark></summary>

Your first prompt should have produced a version of your game that makes it playable. For example, one player action, one challenge, one win or lose condition.

**For a platform game, that could be...**\
A character that moves and jumps on platforms. No enemies, no collectibles, no levels. Just movement and platforms.<br>

**For a survival game, that could be...**\
Something the player controls, one type of hazard, and a way to lose. No score, no power-ups, no difficulty curve yet.

\
**For a fighting game, that could be...** \
Two characters, basic attacks, health bars, and a game over when health hits zero. No combos, no special moves, no round system.

\
If the core loop or gameplay doesn't feel right, nothing you add on top will fix it! \
Test this thoroughly:  <br>

* Does movement feel good?&#x20;
* Is the basic challenge fun?&#x20;
* Is the win/lose condition satisfying? <br>

If not, fix it first before moving on! Tell Cyra to adjust the speed, change the controls or tweak the base difficulty.&#x20;

</details>

<details>

<summary><mark style="color:$primary;"><strong>2: GAME FEEL AND EFFECTS</strong></mark></summary>

This is about the small things that make a game feel responsive and dynamic instead of flat! It could range from speed, weight, responsiveness, to screen shake on hits, smooth acceleration and satisfying jump arcs.

**For example:**

> "Make the player movement snappier. Reduce the acceleration time so the character responds immediately when I press a key."

> "Add a small screen shake when the player takes damage."

> "Show a brief flash effect when an enemy is hit."

> "Add a short freeze frame (like 100ms) when the player lands a big attack."

</details>

<details>

<summary><mark style="color:$primary;"><strong>3: PROGRESSION AND CHALLENGE</strong></mark></summary>

You may want to improve the systems and rules that give players a reason to keep playing. \
Difficulty curves, scoring, levels, power-ups, collectibles or wave systems.

**For example:**

> "Enemies should spawn faster over time. Start with one every 3 seconds and gradually decrease to one every 1 second by the 2-minute mark."

> "Add a score counter. Each enemy defeated is worth 10 points. Display the score in the top right corner."

> "After the player clears 10 enemies, start a new wave. Each wave should have 2 more enemies than the last one."

> "Add 3 levels. Level 1 has basic platforms. Level 2 adds moving platforms. Level 3 adds platforms that disappear after you step on them."

</details>

<details>

<summary><mark style="color:$primary;"><strong>4: VISUAL TRANSFORMATION</strong></mark></summary>

Refining sprites, adding atmosphere to backgrounds, improving animations, making the whole thing visually consistent. Your game already has a visual direction from the first build. This is where you push it further.

**Example prompts:**

> "Change the background to a dark purple gradient. Add subtle star particles that drift slowly across the screen."

> "Replace the plain colored rectangles for the player and enemies with more detailed sprites. The player should look like a small knight and the enemies should look like slimes."

> "Add a background with clouds in the front layer and mountains in the back."

> "Make the health bar pulse gently when there is only one life left."

</details>

<details>

<summary><mark style="color:$primary;"><strong>5: MENUS, UI AND FINAL TOUCHES</strong></mark></summary>

Title screen, pause menu, game over screen, score displays, gameplay instructions. The finishing touches that make your game feel like a real, complete product.

**Example prompts:**

> "Add a title screen that shows the game name and a Play button. Clicking Play starts the game."

> "On the game over screen, show the final score, the number of enemies defeated, and a Restart button."

> "Add a pause menu when the player presses Escape. Show Resume and Quit options."

> "Add a brief instructions overlay that shows controls when the game starts for the first time. The player clicks to dismiss it."

</details>

<details>

<summary><mark style="color:$primary;"><strong>6: ADDING AUDIO</strong></mark></summary>

Background music, sound effects that trigger on events (or certain actions) , ambient or atmospheric sounds. Audio is what makes a game feel complete!&#x20;

**Example prompts:**

> "Add a jump sound effect when the player jumps."

> "Add a hit sound when an enemy takes damage and a different sound when they're destroyed."

> "Add cute, catchy background music that loops during gameplay."

> "Add a victory jingle that plays on the win screen."

If the audio doesn't land on the first try, try rephrasing or adding more details! (Copyrighted music will not be generated)

</details>

> **Quick-tip:** If you're not sure what to work on next, simply find the first one that still needs your attention.&#x20;

***

### <mark style="background-color:purple;">Commonly Used Improvements by Game Genre</mark>&#x20;

Need some suggestions on how to improve and refine your game?&#x20;

Here are some prompts which highlight certain uniqueness often found in different game genres.&#x20;

You can use them, tweak them or simply be inspired by them!&#x20;

{% hint style="info" %}
*Click ">" to expand each layer below.*&#x20;
{% endhint %}

<details>

<summary><mark style="color:$primary;"><strong>PLATFORM GAMES</strong></mark></summary>

Platformers live or die on how movement feels. Most of your early iteration will be tweaking jump height, gravity, speed, and how the character interacts with platforms.

> "The jump feels too floaty. Increase gravity so the player falls faster after reaching peak height."

> "Add coyote time. The player should be able to jump for a short window after walking off a platform edge."

> "Add wall jumping. When the player is against a wall and presses jump, they should bounce off the wall in the opposite direction."

> "The player clips through thin platforms sometimes. Make collision detection more reliable."

> "Add moving platforms that travel back and forth horizontally. Place them over a gap between two static platforms."

> "Add collectible coins on the platforms. Each coin adds 1 to the score and disappears when touched."

</details>

<details>

<summary><mark style="color:$primary;"><strong>SURVIVAL AND DODGE GAMES</strong></mark></summary>

These games are about tension that builds over time. Your iteration focus is the difficulty curve: how fast does it get hard, and does the player always feel like they almost survived?

> "Increase enemy spawn rate over time. Start with one every 4 seconds and ramp down to one every 0.5 seconds over 3 minutes."

> "Add a safe zone that appears randomly for 3 seconds every 30 seconds. The player can't be hurt inside it."

> "Make enemies that are about to spawn flash a warning on the ground for 1 second before they appear."

> "Add a dash ability on Shift. The player moves quickly in the direction they're facing and is invincible during the dash. 2-second cooldown."

> "Add a combo system. Dodging enemies within 1 second of each other builds a combo multiplier on the score."

> "Display a ghost trail showing where the player was 2 seconds ago, so they can see their own movement pattern."

</details>

<details>

<summary><mark style="color:$primary;"><strong>FIGHTING AND COMBAT GAMES</strong></mark></summary>

Combat games need attacks that feel impactful. Focus on timing, feedback, and making each hit land with weight.

> "Add a heavy attack on the D key. It's slower than the normal attack but does 3x damage and pushes the enemy back."

> "When the player lands a hit, freeze the game for 50 milliseconds to make the impact feel heavier."

> "Add a block ability on S. While holding S, the player takes half damage from attacks."

> "The AI opponent just stands still. Make it walk toward the player and attack when in range, then back off and circle before attacking again."

> "Add a health bar that turns from green to yellow to red as health drops."

> "When a round ends, show a results screen with damage dealt by each player and a 'Next Round' button."

</details>

<details>

<summary><mark style="color:$primary;"><strong>PUZZLE AND CASUAL GAMES</strong></mark></summary>

Puzzle games need clear rules and satisfying feedback when the player does something right. Your iteration is about making the logic airtight and the interactions obvious.

> "When the player matches 3 tiles in a row, make the tiles flash before disappearing and slide new ones in from the top."

> "Add a move counter. The player has 20 moves to reach the target score. Show remaining moves on screen."

> "Add a hint system. After 10 seconds of no input, highlight one valid move with a subtle pulse."

> "The game should get progressively harder. Level 1 has a 4x4 grid with 3 tile colors. Level 2 has a 5x5 grid with 4 colors. Level 3 has a 6x6 grid with 5 colors."

> "Add a star rating at the end of each level. 1 star for completing it, 2 stars for fewer than 15 moves, 3 stars for fewer than 10."

> "Add a gentle particle burst when tiles are cleared. Different color particles for different tile colors."

</details>

<details>

<summary><mark style="color:$primary;"><strong>WAVE AND ARENA GAMES</strong></mark></summary>

Arena games are about escalation. Each wave should feel meaningfully different from the last. Your iteration focus is variety and pacing.

> "After wave 5, introduce enemies that shoot projectiles at the player instead of chasing directly."

> "Every 3 waves, spawn a boss enemy that's larger, has more health, and drops a health pickup when defeated."

> "Add a power-up that spawns randomly every 2 waves. Picking it up gives double damage for 10 seconds."

> "Between waves, give the player a 5-second break with a banner showing which wave is coming next."

> "Add environmental hazards. After wave 7, lava patches appear on the arena floor that damage both the player and enemies."

> "Track and display the player's highest wave reached across sessions with a 'Best' counter on the game over screen."

</details>

<details>

<summary><mark style="color:$primary;"><strong>AUDIO AND VISUAL POLISH (ANY GENRE)</strong></mark></summary>

These changes can apply to any type of game once your gameplay is solid.

> "Add a screen shake effect when the player takes damage. Small shake, nothing too intense."

> "Add particle effects when enemies are destroyed. Small explosion of colored dots."

> "Change the font for all text to something that feels more like an arcade game."

> "Add a smooth camera follow so the view gently tracks the player instead of snapping."

> "Darken the background slightly and add a vignette effect around the edges of the screen."

> "Add a simple animation to the main menu title. It should slowly pulse or glow."

> "Add footstep sounds when the player walks and a landing thud when they hit the ground after a jump."

> "Add a low, ambient background track that loops. Keep it subtle so it doesn't overpower the sound effects."

</details>

***

### <mark style="background-color:purple;">When to Iterate, Rebuild or Start Fresh?</mark>

**Keep iterating...** \
when your game is mostly working and each change lands properly.

**Rebuild...** \
when the game feels unstable, the preview is broken, or changes keep conflicting with each other. Rebuild re-reads your whole conversation and generates a clean version.

**Start a new project...** \
when your conversation has gotten really long and too confusing for you to start building a game on (it happens!), or when you've learned enough from this attempt to start over with a much better first prompt. Sometimes a fresh start is the fastest path forward.

***

### <mark style="background-color:purple;">Tips from Our Beta Game Creators (Like you!)</mark>&#x20;

1. **Play your game after every single change.** \
   Don't stack up multiple changes without testing. Catching a problem early saves a lot of time.<br>
2. **Use Fullscreen to test properly.** \
   The small preview panel can hide bugs that only show up at full size.<br>
3. **If Cyra keeps failing on a change, try saying it differently.** \
   Sometimes the exact same request phrased another way works on the first try.<br>
4. **Sound and music requires trial and error!** \
   Cyra can add audio, but results will vary depending on your requests. Keep your expectations realistic and be detailed when creating this one! <br>
5. **This is a Beta version**&#x20;

   You're one of our pioneering creators witnessing this tech! When you build games and provide feedback, we'll be able to work even faster in improving every creator's experience. Use the Feedback button or visit [<mark style="color:$primary;">**Discord**</mark>](https://discord.com/invite/gocipher) to tell us what's working and what isn't - we're all ears!&#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/3a.-improve-your-game-via-design-studio.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.
