I meant to get this update out 2 months ago in the spring, but I had some other stuff come up, and also I also moved.
This update brings the final big update to the story mode, with new seasonal areas that hold 20 additional levels. There are also now amulets that are not only fun to collect, but they grant the player bonuses to make the story mode easier. You don't have to collect the amulets (and I've added an achievement for beating story mode without collecting any amulets), but the amulets are there to help level the playing field for all players.
This video shows off a lot of the new features in this update. For a full list of features, see the changelog below.
Here are some screenshots of the new content as well.
Spring seasonal content:
Summer seasonal content:
Fall seasonal content:
Winter seasonal content:
Stellar seasonal content:
Additions and Changes:
- Added spring seasonal objects: Storm clouds, storm plant pots, beehive, honeycomb.
- Added stellar seasonal objects: Directional fans, meteor spawner, meteor blocker.
- Added summer seasonal object: Water orb.
- Palm trees now create coconuts.
- Tiki masks and tiki balls now deactivate when outside view.
- Now that there is the faucet system for teleporting through the overworld, the portals (that used to facilitate fast travel) now lead the player to seasonal areas.
- Each zone corresponds with a different seasonal area:
- Echoing Entrance: spring
- Crystal Caves: winter
- Mushroom Mantle: fall
- Metal Mines: summer
- Secret Shadowsphere: stellar
- Each seasonal area has 4 levels (adding a total of 20 levels to the Campaign). Completing the levels in a seasonal area unlocks special power ups within story mode:
- (4) Wondrous Amulet: -10% goo required to unlock access piles
- (3) Nimble Amulet: -1 levels required to unlock locks
- (3) Lucky Amulet: +1 bonus goo per level
- (3) Pensive Amulet: +100 starting goo per level
- (4) Life Amulet: +1 extra life per level spawn
- Most of the amulets are found in the seasonal areas, but 4 are scattered elsewhere.
- The existing portal achievements have been renamed to seasonal unlock achievements.
- Added an achievement for collecting all amulets.
- Added an achievement for beating the game without collecting any amulets.
- Each zone corresponds with a different seasonal area:
- Added a secret story mode level that is only accessible from the teleporter map (thanks to Kaddykins for coming up with this idea).
- Added undo/redo buttons to the level editor.
- Added "New World Record" and "New Personal Record" displays to Quick Play.
- Ice no longer allows slow wall sliding. This means that even if you are holding left/right into the wall, you will accelerate downward at the speed of gravity.
- Level editor sidebar scrolling speed changed from 16 to 24.
- Portals to the home level now have interactable glow and show tooltips.
Changes to make the game deterministic:
- Darts no longer collide with falling darts.
- Previously, horizontal fiction applied to the player would bring the player to a stop if the player's horizontal speed was less than the ground friction value (regardless of whether the player was on the ground or not). Now, the player is only brought to a stop when their movement is less than the current friction being applied. This means that changing directions in the air, on the ceiling, and on ice may take an extra frame or two, but overall, this should help provide a more consistent physics experience. For reference, here are the friction physics values (in terms of pixels per frame):
- Ground friction: 1
- Ceiling friction: 0.25
- Air friction: 0.35
- Ice friction: multiplies the ground or ceiling friction by 0.15
- Fixed issue with pressing 'back' in quick play instant replay bringing up the pause menu rather than returning to the level select.
- The level editor "Force Autotile" option previously only worked for objects. It now also works for foreground tiles and background tiles.
- Fixed issue with level editor sometimes crashing when resizing the level when background tiles are present.
- Fixed issue with the level editor menu buttons (objects / foreground tiles / backgrounds / background tiles) not showing the correct active button when switching between playtesting and editing.
- Fixed issue where the game would save to file the window position even if the window was outside of the screen. This would occasionally cause the game to randomly save the window position far outside of the screen upon closing the game.
- Fixed issue with the player's fastest time not displaying in the upper-left times display for quick play levels.
- Fixed issue with the "Last Time" display being one frame behind the time submitted to the level exchange. This was due to the game still incrementing the time variable for one frame after the level had been completed.
- Fixed issue where pressing the "Back" button during quick play instant replay would not return to level select but would instead bring up the pause menu.
- Fixed issue with snow blocks being able to be triggered twice in one interaction with the player. The snow blocks now have a timer that makes it so they can only be activated every 20 frames.
- Fixed issue where the player could get stuck dying in level editor playtest mode with only a narrow window of time to press the back button to escape into edit mode.
- Snowmen now deactivate when outside view.
- The level editor doesn't remember what tile the player had selected when switching between playtesting and editing.
- If "Allow window resizing" is off, resizing the window on the top or left side makes the window move. This seems to be due to how the following GameMaker functions work with windows: window_set_min_width(), window_set_max_width(), window_set_min_height(), window_set_max_height(1).
- Replays don't display the correct positions when screen shake is applied to the view.
- Level editor doesn't remember all settings when switching between playtesting and editing.
- Some objects are still autotiled by the chunk loader when the room starts (such as the colored key blocker objects). These objects can occasionally tile incorrectly if their neighbors haven't yet been activated by the chunk loader.