Over a year ago, I became the head maintainer of Sonic Worlds Delta, when Lark migrated away from MMF2 torwards Unity. One month ago, Clickteam released Fusion 2.5 and had a fire sale on MMF2. Now with more people able to utilize Worlds Delta, and with new technologies now available, it's time to create a new version of Sonic Worlds Delta.

WHAT'S NEW IN 1.4.3
Even more bugfixes! Including some older bugs I had missed like the badnik score race condition and rolling on springs. This is by far the most bug-free version of Delta.

Refinements! Thanks to Mega Ice God64 from Sonic Retro, monitors have been redone to be more accurate to how they functioned in Sonic 1/2/3K. Several other values have also been tweaked, making Delta that much more accurate than before.

New gimmicks! Quite a few new gimmicks. Here's the breakdown:

Water slides! Objects with the qualifier group.31 are water slides. The first alterable value should be the direction it flows in (-1 for left, 1 for right). Sample objects are provided, but they are invisible... just pretend it's the ice slides from Ice Cap Zone />/>[/*]

Underwater current tunnels! Complete with poles to hang from. However, I do not reccomend using curves in the tunnels... the code was based on Sonic Zero's tunnels which didn't support curves either.[/*]

Fans! Thank you LakeFeperd for donating the basis for this, though I did rewrite a lot of it to be more flexible. When overlapping a fan sensor (group.32) you will be accelerated upwards at a speed defined by the object until you reach a limit defined by the object. Also, your animation is different when above or under water![/*]

Swinging spikeballs! It is a subobject of the swinging platforms. Change the spawner's PlatformType alterable value from 0 (platform) to 1 (spikeball). An extra spawner showing this has been added, and it also demonstrates that you can change the chain length of the swing! BONUS: Qualifier group.33 is a generic harmful object, which causes pain if the player is not invulnerable. Now it's even easier to create new hazards![/*]

Fire Orbs and Thunder Balloons! These gimmicks are from Sonic Chrono Adventure, donated by LakeFeperd. They aren't in the test level, however. Fire Orbs let you perform a powerful aerial dash, and Thunder Balloons let you destroy nearby badniks with a surge of electricity![/*]

Speed Boosters! Yeah. They actually happened. These are modeled after the ones in Sonic 2's Chemical Plant.[/*]

New badniks! Motobug and Spike from Sonic 1 have been added, showing how to make an enemy follow the ground and be harmful if jumped on.

New main menu example! Many thanks to Thekessler12 and DimensionWarped for this. New player selector, and a level/file selector!

Camera shake methods! There are two ways to manipulate the camera: the simple way, which creates a Sonic 2-style quake effect for a defined amount of frames, and the hard way, which involves using an API to control camera offsets with sine waves.

Organization! I organized everything. No longer is the event editor and object list a massive mess!

Art kit! I created a new font for the title cards (since the Sonic CD font is actually rather limited in available characters in the correct sizes) and included all the work files in the archive, so you can make your own edits to it. I also provided all my old work files on the test level tileset, which makes for a great template for creating your own tilesets!

WHAT'S NEW IN 1.4.1 AND 1.4.2
More bugfixes! Seriously, that's what the updates are.

One new gimmick! It's a chain lift gimmick, like from Wing Fortress and Launch Base. Thanks, Dimension Warped!

WHAT'S NEW IN 1.4.0
Bugfixes! Thankfully there weren't many bugs that needed fixing, but they got fixed anyway. Things like some tile collisions being wrong, underwater big ring stuff, and jumping inside spin tunnels. There is also a Fusion 2.5-specific bugfix related to ringloss, so if you wish to make a project with Worlds Delta in Fusion 2.5, you need this!

New goal object! A proper Goal Capsule has been added, with a nicer effect than what Sonic Worlds Level Collab provides. :D

New goal object setup! There is now a spawner object that you place down for the goal object. Edit the GoalType alterable value of Master_Level to change to different goal types. 0 uses a sign, 1 uses a capsule, and 2 uses nothing (which is ideal for setting up hub worlds!)

Falling platforms! You step on it, and after a few moments it falls. You can configure how long until the platform falls, or make things more akin to Sonic Generations with animation and sound effects!

Breakable blocks! I have no idea why it took this long for it to be added.

More flexible spawning of small animals! You can now spawn animals without adding points, or add points without spawning animals. Check the code for more details.

FlagNoClip! A flag that disables basic solid backdrop collisions. Great for various shenanigans like Genesis-styled debug modes.

Postmortem content from Lark! He may be dead from MMF2-releated development, but that won't stop me from adding some of his older public content into the engine! Includes the Mushroom Hill balance lever gimmick and the Chopper badnik (in two flavors: Generations-styled from the water, and traditional Genesis style!)

Barrels! Yes, the Carnival Night Zone barrel is now included as part of the engine, as a gimmick. Make it bounce up and down with the directional buttons, get crazy air at its peak, and set up moving versions with the moving platform code. It's also flexible enough that you can recreate other gimmicks from Sonic 3 & Knuckles that make the player spin atop, like the moving pillars in Hydrocity Zone Act 2, or the large spinning disks from Sky Sanctuary Zone!

The Big Surprise! Oh goody goody, I get to finally reveal the big surprise addition to Sonic Worlds Delta! See, originally this update wasn't named "The Barrel Update," that was due to the SFGHQ Skype chat egging me on to add barrels. The real name of this update is...

Sonic Worlds & Amy Rose

That's right! Amy Rose has been added as a fourth playable character in Delta 1.4.0! Kindly donated by MCKaosu with sprites by E-122-Psi, Amy appears as she did from Sonic Zero, utilizing the OTHER action button to perform hammer attacks to defeat enemies. The second action button (ActionB) is mapped to the third button on the control mapping screen (that would be button C on a Genesis/Mega Drive control pad) and is used for the following special actions:
-Hammer Attack: Press ActionB on the ground.
-Aerial Hammer: Press ActionB in the air.
-Hammer Jump: Press Down plus ActionB on the ground; your jump will be much higher at the expense of being able to control your jump.
-Hammer Spin: Press Down plus ActionB while in the air; this devastating downward attack smashes up everything below and allow for crazy bouncing!
-Hammer Spring: Use a Hammer Attack on a spring to bounce up higher! Only works on vertical and diagonal springs.
Amy's special moveset allows for a more unique and interesting experience in your game. Just don't forget to give E-122-Psi credit for the Amy sprites if you decide to use them!

EXPECTED QUESTIONS AND ANSWERSQ: Where's the booster objects?A:That is a very simple object to make, so simple I won't be including it. Consider it n exercise in learning how to work with the engine! (Hint: look at the code for horizontal springs.) These were added in 1.4.3 so uhm... the objects are in the "Gimmick_CPZ_Speed_Pad" folder. Remember to place the "Decor" object first, followed by overlaying the actual booster on top of it. This is how it's set up in Sonic 2!

Q: Where grinding? And homing attack?? And the boost???A: Those are beyond the scope of Worlds Delta, which is to provide a basis for creating Genesis/Mega Drive-styled Sonic fangames. Someone else can create an implementation of them, but they will not be included in official releases.

Q: I found a bug, what should I do?A: First, recreate the bug using an unmodified copy of the engine. If you can reproduce it, please post about the bug in detail in the thread (such as how to reproduce it). I will then look at it and see about fixing it.

Q: The controller mappings frame crashes in Fusion 2.5, what should I do?A: Please read the document Readme_CF25.txt in the Dependancies folder, it provides instructions on updating the File & Folder Object to a newer version that is compatible with Fusion 2.5.

Q: I got something I would like to contribute to Delta. Who should I contact?A: You should contact me via a Private Message on the Sonic United or Sonic Retro forums. We can then discuss incorporating your work into an updated version of Delta.

Q: How do I add Player 2 Tails to my game?A:Politely ask Hez or Blaze Hedgehog to contribute their implementations to Delta. When they do, it'll appear in a future update. This feature is not yet present in Delta, and will be comming in a future update. (Thanks Hez!)

Q: What things will be added to Delta in the future?A: Player 2 Tails. Otherwise, not much else needs to be added that you, the developer, can't do on your own!

Q: Didn't Lark say that 1.4 was going to have an external level format?A: Indeed he did. But then he stopped using MMF2. However, I am working on an external level format for Sonic Edge, which has become the testbed for Delta. When I finish Sonic Edge, I'll release the level format as part of a new major revision of Delta. However, using it is far more rigid and restrictive than building levels right now with the frame editor in Fusion. There is also the fact that Sonic Edge's development is being put on hold while I work on an original game for the Wii U, which I want to get done by the end of the year. So do NOT wait for the external level format update.

Q: Do I need to include the splash screen?A: It would be nice if you did, but it's not mandatory; it IS mandatory to include credit for using the engine. Either crediting all the different people for doing all the different tasks, or simply putting "Powered By Sonic Worlds Delta 1.4.3" in the end credits, will suffice.

Q: BOX2D PHYSICS.A: You are free to utilize the new physics engine in Fusion 2.5 for creating new gimmicks. However, as this is Fusion 2.5-only, it will not be part of the default release of Worlds Delta.

Q: I want to wipe the level layout clear and start from scratch, how do I do that?A: It's highly reccomended that you work with 1.4.2 or later for doing something like this. Older versions required doing a lot of manual cleanup first; 1.4.2 changes it so that you only need to move the unique objects "Player_StartingPoint" and "Boss_PlayerStopper" out of the playfield. Once you do that, you can click and drag to select the entire playfield area, then press the Delete key on your keyboard. You can also then edit the existing active object ground solids (for jump-through platforms and layered collisions) into desired tiles and chunks, to recycle the garbage collection code that already exists.

ERRATA
In 1.4.0, there is a severe glitch involving the swing pole gimmick. This is due to swing poles using an undefined action ID that is now being used by barrels. A quick fix for this is to go into the event editor and go to Objects management -> Gimmicks and Special Objects -> Gimmicks (Step) -> [LarkSS] SwingPole (S&K, Mushroom Hill Zone), then change all actions that set the alterable value "Action" of Player_MovementValues to 46, to change it to 45. A proper fix for this was released in 1.4.1.

In 1.4.0, I forgot to properly set up Amy's animation within the Pole Pod gimmick. This will be fixed in a future release, but for now here's how to fix it on your end (it will only take a minute of your time):
1) In the event editor, go into Objects management -> Gimmicks and Special Objects -> Gimmicks (Step) -> [LarkSS] Pole Pod (Original)
2) In lines 3024, 3026, 3058, and 3060, drag and drop actions from one of the other player mask objects into Amy's collumn.
This has been fixed in 1.4.1.

In 1.4.0 and 1.4.1, Amy has not been correctly set up for the corkscrew gimmick. This will take a little work to fix:
1) In the event editor, go into Objects management -> Gimmicks and Special Objects -> Gimmicks (Step) -> [LarkSS] Corkscrew (S2, Emerald Hill Zone)
2) Drag and drop all actions from events that affect the other player mask objects into Amy's collumn. There are 8 events.
3) Edit the animations for Amy's player mask, and go to the CorkscrewRunning animation.
4) In the animation sequence for going left, in each frame select the entire image (Ctrl + A) and click the "Flip Vertically" button (Ctrl + J), so that you flip the image but preserve the hotspot and action point.
5) Drag the first 6 frames to the end of the animation, so that the animation sequence starts in the middle of what it originally was.
6) Right-click the CorkscrewRunning animation and select Copy.
7) In the animation editor for GhostSkin_Amy, paste the copied animation into CorkscrewRunning here.
This has been fixed in 1.4.2.

In 1.4.0 and 1.4.1, the 1UP monitor does not properly display the character. This is due to the fact that the animation sequence that would contain Amy's icon is the Appearing animation, which causes general havoc when used improperly. To fix this:
1) Change the Stopped animation to have 32 directions (drag the slider underneath the direction selector) and copy the other animations to the animations immediately proceeding it, going counterclockwise (anticlockwise).
2) Do the same with the monitor icon object.
3) In the event editor, line 1771, change the action to "Set direction to GameCharacter".
4) In the event editor, line 1937, add the action "Set direction to GameCharacter" to the icon object.
This has been fixed in 1.4.2.

In 1.4.0 and 1.4.1, there is a minor bug where the player can hit the capsule from the opposite direction and get stuck instead of walking offscreen. To fix this, in the first event of group Objects management -> Common Objects -> Stage Clear -> Capsule, add an action to Player_MovementValues to set alterable value XSpeed to 0.
This has been fixed in 1.4.2.

In 1.4.0 and 1.4.1, it is possible to move horizontally while charging up a spindash with Amy. In the event editor, go to Objects management -> Player -> Player Control -> Actions -> Manage Actions. Go to the event for Amy's Spindash (should be on or around like 797, checks for Action of Player_MovementValues = 30) and add the action "Set FlagAllowCommonInput to 0" to Player_MovementValues.
This has been fixed in 1.4.2.

In 1.4.0 and 1.4.1, Super Sonic uses improper animations when interacting with the swing pole gimmick. To fix this, go into the event group Objects management -> Player -> Player Animation -> Change Animation, and at the bottom of the group, edit the action for PlayerSkin_SuperSonic to change animation to Poll_SwingingB for Swinging Horizontally, and Poll_SwingingA for Swinging Vertically.
This has been fixed in 1.4.2, along with new sprites for this animation as Super Sonic.

CHANGELOG
[X]New, skinnable, scalable collapsing platforms
[X]Fix an object memory leak
[X]Replace and refine layer switcher objects
[X]Geyser gimmick from Azu
---1.4.3AfterParty
[X]New ambience sounds from Lange
[X]Fix a bug where you can roll on springs
[X]Finish new section of level (THANKS NAOSHI!!)
[X]Modify the new thing Naoshi added to be more like what it is supposed to be
[X]Don't forget to add "HIM"!
[X]Redo monitor icon timings to be more accurate
[X]Allow players to break monitors from the sides
[X]Adjust Invincibility/Speed Sneakers time
[X]Let score combos properly go up to 10,000 points, like in the Genesis games
[X]Fix a race condition where you get no points from defeating an enemy if you destroy it and land on the ground in the same frame.
[X]Add a simple way to shake the camera for cheap quake effects
[X]Add a more advanced way to shake the camera, controlled by user-made events. I'm NOT ADDING ANYTHING ELSE TO THIS FUNCTION, DEAL WITH IT
[X]Add an option to generate a spikeball instead of a platform on swings
[X]Import fan gimmick from LakeFeperd
[X]Improve fan gimmick
[X]Add new player action for interacting with fans
[X]Import Fire Orb gimmick from LakeFeperd
[X]Import Thunder Balloon gimmick from LakeFeperd
[X]Make Thunder Balloon discharge destroy onscreen enemies
[X]Add Lark's Motobug badnik, with improvements from Naoshi
[X]Add Naoshi's Spike badnik
[X]Implement new main menu from Thekessler12!
[X]Underwater currents, import and modify from Zero
[X]Dehardcode current strength
[X]Update player animations to be Sonic 3K instead of Sonic 2 when in currents
[X]Make player properly take damage while in a current
[X]Large fan to go with underwater currents
[X]Slides. Action to make player slide while on the ground when overlapping activator objects.
[X]Cleanup! Better organize objects in the frame editor.
[X]Cleanup! Better organize objects in the event editor.
[X]Fix bug where super transformation doesn't work in levels that don't use the Sign goal.
[X]Fix bug where Super Sonic's life icon is Amy's.
—1.4.3
[X]Make it easier to clear the level layout, to start fresh from scratch
[X]It's spelled POLE!
[X]Replace Super Sonic's pole swing animations
[X]Fix Super Sonic using the wrong animation on swing poles
[X]Amy being able to move while charging a spindash
[X]Amy jumping off hanging bars
[X]Chain Lift gimmick from DimensionWarped
[X]When you hit the capsule, don't let the player go running off to the left...
[X]Fix stupid tile collision property making loops look broken
[X]Fix Amy's animation in corkscrews
[X]Fix 1UP monitors displaying proper character
—1.4.2
[X]Fix a CRITICAL bug with SwingPoles using the Barrel action ID instead of a properly defined action ID like everything else
[X]Rename sounds for consistency and identification, AGAIN
[X]Amy properly spinning in the Pole Pod
—1.4.1
[X]Hammering springs!
[X]Fix ringloss in CF2.5
[X]Make a version of the Chomper badnik that can be placed anywhere, just like in the Genesis games
[X]Import Lark's old Chomper badnik.
[X]Import Lark's old Mushroom Hill lever gimmick.
[X]Fix the animation bug with certain frames freezing player animation.
[X]Fix getting hurt and dying when on barrel.
[X]Fix walking very slowly onto the barrel.
[X]Fix barrels moving when they shouldn't.
[X]Fix getting crushed by barrel you are riding.
[X]The Barrel. IF I CAN MAKE IT WORK.
[X]Add Amy to player select screen
[X]Falling platforms system
[X]Fix a glitch where the player can jump around in auto-spin tunnels.
[X]Tweaks to handling small animals to allow for getting points without animals spawning, and spawning animals without getting points
[X]Breakable blocks
[X]Import Kaosu's implementation of Amy from Zero
[X]Insert missing sprites for Amy
[X]Redo the 1UP icons for Tails and Knuckles to match the rest of them
[X]Put together Egg Prison graphics
[X]Add an Egg Prison goal object
[X]New system for handling placement of goal object that uses values from Master_Level to determine goal object type
[X]Fix a thing with entering a Big Ring while underwater
—1.4.0

Why? WHY THAT RIDICULOUSLY OVERPOWERED TAILS FLIGHT AGAIN??? It wouldn't bother me so much if people who use SW were actually changing it in their fangames so that Tails wouldn't be so cheap.
But they don't which is sad cause it'd be one of the easiest thing to do in SW.

Why? WHY THAT RIDICULOUSLY OVERPOWERED TAILS FLIGHT AGAIN??? It wouldn't bother me so much if people who use SW were actually changing it in their fangames so that Tails wouldn't be so cheap.
But they don't which is sad cause it'd be one of the easiest thing to do in SW.

Nah. If you move the two unique objects I mentioned out of the frame area, everything else in the frame can be deleted. And then you have a blank level.

Quote

Q: I want to wipe the level layout clear and start from scratch, how do I do that?A: It's highly reccomended that you work with 1.4.2 or later for doing something like this. Older versions required doing a lot of manual cleanup first; 1.4.2 changes it so that you only need to move the unique objects "Player_StartingPoint" and "Boss_PlayerStopper" out of the playfield. Once you do that, you can click and drag to select the entire playfield area, then press the Delete key on your keyboard. You can also then edit the existing active object ground solids (for jump-through platforms and layered collisions) into desired tiles and chunks, to recycle the garbage collection code that already exists.