I Wanna Be The Geometry Dash Engine olin Edition
An IWBTG fangame engine made and interfaced with entirely within Geometry Dash

Getting the Engine

IWBTGDEOE can be found on the Geometry Dash servers under the level ID 116769987, however access to it is known to be inconsistent, so I recommend getting the latest release from the project's Google Drive, where I keep all past and present versions in .gmd format, changelogs for every release, as well as a list of all games made with the engine known to me.

Importing a .gmd file requires the Geode Modloader and GDShare.

Basic Level Editing Guide

Built-in assets

Just below where you start off in the editor, you can find a set of assets, with collisions on layer 0 and visuals on layer 1. Given you have link controls enabled, using them is as simple as copy-pasting them and moving them into the game space. Assets set to color channel 1 by default can be recolored with no worries (don't use the HSV sliders though).

Game space

The game space is, by default, separated into a grid of rooms (centered on the pink Camera Start object) the camera moves to automatically. Rooms have no gameplay or optimization ramifications besides that, and can even be removed altogether with a static trigger. (A trigger to set the camera back to its default state can be found under “handy triggers”, below the assets.) It should be noted that the camera can only move 40-50 rooms in one go before the motion stops taking place instantly (testing needed).

Attributes

Below the assets section of the editor, you'll find a few attributes. These are numeric values that dictate a few of the player's properties during movement, such as jump height or gravity. If you'd like to have your whole level behave differently, feel free to just change the values in them (count in pickup triggers, start time in time triggers). If you want to make the attributes change on certain conditions, you can edit them any point during your level with a time or pickup trigger set to the matching item ID. Note that the player has a vertical speed limit of 9, and that horizontal speed greater than 3 leads to plenty of instabilities. This is an unfixable side effect of the way collision is handled, and would only become solvable if the game's developer were to rework the internal functionality of the instant collision trigger.

Bot fix

Within the internal logic of the engine, to the left of the editor start, there's a labeled event trigger. Deleting it (or more preferably marking it as spawn triggered) will cause the engine to no longer run logic on checkpoint respawns. This means it'll no longer reset the player's motion, grant them their double jump back, delete their bullets, or reset their inputs on spawn (thus removing savejumping). This is very important for making levels properly bottable, but I really wouldn't recommend packaging your level to have it be the case by default, seeing as it's an inaccuracy to IWBTG as well as pretty buggy behavior in regards to inputs.

Modding Tips

Bullet-blocking collisions

Just to the left of the editor start, there's a trigger box labeled “bullet collision”. You can make a collision ID of your choice block bullets by copy-pasting a column out of the instant triggers and setting its block B ID to match the collision. This will give the receiving collision one IWBTG frame of overlap you may use to track collision in and implement behaviors such as boss health, breakable objects, etc.

Handy group IDs

Handy item IDs

I have an issue/I want to share a creation

Feel free to let me know on discord @ mojang_studios_real! I'm open to bug reports and love seeing what people make with this engine. Creations are also welcome in the Platformer List discord server.

Credits

Other bug reporters include Romlekt, Pixeldragon42, notbit05 and ashfalcons44.

Known Imperfect Interactions

Note: Versions 2, 4, and 5 are mislabeled in-level. Instead, identify them in levels by their features. Sorry!