Instructions are in-game. Note that there are some new things you can do compared to the original engine, so be sure to read the instructions! Debug controls: 1: Toggle debug mode WASD: Move Q/E: Rotate object to place T: Change object to place Click: Place object R: Remove object Y: Toggle physics Space: Jump to level Unless there are still bugs to fix, I might have finally added enough to where I can finally start making progress on my game lol Changelog (see inside for full): January 1, 2025: - Ring direction now uses Scratch's direction system, consistent with other sprites December 31, 2024: - Updated Sonic's animation system; now you input costume names instead of numbers, making it easier to use and update animations now. August 12, 2024: - Updated Sonic's animation system to account for non-looping animations, and added an idle animation August 12, 2023 (update 2): - Added zoom! August 12, 2023: - Various bug fixes August 11, 2023: - Fixed visual bugs caused by Scratch's script execution order August 9, 2023: - Can more easily customize ring search distance for light speed dash August 8, 2023: - Moved a script in Monitor sprite August 4, 2023: - Fixed some cutscene bugs and created some custom blocks to make it a little easier to make cutscenes. August 3, 2023: - Added Crabmeat enemy to demonstrate use of projectiles - Moved Moto Bug enemy to better show how the badnik "_on ground?" variable works - Revamped badnik animation system August 1, 2023: - Added variables for top and bottom borders July 29, 2023: - Lost rings and damage animation are more easily customizable July 27, 2023: - Fixed drowning music not stopping when resetting air timer - Fixed a bug that has been plaguing me for well over a year, where you can't properly walk off a sideways set of spikes without taking damage. - Hovering the mouse over an object in Debug Mode shows its positioning variables July 26, 2023: - Adjusted drop dash controls for more accuracy to how it works in Sonic Mania - Developer can more easily disable/reenable the drop dash and light speed dash - Fixed incorrect Sonic costume when drowning July 21, 2023: - Fixed collision bug for vertically moving platforms - Fixed bug where blur effect sprite would not switch costumes correctly when spindashing, and slightly simplified its code - Fixed objects not instantly appearing when placing them via debug mode - Unified use of "_x offset" and "_y offset" variables across object sprites - Added drowning/bubble mechanic - Made death animation more easily findable/customizable - Hid shield/invincibility/blur effect during death animation - Sonic properly moves with camera during death animation - Added drop dash - Made the goal post a proper level object July 19, 2023: - Fixed issue where Sonic's animation freezes when running into a wall - Added water - Fixed issue where standing on two moving platforms at once would cause one to move incorrectly - Fixed some music issues July 16, 2023: - Fixed positioning of invincibility and shield - Fixed broken falling death while rolling July 14, 2023: - Press the space bar while in debug mode to select a level July 13, 2023: - Another revamp of Sonic's animation system. This gives the programmer easier control over his spinning animation. - New spindash animation, now controlled by the normal animation system. July 12, 2023: - Fixed issue with objects disappearing after idle for a few seconds July 11, 2023 (update 2 of day): - Place objects in debug mode! - More debug mode controls. See Debug Mode sprite for debug controls. - Thanks to debug mode, fixed bug with the rock clipping you through the floor after breaking it. Glad I added collision visualization to debug mode! July 11, 2023: - Fixed bug when spindashing left - Renamed boost mode and blur effect sprite and variables for clarity - Debug mode now shows collision
Read the comments inside the project to use this engine to make your own game! Games I've made with (older versions of) this: https://scratch.mit.edu/projects/547309444/ https://scratch.mit.edu/projects/711145577/ ==How it works== =Level Objects= Level object sprites (spikes, item boxes, rings, etc) appear in the levels using clones. Each sprite has lists for each property that a clone will have, and each clone has a unique ID number that determines the index of its items on the lists. So for example, clone number 5 will have the X Position that is at spot number 5 in the list of all X Positions. But not all clones in a level are made at once, because for big levels, this might go over Scratch's limit of 300 clones at a time. So the engine only makes the clones that are onscreen (plus a little added draw distance to fix some issues). This happens by continuously searching through the lists of X and Y positions to find those clones that are within the screen limits, and cloning only those. The clones then delete themselves once they go outside the draw distance. =Light Speed Dash= The Light Speed Dash works by, quickly (so that the viewer can't see it) moving Sonic forward a few steps and seeing if he is touching a ring. If so, then the engine knows there is a ring in front and he can perform the Dash, so he moves back to his original position and sets his speed to 40. If the rings are in a line, he'll point in the proper direction of the line. This keeps happening until the engine detects that there is no ring in front of Sonic, and it stops the Dash. ==Credits== Thanks to @hahasamian for the info on how to make everything less blurry. Thanks to @SuperJet888, @Santiago-game, and @hahasamian for the blur effect. Apart from the original Sonic sprotesheet by t0ms0nic, sounds and costumes are from various Sonic games (mostly Sonic 1, 2, and 3&K, but the springs are from Sonic Advance). #games #sonic #sonicthehedgehog #gameengine #game #platformer #platformengine #platformerengine