Navigation

    CreatiCode Scratch Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode
    1. Home
    2. info-creaticode
    • Profile
    • Following 0
    • Followers 19
    • Topics 452
    • Posts 1344
    • Best 425
    • Groups 6

    CreatiCode

    @info-creaticode

    586
    Reputation
    447
    Profile views
    1344
    Posts
    19
    Followers
    0
    Following
    Joined Last Online
    Website creaticode.com/

    info-creaticode Unfollow Follow
    Mod Helper trusted helpers china users premium-teachers Global Moderator administrators

    Best posts made by info-creaticode

    • "Remote Edit" - multiple users working on the same project remotely

      Introduction

       

      On CreatiCode.com, a team of up to 6 users can work on the same project at the same time, using a new feature called “remote edit”. This is a fun experience that allows several people to write code together on their own computers. When one person makes a change, such as adding a block or changing an input value, the other person sees the change right away. This is similar to how we edit the same Google Doc at the same time online.

      This tool can be very handy for group projects. You can collaborate using the driver + navigator model, or work on different parts of the same project at the same time.

       
       

      How to start a “remote edit” session

       

      Here are the 3 steps for multiple users to start a remote edit session:

      1. Owner User shares a new project. Only one user will be the owner of the project, who can save changes to the project. The owner user then gives the project’s URL to other guest users, maybe through email or text message. The owner user must also open the project in the playground and wait for the guest users to join.

      2. Guest Users open the project in the CreatiCode playground, select the “Edit” menu on top, and then select “Request to edit”, then wait for the owner user to approve the request. Note that this menu option will not be visible if the owner user has not opened the project.

      3. Owner User selects which guest users to accept, and then clicks the “Accept Selected” button.

      Here is a screen recording for what 2 users would see on their computers (the left half is for the owner user and the right half is for the guest user):

      startsession.gif

       
      After the 3 steps above, both users will be able to change the same project at the same time on their own computers. Note that all users in the session can make changes, but only the owner user can save these changes to the project.

       
       

      Tracking Users with the Colored Dots

       

      Each user in the session is assigned a colored dot. If a user has selected sprite A, then their colored dot will appear under the icon of sprite A in the sprite info pane. When this user selects another sprite, the colored dot will move as well on all computers. This way, you can quickly find out what other users are looking at or working on.

      dots.gif

       
       

      Making Code Changes

       

      After the remote edit session has started, both users can make changes, such as adding/removing blocks, changing input values, etc. When one user is changing a block, that block will become greyed out on the other user’s screen, which indicates the remote user is making some changes. Users should try to avoid making changes to the same block at the same time, since the changes may conflict with each other, and only one change will be saved.

      The screen recording shows what 2 users would see:
       
      remoteeditsync.gif

       
       

      Adding/Removing Sprites

       

      When a user adds or removes a sprite, it will be reflectedon the other computers as well. Note that you can only add sprites from the standard library or the AI library, or add an empty sprite. If you upload a sprite or image, it won’t be synchronized to other computers.

      The screen recording shows what 2 users would see:
       
      sprite.gif

       
       

      How to end a “remote edit” session

       

      To end a “remote edit” session, the owner user can click the red “End” button at the bottom. A guest user can also choose to “Exit” the session. If that user is the only guest user left, then the session will be ended as well.

       
       

      Best Practices

       

      Here are some suggestions on how to make use of this feature effectively:

      1. Voice Communication: When the users are not in the same room, it is better to have a voice communication channel, such as a zoom meeting or a phone call on the side. This can make it much easier for the 2 users to decide who will do what.

      2. Division of Work: Although these users can make changes at the same time, they can not change exactly the same block at the same time. For example, if one user is updating the input parameters in a block, and the other user is deleting that block, then the result may be unexpected. It is recommended that the users in the team work on different sprites or stacks of blocks to avoid conflicts.

      posted in Tools
      info-creaticode
      CreatiCode
    • RE: Some avatars aren't shown to select until searched for

      FYI this issue is fixed now.

      posted in Feedback
      info-creaticode
      CreatiCode
    • RE: Current error with accessing the website

      Hi all,

      Sorry there was an outage on our platform earlier this morning. Sorry about the inconvenience. Now we are back online.

      CreatiCode

      posted in Feedback
      info-creaticode
      CreatiCode
    • RE: What is this?

      @tyller_

      Please give it a try. I would love to hear your feedback. It is always a challenge to know when to give out the answer and when to hold it back, even for human teachers. Our current setting is to make the AI keep providing more hints when the user struggles. Hopefully, that will be good enough for most situations.

      posted in Help
      info-creaticode
      CreatiCode
    • How to record and share screen recordings as gifs

      Introduction

       

      When you need to explain how a project should work, the best way is to make a screen recording of the stage. This short article will explain which tools you can use to record the screen, and also how to share the gif file to get a URL for it.

       
       

      Screen Recording on Windows

       

      If you are using a Windows computer, we recommend a free tool named “ScreenToGif”, which you can download here: https://www.screentogif.com/

      Here is a short video explaining how to use it: https://www.yo utube.com/watch?v=ELfCBzN1Mtc

       
       

      Screen Recording on Macbook

       

      If you are using a Macbook, you can use a free tool called “Giphy Capture”: https://giphy.com/apps/giphycapture

      Here is a short video showing how to use it: https://www.yo utube.com/watch?v=m-4cJMBGfS4

       
       

      Share your gif file

       

      Once your gif file is ready, you can share it this way:

      1. Go to the “My Stuff” page at https://play.creaticode.com/mystuff, and make sure you are logged in.

      2. Select “My Files” tab on the bottom left

      3. Click the “+Share a New File” button on the top right

      4. In the pop up window, click “Click to upload file”, and then select the gif file from your computer.

      5. Click the green button that says “upload and share with the CC Attribution license” at the bottom.

      After that, you will see the new file in the list of files, and then you can click “Copy file URL” button for that file, which will copy the URL to the clipboard, which would look like this: https://ccdncreaticodecom.b-cdn.net/user-files/BfemEPCxatY6MMAPs/castfireball.gif

      posted in Tools
      info-creaticode
      CreatiCode
    • RE: Some avatars aren't shown to select until searched for

      @jeffreyrb03-gmail

      Acknowledged. This will be fixed soon. Thanks

      posted in Feedback
      info-creaticode
      CreatiCode
    • Magic Wand Selector in the Costume Editor

      Introduction

       

      In the costumer editor, when the costume is in bitmap mode (as opposed to vector mode), you can use the magic wand tool to select an area with similar colors, then delete the designated area or fill it with a new color.

       
       

      Making a Selection

       

      To make a selection, you simply need to select the magic wand tool, then click on the area you would like to select. It can be of any shape, and may even contain holes in it:

       
      selectmagic.gif

       
      Behind the scenes, it uses a “flood fill” algorithm to expand the selected area into neighboring points, so long as their colors are similar to the point you have clicked.

      Note that if your computer is slow or if the costume is big, then it will take longer for this tool to determine the selected area.

       
       

      Changing the Tolerance Threshold

       

      When the magic wand is selected, you can specify a tolerance threshold value. Its value is between 1 and 255, and by default, it is 5. This value represents how much difference in color it would tolerate when it tries to expand the selection area:

      • When the value is low, it will make sure the selected area only contains points very similar to the point you have clicked;
      • As the value increases, it will include more points even if they are more different from the starting point.

      As shown, when you change this value, the selected area will be updated automatically:

       
      magicthreshold.gif

       
       

      Delete or Fill the Selected Area

       

      After you have made the selection, there are 2 operations you can do with those points:

      • You can click the “Delete” button or press the DELETE key to delete all of those points;
      • You can also pick a color from the “Fill” dropdown, then click the “Fill” button to fill the selected area with that color.

       
      magicfill.gif

      posted in Tools
      info-creaticode
      CreatiCode
    • RE: Code block presets?

      @jeffreyrb03-gmail

      You are right. We should allow users to submit new extensions.

      However, the code snippet library should be more like backpack than extension, since it will allow users to modify the code blocks after a snippet is imported. If it is an extension, then users won’t see its implementation and also won’t be able to customize it.

      posted in Feedback
      info-creaticode
      CreatiCode
    • Number of Seconds since 2000

      Introduction

      In MIT Scratch, you can already manage dates using the “days since 2000” block. However, if you need a more granular control of date and time, you can use this new block:

      84a02f2c-9302-495d-9688-a909e3cfd49b-image.png

       

      This block will return the number of seconds that have passed between the given timestamp and the beginning of 2000.01.01.

       
       

      Input Format

       

      The input is a timestamp, which contains the date, a “T”, and then the time. The date is represented as year:month:day. The time is represented as hour:minute:second. Each field has to be 2 digits, except that the year has to be 4 digits.

      The timestamp is assumed to be the local time of the computer that’s running this program. If you want to use the UTC time, which is the same across the world, then append a “Z” at the end of the timestamp, such as “2024.01.01T10:00:00Z”.

      a03f7006-53e3-4b0a-96fa-299f6a71d685-image.png

      If the input is left empty, then the current time is used:

      84ac9740-6f1c-42b6-bb01-d49156e68cc8-image.png

       
       

      Calculating Time Difference

       

      With this new block, you can easily calculate how many seconds are between 2 timestamps. You just need to run this new block for both timestamps, then calculate the difference between them:

      b752552c-7bf4-440b-b9c7-d97d01def797-image.png

       
       

      Converting to Date

       

      You can also convert the number of seconds back to a Date object. For example, the program below first gets the number of seconds for a specific timestamp, then create a date object using that result, and we get the same timestamp as our input:

      5b827cfc-00b2-482b-8755-78c69995af2d-image.png

      posted in 2D Blocks
      info-creaticode
      CreatiCode
    • RE: Need help and ideas

      @attractive-milk

      Maybe you can try these ideas?

      1. Click the trash bin again to make it stop yelling
      2. Make random garbage items fly out of the trash bin
      3. Drag and drop garbage items into the trash bin
      4. Make the trash bin move to random places on the stage
      5. Add multiple clones of the garbage bin of different looks.
      posted in Project Showcase
      info-creaticode
      CreatiCode

    Latest posts made by info-creaticode

    • CreatiCode XO - The Agent Mode

      Introduction

       
      Coding agents like Claude Code or Codex have been drastically changing how computer programmers work over the past year, and will continue to do so. They can write code much faster than human programmers, and they even enable people who don’t know coding to create apps and websites by simply describing them with words - so called “vibe coding”.

      At this point of time, no one can predict what software engineering looks like in 10 years, or how AI would transform other types of jobs. However, it is pretty obvious that everyone would be using AI agents as part of their work, so it is an important skill for every student to pick up.

      Today, we are introducing a new “agent mode” for the XO AI assistant. In this mode, XO would not just “chat”, but actually make changes to the assets or code blocks in your project directly based on your instructions, such as adding a background image or changing some code blocks. If you learn to use the agent mode well, you will not only build projects faster on CreatiCode, but also become more comfortable working with other agents for learning or work in the future.

       
       

      Turn On/Off the Agent Mode

       
      To use XO in the agent mode, you simply need to check this checkbox in the XO chat window, and your selection will be remembered. Uncheck it to return to the previous “chat-only” mode.

      47a9e112-2738-476f-917a-0905410daaa6-image.png

       
      For teachers, you can enable or disable this feature for the class in the class management page:

      0db657a0-3f18-4e8b-b285-327d30893bf4-image.png

       
       

      Basics of Working with the XO Agent

       

      When working with the XO agent, this is typically what would happen:

      1. You start with a request to build something new or change an existing project;
      2. The XO agent may ask you some questions to confirm/clarify what you want to do;
      3. After the agent has gathered enough information, it will start working on the request, such as adding a costume (search in the AI image library or draw a new svg costume), adding a new sprite, adding code blocks to a sprite, changing some code blocks in a sprite, etc.
      4. The agent will stop after completing a reasonable milestone, and ask you to review its work. You can ask it to change its work or continue to the next milestone. Of course, if your request is relatively small, it may finish all the work in one go.

      The first and forth steps now become much more important, and they will require creativity, critical thinking and agency.

      In addition, knowledge about coding is still very valuable. They will allow you to specify the task better and evaluate the agent’s work better.

       
       

      Prompt Clinic Score

       

      Every time you submit a message, it will be scored based on how well it is written. This is our “Prompt Clinic” tool that helps you improve prompting skills over time.

      If the score is 1 (the lowest), that means your request maybe unclear or confusing, so it will NOT be sent to XO; if the score is 2 to 5, then the request will be sent to XO as usual (not blocked).

      ae3dba94-15c2-4b2c-9c01-8334e5a68726-image.png

       
      When the score is 1, you can click the continue anyway button to force the agent to respond, but we strongly recommend you to send a new request that is clearer and more detailed.

      Read more about the Prompt Clinic in this post.

       
       

      Example Workflow - Create a Game

       

      Below is a more concrete example of how you can work with the XO agent to build a simple game. It is just an example to give you some idea how it works, and when you use the agent yourself, it may behave very differently depending on how you prompt itt.

       
       

      Step 1 - Turn On the Agent Mode

       

      Create a new project, open the XO chat window, and turn on the agent mode. You can turn it off to return to the “chat” mode, or close the window using the “X” button at top right.

      t1.gif

       
       

      Step 2 - Submit a new request

       

      Since we are starting from a blank project, make sure the agent knows what type of game you want to build, and provide enough information for it to get started (the more the better). If the game is kind of well known, then it should know what to build from the name, but if it is a more original game idea, then you need to provide more information.

      For this example, we will start with this request: build a classic breakout game, with a few rows of breaks at top, and the player controls a paddle to bounce a ball up to break the bricks.

      2fd1740d-a158-4585-8049-ee9f596d002d-image.png

       
      As shown, the Prompt Clinic gave it a score of 3 (Solid), because it is very broad and missing many details. That’s still good enough for now.

       
       

      Step 4 - Refine the request

       

      In the previous step, the agent first suggested a first milestone that it can work togethers, then asked 2 questions, one on the color of bricks, and another one whether to get started on the first milestone.

      It is always a good idea to answer the agent’s questions, unless you want to make big changes in the plane.

      In this case, suppose we don’t want the agent to start coding yet. Instead, we want it to prepare all the sprites and the backdrop first. We can provide more details like this: make the bricks colorful. Also, don’t work on any code yet. For first milestone, only prepare the sprites and the backdrop.

      This is a fairly “strong” prompt that specifies the exact scope of work for the agent to work on. As you will see, the Prompt Clinic rated it as 5 (Exceptional).

      t3.gif

       
      After some thoughts, the agent decided that it has enough information to get to work! It generated a simple blue background, and 5 colored bricks. During this time, the XO chat window is minimized at the bottom right, so we can observe what it is doing. When it is done, it presents a summary of what it did for us to review, and also suggests what can be done next:

      d6769243-1402-48ac-a8c7-86833a46e9b0-image.png

       
      The stage looks like this now:

      9adc709f-ebf1-4fb3-9a80-e190fc729852-image.png

       
       

      Step 5 - Prepare more assets

       

      In the previous step, the agent did not generate the paddle and the ball, which are also essential to the breakout game. This is because the agent is instructed to only work on small milestones and do not do “too much” in each run. This allows the user to review its work without overwhelming them. In this case, the agent already created a backdrop and 5 brick sprites, so it “feels” this may be a good time to stop.

      For this step, we can simply make it finish the artwork: add the paddle and the ball, and remove the dog sprite. Of course, we could just remove the dog sprite ourselves, but this is a good test.

      t5.gif

       
      It turns out the agent did a pretty good job in following our instruction.

       
       

      Step 6 - Improve the assets

       

      Before continuing, we should fix another problem: the agent added 5 brick sprites with different colors. However, to be more efficient, we should only have one brick sprite with multiple costumes, so we can easily create clones of this sprite. This is where if you know how to code already, you can point out issues with the agent’s work.

      t6.gif

       
      As shown, the agent created the single Brick sprite, and then deleted most of the existing bricks. It somehow missed the purple brick (the agent is not perfect), so we have to delete it ourselves to save time.

      Now the project has all the sprites we need, and the agent also renamed our project based on our request:

      084ee732-30ba-439a-882b-1f8807633d60-image.png

       
       

      Step 7 - Add Code Blocks

       

      Finally, we are ready to ask the agent to start coding. It is always a good idea to give the agent a small milestone to work on. In this case, let’s make it focus on the bricks:now add code to the Brick sprite so it creates 5 rows of bricks, 10 in each row, using clones.

      t7.gif

       
      This time the agent added some blocks to the Brick sprite. It will create the bricks at top like this:

      01dc8ce0-0f23-4a75-bea2-25a6fb48b6e6-image.png

       
       

      Step 8 - Retry a step

       

      Whenever we submit a new request, a snapshot of the entire project is taken, so if we don’t like what the agent did, we can revert the project to its previous state and try again.

      In this example, the bricks are all the same color for each row. Suppose we want to make the colors more random, we can send a new message to ask the agent to fix it, or we can trigger a “retry”:

      t8.gif

       
      As shown, after we click “retry” and confirm, the project is reverted to its state before any code was added to the Brick sprite, and our message is copied into the input box for us to reuse. In this case, we will simply add some addition requirement that the bricks have to be random:

      t9.gif

       
      Now we get a random brick wall like this:

      50485d74-2da1-4bfa-bb1d-3e5c3904ac8c-image.png

       
      The game is still not done, but we will stop the example here since you have seen how the agent works. Feel free to create this game or any other project you like.

       
       

      Conclusion

      In summary, the XO agent is not perfect, but it can already help you build your dream project faster and maybe better. The more you use it, the more you will understand its strength and weakness. Give it a try!

      posted in Tools
      info-creaticode
      CreatiCode
    • CreatiCode XO - Prompt Clinic

      Introduction

       
      To help you learn to improve your prompting skills, we have developed a new tool called “Prompt Clinic”. Whenever you submit a message to XO, either in the chat or agent mode, we would give it a score and provide some feedback on how well that prompt is written.

       
       

      The Rating Scale

       

      Your prompts may get a score between 1 and 5. Below is the rules used to determine the score:

      d1b18f5e-4fe6-4e20-8bab-7a895c6f05bc-image.png

       
       

      Poor Prompts Are Blocked

       

      When your prompt is given a score of 1, it will be automatically blocked. That is, it will not be sent to the XO server for a response. For prompts with a score of 2 to 5, they will be sent to XO as usual.

      ae3dba94-15c2-4b2c-9c01-8334e5a68726-image.png

       
      When this happens, don’t just wait for XO to respond, since it will not see your prompt. You can click the continue anyway button to force the agent to respond, but we strongly recommend you to send a new request that is clearer and more detailed.

       
       

      Pro Techniques

       

      There are some commonly used prompting techniques that would normally lead to much better results if you used them well. They are listed below for your information.

       
       

      Assign a role

      One of the easiest ways to get a sharper answer from XO is to tell it who it should be when it replies. Large language models know a lot about almost every subject, but they answer more precisely when you pin them to a specific perspective. Without a role, XO tends to give generic, middle-of-the-road answers. With a role, it pulls from the vocabulary, habits, and typical concerns of that expert.

      In Creaticode, a role is especially useful when your question sits on the edge of a specialty — physics, game design, art, storytelling, data, or teaching younger kids. Picking a role nudges XO to use the right words and think about the right trade-offs.

      Examples you can try:

      • “Act like a game designer. Review my platformer project and tell me which parts feel too easy or too hard.”
      • “Pretend you are a physics teacher explaining to a 12-year-old. Why does my falling ball sprite look so floaty compared to real life?”
      • “You are an experienced Creaticode mentor. Look at my script on the Cat sprite and point out any blocks that are redundant.”
      • “Act like a children’s book writer. Help me rewrite the dialogue on my Wizard sprite so it sounds more magical.”

      Notice that the role can be a profession (teacher, designer), a skill level (mentor, beginner), or a personality (strict reviewer, friendly coach). Pick whichever best matches the kind of answer you need.

       
       

      Give a worked example

      A worked example shows XO exactly what shape of answer you want. Instead of describing the output in words (“give it a nice format”), you show one or two finished samples and ask XO to continue the pattern. This is much more reliable because words like “nice” or “clear” mean different things to different people, but a concrete example can only be read one way.

      This technique is particularly helpful when you want a list of items, a naming scheme, dialogue lines, or formatted data.

      Examples in Creaticode:

      • “I want to rename my sprites in a consistent way. Here’s the pattern I like: Player_Cat, Enemy_Dog, Item_Apple. Please suggest names for the rest of my sprites following this pattern.”
      • “Give me 5 new enemy names for my space game. Here are two I already made so you match the style: Zogra the Pink Blob, Krix the Floating Eye.”
      • “Make my Cat sprite say funny lines when it loses. Example tone: ‘Oof, gravity won this round.’ or ‘Note to self: jumping ≠ flying.’”
      • “I want score messages. Examples: Score 10 → 'Nice start!', Score 50 → 'You're on fire!'. Now give me messages for 100, 200, and 500.”

      You don’t need many examples — two is usually enough. The more unusual your style, the more useful it is to show examples.

       
       

      Provide reference data

      Never make XO guess numbers, names, or error messages when you can paste them in directly. Paraphrasing (“the error said something about undefined”) forces XO to guess, and guesses are often wrong. Real data shuts down the guessing and lets XO focus on solving the actual problem.

      This matters a lot in Creaticode because the details are often exactly what determines the bug.

      Examples:

      • Block names: Instead of “I used the move block”, say “I used move 10 steps” so XO knows whether the issue is with movement amount or direction.
      • Variable values: Instead of “the score is wrong”, say “after 3 enemies are defeated, score = 2, but it should be 3.”
      • Stage coordinates: Instead of “the sprite is in the wrong place”, say “the Cat sprite should land at x=120, y=-80 but ends up at x=120, y=-40.”
      • Error or console output: Paste the exact red message you see. A single digit or color value can change the whole diagnosis.
      • Costume or sound names: Say “my Cat has costumes cat-idle, cat-run-1, cat-run-2” so XO knows the exact names to reference in the code it writes.

      Think of it this way: XO can read anything you put into the chat, but it cannot see your project for free. Every concrete number or name you paste is one less thing it has to guess.

       
       

      State expected vs actual

      “It doesn’t work” is one of the hardest prompts for XO to answer, because it has no idea what “work” even means to you. The fix is to split your description into two parts: what you expected, and what actually happened. This turns a complaint into a diagnosable report.

      When XO has both pieces, it can jump straight to comparing them and looking for the cause of the difference.

      Examples in Creaticode:

      • “Expected: When I press the space key, the Cat jumps up and slowly falls back down. Actual: The Cat jumps up but then stays in the air forever.”
      • “Expected: The score should go up by 1 each time the arrow hits a balloon. Actual: The score jumps by 3 every time, even with a single arrow.”
      • “Expected: The background should change from day to night after 10 seconds. Actual: It flickers between day and night every half-second.”
      • “Expected: My 3D ball should roll smoothly across the floor. Actual: It teleports from one end to the other without moving in between.”

      This pattern works for art and story bugs too, not just logic:

      • “Expected: The Dragon sprite faces the direction it’s moving. Actual: It always faces right, even when flying left.”

      If you can, add what you already tried as a third line — that saves XO from suggesting the same thing again.

       
       

      Point out specific issues

      When XO gives you code or an explanation and something is off, resist the temptation to just say “that’s wrong” or “try again”. Those prompts give XO no information — it has to guess what you didn’t like and usually guesses differently than what you meant. Instead, name the specific part that’s wrong and, if you can, say which direction to adjust.

      This is a key skill because you will go back and forth with XO a lot. Clear feedback shortens the loop from ten tries to two.

      Examples:

      • Not: “The jump is wrong.”
        Better: “The jump is too fast. Slow it down by about half.”
      • Not: “The sprite looks weird.”
        Better: “The Cat sprite turns upside-down when it walks left. It should face left instead of flipping.”
      • Not: “The code is wrong.”
        Better: “The when space key pressed block should be on the Player sprite, not on the Stage. Please move it.”
      • Not: “That’s not what I meant.”
        Better: “I only wanted the Dog sprite to bark when clicked — your code makes every sprite bark.”

      The pattern is: what is off → how to adjust. Even pointing out just one of the two is much better than none.

       
       

      Suggest a diagnostic action

      Sometimes you and XO are both stuck — neither of you knows why the code misbehaves. Rather than guessing, you can tell XO to add a small piece of diagnostic code that will reveal what’s happening. This is what real programmers do when they debug.

      A diagnostic action asks XO to insert something like a print statement, a log, or a temporary visual signal, and then report back what it shows.

      Examples in Creaticode:

      • “My enemy sprite isn’t moving. Add a say block inside the forever loop that shows the x-position every second, so we can see if the x-value is changing.”
      • “My score variable seems broken. Make the score show in a say bubble every time an enemy is hit, including the new score value, so we know when it’s being updated.”
      • “The Ball sprite is supposed to bounce off walls. Change the Ball’s costume color briefly each time it touches an edge so I can see when the edge-detection fires.”
      • “The 3D character keeps falling through the floor. Add a text label above the character that shows its y-position, so I can watch the drop happen in real time.”

      After XO adds the diagnostic, run your project, look at what appears, and report the values back. With real data in hand, XO can usually point at the real cause quickly.

       
       

      Specify tone or audience

      By default XO writes for a general programmer — which can be too technical if you’re new, or too childish if you’re advanced. You can reshape its answers by telling it who is listening and what voice you want.

      This is especially useful for explanations, tutorials, and in-game dialogue.

      Examples:

      • “Explain how the broadcast block works like I’m 10 years old, no code, just words.”
      • “Use very simple English. English is not my first language.”
      • “Write your answer like a patient tutor, not a lecture. Stop and ask me if I follow each step.”
      • “Explain this in one short paragraph only. Then I’ll decide if I need more.”
      • “Write the Wizard sprite’s lines in a playful, slightly spooky voice, like a friendly Halloween story for kids.”

      You can also flip this for your own notes:

      • “Summarize what we built today like a changelog entry for a game dev blog.”

      The more specific your tone request, the more XO’s output will match the vibe you want on the first try.

       
       

      Ask for a plan first

      When the task is big or complicated, don’t let XO jump straight to building. Asking for a plan first forces it to think through the pieces before writing code. You can read the plan, catch mistakes early, and correct course before any blocks are placed — which saves a lot of time compared to fixing a half-built project.

      This is especially valuable in agent mode, where XO actually modifies your project.

      Examples:

      • “I want to add a boss fight at the end of level 3. Before you build anything, list the steps you plan to take — what sprites, what blocks, what variables.”
      • “Help me turn this into a two-player game. First, outline what needs to change, sprite by sprite. Don’t touch the blocks until I say go.”
      • “I want the story to branch based on player choice. Tell me the structure first — which scripts, which broadcasts, which variables — then I’ll approve before you build.”
      • “Add a shop where the player can buy items. Give me a 5-step plan first.”

      You can then iterate on the plan itself (“step 3 should come before step 2”, “I don’t want a new variable, reuse the existing coins”) and only proceed when you’re happy. This is often the single biggest quality boost for medium-to-large requests.

       
       

      Set scope — positive and negative

      XO sometimes does more than you asked for — helpfully refactoring sprites you didn’t mention, renaming variables, or tidying up scripts. To prevent surprises, tell it both what you want changed (positive scope) and what you explicitly do not want touched (negative scope).

      This is especially important when you have work you’re proud of and don’t want disturbed.

      Examples:

      • “Only change the jump height on the Cat sprite. Don’t touch its costumes, sounds, or any other sprites.”
      • “Update the score display to show two digits (e.g., 07 instead of 7). Don’t change how the score is calculated.”
      • “Add a new enemy called Slime. Don’t modify the existing Ghost enemy at all.”
      • “Rewrite the Player sprite’s movement code. Keep the collision blocks exactly as they are — they took a long time to tune.”

      A useful phrase: “Everything else in the project must remain unchanged.” This tells XO clearly that the rest of the work is off-limits.

       
       

      Request alternatives

      If you want a design choice — not just a fix — ask XO for two or three options rather than a single answer. You can then pick the one that fits best, or mix ideas from several. This keeps you in the driver’s seat instead of accepting the first solution XO happens to produce.

      Examples:

      • “Give me 3 different ways to make my Cat sprite jump — simple, realistic, and cartoony. Describe each in one sentence.”
      • “Show me 2 options for the level-complete sound. One heroic, one funny.”
      • “Suggest 2 ways to track the player’s lives — a variable with hearts drawn as sprite clones, or a costume-based heart bar.”
      • “Offer 3 names for my new racing game, each with a different vibe — fast, silly, epic.”

      Getting options is a great way to learn, too. Seeing two solutions side-by-side teaches you more about trade-offs than seeing just one.

       
       

      Ask the AI to self-check

      After XO builds or explains something, you can ask it to review its own work. This often catches bugs or edge cases that XO would otherwise miss, because the act of reviewing uses a different kind of thinking than the act of building.

      Think of it as asking XO to put on its QA hat after putting down its builder hat.

      Examples:

      • “After you finish the jump code, tell me what could go wrong. What if the player presses space twice in a row? What if they press it in mid-air?”
      • “Once you add the score logic, list 3 edge cases I should test — like what happens if the score goes negative.”
      • “Now that you’ve built the dialogue tree, walk through it as if you are the player. Is there any path that leads to a dead end?”
      • “After rewriting the Boss sprite, double-check that it still respects the damage variable from earlier.”

      Self-check questions lead to better final results because XO often spots issues and fixes them before you even have to run the project.
       
       

      Ask the AI to ask first

      Sometimes you’re not sure exactly what detail XO needs to do a good job. Instead of guessing and then revising, flip the conversation — tell XO to ask you the questions it needs answered before it starts. This works because XO usually knows better than you which missing details will most affect the result.

      Examples:

      • “I want to build a rhythm game. Before you start, ask me any questions you need answered to build it well.”
      • “Help me design a boss for my platformer. What do you need to know from me first?”
      • “I want to translate the whole game to Spanish. Ask me clarifying questions before beginning — there might be names or puns you shouldn’t translate.”
      • “I want my game to feel ‘cozy’. Ask me questions to figure out exactly what kind of cozy — Animal-Crossing cozy, bedtime-story cozy, or campfire cozy.”

      Answering three short questions up front is much faster than rebuilding after a misunderstanding.

       
       

      Give a negative example

      Sometimes describing what you don’t want is easier than describing what you do. A negative example can instantly rule out a wide family of solutions and point XO toward the right neighborhood.

      This technique is especially useful for art direction, style, and game feel.

      Examples:

      • “I want a movement system not like a platformer — more like a top-down adventure game, where the player can move in all four directions freely.”
      • “Make the villain sound threatening but not like a cartoon. No ‘mwahaha’. More like a quiet, calm danger.”
      • “Design the UI not like a kids’ app — I want clean, modern, minimal. Think sports watch, not cereal box.”
      • “Give me a jumping sound not bouncy, not squeaky — more like a quick, solid thud.”
      • “Not a number — I want the score shown as stars filling up a row.”

      Combining a negative example with a positive one (“not X, more like Y”) is an even stronger prompt.

       
       

      Work in small steps

      Big requests often lead to big, messy results. If you ask XO to “build a whole RPG” in one shot, it will skip details and make many choices you might disagree with. Instead, split the work into small steps, confirm each one, and only then move on.

      This is how experienced programmers build anything non-trivial — it’s not a shortcut, it’s the real method.

      Examples:

      • “Step 1 only: Make the Cat sprite move left and right with arrow keys. We’ll add jumping after.”
      • “First, just set up the enemy sprite and give it a costume. Don’t add movement yet.”
      • “Let’s build the save system in stages. Today, only save the player’s score. Next time we’ll add inventory.”
      • “Build the title screen first. Once I approve it, we’ll move on to the menu and then the gameplay.”

      An added benefit: if something breaks, you’ll know it was introduced in the most recent small step, which makes debugging much easier.

       
       

      Set success criteria

      Before XO builds something, agree on how you’ll know it’s done. Without a clear finish line, XO may keep adding features you didn’t ask for, or stop too early and miss something important. A success criterion is a short description of the final behavior you’re aiming for.

      Examples:

      • “The task is done when the score reaches 10 and a celebratory ding plays.”
      • “This is finished when the Ball sprite bounces off every wall of the stage without getting stuck.”
      • “Done means the player can beat the level without ever touching an enemy, and if they do touch one, they respawn at the start.”
      • “Success = all 5 Mushroom sprites show up in random positions at the start of each game, and none overlap.”
      • “I’ll call it done when every dialogue line fits in one say-bubble without being cut off.”

      Writing the success criterion forces you to think about exactly what you want, which is half the work of getting a good answer.

       
       

      Show your attempt

      If you’ve already tried something and it didn’t work, tell XO what you tried and what went wrong. This prevents XO from suggesting the same thing again and often helps it jump straight to the real cause.

      It also signals that you’ve done some thinking, which shifts the conversation from “explain from scratch” to “help me debug my current approach.”

      Examples:

      • “I tried the glide 1 sec to x: 100 y: 50 block, but the Cat snaps to the destination instantly instead of moving smoothly. What am I missing?”
      • “I added an if touching Enemy inside a forever loop. The Cat takes damage correctly, but then the game freezes for a second before continuing. I suspect something about loop timing.”
      • “I already tried using a variable called jumping to track mid-air state, but the Cat sometimes double-jumps anyway. I don’t understand why.”
      • “I used broadcasts to switch scenes, but the background music from scene 1 keeps playing during scene 2. I tried stop all sounds, but then the scene-2 music won’t start either.”

      A short “here’s what I did, here’s what broke” is one of the fastest ways to get high-quality help — and it’s exactly how real developers ask each other for help too.

      posted in Tools
      info-creaticode
      CreatiCode
    • RE: Why can't I edit my game?

      @helloperson91412

      Or you can email it to info@creaticode.com

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Why can't I edit my game?

      @helloperson91412

      How about screenshot image?

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Why can't I edit my game?

      @helloperson91412

      can you please be more specific in describing the issue? Also please add some screenshots. It will make it much easier to find the issue.

      Thank you

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Problem while uploading a scratch project

      @tao

      We have added a new toggle in the “Edit” menu:

      51974e3e-df58-474e-9458-b227b23ad5e3-image.png

      When you turn it on, it will keep this project to run at 30fps. It is saved as part of the project’s property so othes will run it at 30fps as well. Please give it a try.

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Problem while uploading a scratch project

      By default MIT Scratch runs at 30fps and CreatiCode at 60fps. We are going to release a fix soon.

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Why can't I edit my game?

      @helloperson91412

      what is the bug? you can’t open that specific project or you can’t play any project?

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Problem while uploading a scratch project

      We will look into it and fix it. Please post the project link here. Thank you

      posted in Help
      info-creaticode
      CreatiCode
    • RE: Why can't I edit my game?

      hi, we can see your game at the given URL:

      952a8c9b-2589-45bb-9e75-95a62de9a8b1-image.png

      Maybe you need to do a hard refresh of the page? Ctrl + Shift + r keys

      posted in Help
      info-creaticode
      CreatiCode