PixelTread
Product

GML language tutorial practice on your own GameMaker scripts

01

If you learn from a GML language tutorial, this page shows what PixelTread adds to it. The agent reads your scripts, edits them with a diff you can review, runs your build command and reads the official GameMaker manual, all inside a project you own. Lessons explain ideas. PixelTread applies one idea at a time to your real files, shows each change as a card, and waits for your decision when you use Ask first, so you keep learning instead of pasting blindly.

01

Edit GML files

It reads scripts and writes changes with edit_file, then shows a diff of the changed lines before you accept.

02

Run your build

Shell runs your own build or test command if you have one, and the card reports the real exit code.

03

Read the manual

web_search and http_get fetch the official manual, so the function names it uses come from the source.

What PixelTread can do for your project

Every action is a card you can open

Each tool call appears in the chat as a card with its real result. Open a card to see the full command output or the file diff. That is where you decide: read the changed lines, accept or reject them, and only then build and test in the GameMaker editor.

Four tasks, step by step

Attach one object to another

You want to make objects stick to other objects, such as a hat that follows a character. Tell the agent which two objects you mean and where the hat should sit. It uses grep to find where both are created and read_file to open their scripts. Then edit_file stores the target instance in a variable and sets x and y from the target plus an offset in the step code. A card shows each change. Small edit. In Ask first mode you read the diff, accept it and play the room to see whether the hat stays on the head while the character moves. If it lags by a frame, ask for a second pass. Keep the old version in your folder until you are sure.

Accept any number of arguments

A script with unlimited arguments needs argument_count and the argument array, which GML provides. A typical gml tutorial shows the idea once, but your own message script has its own callers. Ask the agent to read the script and every call with grep, then to rewrite the function so it loops over the arguments it receives. The edit_file card shows the diff, and Shell runs your build command so you see the real exit code. Every caller stays visible. Review the diff, check that each old call still passes its values in the same order, and run the game once before you accept the change.

Plan a short cutscene

Beginners often ask how to make cutscenes, and one answer is a small state machine in a controller object: a state variable, a timer and a script for each step. Start in Plan only mode, where the agent writes a step list and runs nothing. Read it, change the order if you like, then switch to Ask first so the agent creates the script with write_file and edits the controller with edit_file. You decide at each card. Finally, build, play the scene from the first frame and compare what you see with the plan you approved.

Fix jitter from fractional positions

A common cause of jittery movement is noninteger values that are drawn at fractional positions. Ask the agent to find the drawing code with grep for draw_sprite and to read the movement script with read_file. Then edit_file rounds the position before it is drawn and shows the diff. Shell runs your build command and reports its real exit code. Easy to read. In Ask first mode you accept the change line by line, run the game, walk back and forth for a few seconds and watch whether the sprite still shimmers. If it does, the next card can look at the camera code. Either way, the card keeps a record of what changed.

What PixelTread does not do

PixelTread is not a plugin of the GameMaker editor, and it never runs inside the game or the engine. It works on the files of your project. It is meant only for your own games, your own art, sound and code, or assets you have a licence for. Keeping the work within those limits is your job, because the agent does not police scope. Nobody can promise that code is correct, so you review every diff, build the project and test it yourself.

PixelTread for Windows

Try it on one of your scripts

Download PixelTread ↗