ARES ⚡️Only works fully in TurboWarp: https://turbowarp.org/1174230623?fps=120&offscreen Huge thanks to @marsmark for the text engine (and some of the UI) This is still in beta. I am working on the full release -{BASICS}- Too highlight the coding screen when you first start the project, just press arrow down. Run/Stop code is in the 'options' dropdown. You also have to start the code for the display to draw anything. -{DOCUMENTATION}- The '<>' and '[]' are input fields. Do not write these brackets in your code. The only brackets you are supposed to write are the squiggly ones -> { In most fields, you can write the name of a variable and it uses the value of that variable instead. -------------------------------- TXT{<> - Prints to the terminal. ex: txt{hello world -------------------------------- DEF{<> - Creates a new variable with the name you input. ex: def{my variable There are two built-in variables named "mx", "my" - mouse position variables. -------------------------------- INT{<>[]<> - Modifies a variable. In the first field you put the name of the var you want to modify, between the [] above you put one of these: (+ - / * = %) Then put the value you want it changed by. ex: int{my variable+1* ex: int{my variable=10** *increases the variable by one. **sets the variable to ten. :::::::::::::::::::::::: % is used for random number generation. ex: int{my variable%100*** ***sets "my variable" to a random number between 0 and 100. If you want for example, a number between 50-100; you generate a number between 0-50, then increase that by 50. int{my variable%50 int{my variable+50 -------------------------------- VIF{<>[]<> - Basically an [if] node. Compares the two values you put in the <> input fields. Where the [] is, you put what way it should compare: one of these: (= > <) All commands starting with a line "-" only runs if the [vif] comparison was true. ex: vif{my variable=10 -txt{banana *When "my variable" is ten, it prints "banana" to the terminal. -------------------------------- KEY{<> - This is just an [if] node but used for key presses instead. ex: key{w -obj{player{y+5 *When key 'w' pressed, moves object "player" on the Y axis by 5. "mouse", "left arrow", "right arrow", "up arrow", "down arrow" are also registered keys. -------------------------------- END{ - Stops the code. -------------------------------- NEW{<>{<> - Creates a new object. First input field is the name of the object, second is what costume it should use. The object is rendered when the code is active. -------------------------------- BKG{<> - Used for changing background color. Hex color code required (and with the hashtag) You can use an online colorpicker to find hex codes of the colors you want. ex: bkg{ *Sets the background to a dark red color. The costumes available (for now) are: -circle -square -nanamonster -popmonster -pongomonster -bashmonster -dango -chick -crab -banana -basketball -baseball -butterfly -cat -gobo -giga -nano -pico -frank -tera ex: new{player{gobo *Creates a new object "player" with the model/costume: gobo. -------------------------------- OBJ{<>{<>[]<> - This is used for changing object properties. In the first field you put the name of the object you want to change, second field you put what property you want to change, and the third what you want it changed by. Object properties are: -color -dir -size -x -y Where the [] is, you put how it should be changed: (+ - / * =) To move straight forward in the direction you're facing like the 'move ( )' block: put 'xy' as the property (only + and - work for this) ex: obj{player{xy+5 *Moves object "player" forward by 5. ex: obj{ball{color=0 *Resets object "ball" color. -------------------------------- HOP{<> - Used for going to another line, this is how you make loops. ex: (line 1) new{ball{circle (line 2) obj{ball{color+3 (line 3) hop{2 *Creates a rainbow ball -------------------------------- DEL{<> - Destroys the object with the name you put. ex: del{coin *Deletes object "coin" -------------------------------- COL{<>{<> - Detects collision between objects. Doesn't need to actually touch; just checks if the objects are close enough. ex: col{p1{p2 -end{ *Ends the script when objects "p1" and "p2" collide. For collision with the mouse pointer, just write "mouse" as one of the objects. -------------------------------- HBX{<> - Changes how close objects have to be to trigger a collision. Is 10 by default. ex: hbx{15 *Objects now trigger a collision when they are "15" away from eachother or closer -------------------------------- CAM{<>[]<> - Changes camera position. ex: cam{x+5 *Changes camera x axis by 5 -------------------------------- If there's something you don't understand in the Documentation, or have a question; please ask in the comments. A more detailed documentation will be provided in the future.