Developer postOriginal post (opens in a new tab)

Crupt's Four-Year Anniversary

It's been a long time, a little over 3 years in fact. I have been working on this update off-and-on in the meantime and now its finally done! Although there will likely be another update in the coming weeks to add and fix some stuff I wasn't able to finish in time.

So what's in this update? The big takeaways are controller support, revamped UI, a new Item Selection menu, quality of life, and visual polish. I also gave the game's store page a facelift in case you didn't notice.

That list isn't specific enough for you? Enjoy this wall of text then!

Changelog

Totally reworked how menus function:

  • Can navigate through menus using a keyboard/controller

  • Buttons stay highlighted during screen transitions

  • Buttons unhighlight when backing out of screens

  • Sound for hovering over UI elements with the mouse is now used for all UI selection

  • Added some pitch variance to UI selection sound

  • Can now (finally) properly click and drag scrollbars

  • All selectable UI elements now indicate that they are highlighted (most notable with items for sale in shops)

  • Can no longer move while some menus are open (this is kind of a necessary consequence of adding navigation to menus)

  • Changed how controls are displayed in all contexts (tutorial, shop UI, dialogue, rebinding buttons)

  • Removed "Exit Closes Building UI" game option; the pause button now only pauses when other "exitable" menus are already closed

  • Changed how skipping text crawl for dialogue is checked (text should now display instantly rather than having a short delay)

Added new Item Selection menu:

  • Fades in when holding the Item Selection button (Tab by default)

  • Fades out when letting go of the Item Selection button

  • Can switch items by hovering over slots with the cursor and clicking or navigating using the new UI controls

  • Slots will appear/disappear depending on what items the Player currently has

Controller Support and Button Bindings:

  • Added controller support

  • Changed how rebindings are saved to account for gamepad (NOTE: this means any rebindings set prior to this update will need to be set again, sorry!)

  • Changed the default binding for Quick Switching to G

Ranged Weapons:

  • Added an indicator that displays the weapon's charge and the direction being aimed towards (especially important for gamepad)

  • Ranged Weapons now reset their charge when switching to another Ranged Weapon or cancel the charge if switching to an Empty Ranged Weapon

  • Fixed new charges not properly starting in situations where the Ranged Weapon action was already being held (switching from an Empty Ranged Weapon to a non-Empty one)

Saving/Loading:

  • Achievements no longer save whether they are a Colosseum Achievement to file

  • Achievement goal values are no longer saved/loaded

  • Fixed some NPC data being loaded from saves twice

  • Greatly reduced the amount of loading done to display save slots on the main menu

  • Fixed the Player facing the wrong way at the start of the game under some circumstances

Achievements:

  • Made movements of Achievement Toasts smoother

  • Achievement Toasts now maintain a queue of Achievements to display if additional achievements are unlocked while the toast is already being displayed (also works for unlocking multiple achievements at the same time)

  • Achievement Toasts now render over most other UI (like dialogue boxes)

  • Adjusted the positioning of Achievement Toasts slightly

  • Changed the name and description of the "What Did You Expect?" achievement

  • Made the "What Did You Expect?" achievement discoverable

Dashing:

  • Player now has a colored outline while dashing

  • Resprited dash particles and added animations

  • Removed post dash invulnerability (was never actually implemented correctly in the first place)

  • Cooldown between dashing is now a minimum of 0.5 seconds if an attack was successfully resisted (makes spamming dash much less effective)

Status Effects:

  • Effect indicators now begin stacking upwards when a Creature has more than 5 visible effects (somehow)

  • Tweaked how the height to place effect indicators above creatures is calculated

  • Optimizations and fixes for effect indicators (no longer rebuilt every time a creature changes direction and instantiating them is less resource-intensive)

  • Fixed Effect indicators flashing along with their source Creature

  • Status Effects now keep track of the type of their source Creature

  • Fixed deaths from Burning not incrementing the "Killed By" statistic in the Bestiary

  • Tweaked how/where hit and burning particles spawn on all Creatures to better center them (also specifically tweaked the positioning on some enemies like Spuks and Blurts)

Blindness:

  • Text displaying the controls for items now becomes gray when given Blindness to ensure it remains visible

  • Made Blindness overlay animation smoother and adjusted the fading in/out timings

  • Fixed the Blindness overlay not functioning right when loading in with Blindness (this also fixes the animation/sound playing when loading in)

Video Settings

  • Changed default for Exclusive Full Screen setting to "false" (this means the game will now launch in borderless windowed by default)

  • Removed the "Toggle Nonessential UI" button (this partially broke due to other changes and it was only really useful for taking screenshots; it's possible this feature will return in the future)

  • Rearranged the buttons on the Video Settings menu and removed the "Other" label

  • Fixed the Fullscreen option button switching between "On/Off" multiple times when the "Toggle Fullscreen" button is pressed

Minions:

  • Refactored Minion target detection logic

  • Minions now only jump to reach targets when closer horizontally

  • Minions now only jump when necessary when targeting the Player

  • Minions now have different max follow distances depending on whether they are targetting the Player or an Enemy

  • Greatly decreased the max follow distance for Minions when targetting enemies

  • Significantly decreased the lifetime of Pop bullets (to 1.25 sec from 5 sec)

  • Decreased the damage of Pop bullets (to 1 from 2)

  • Minions no longer target enemies while "hidden" (like invisible thrues)

  • Minions are now affected by Blindness (currently unused)

  • Fixed Minions' health not saving correctly

Cutscenes:

  • Can now skip cutscenes that have been already been seen

  • Indicated by text telling the player that they can skip by holding the "Cancel" button

  • Can now pause during cutscenes (however the "Exit" button is restricted)

Bosses:

  • Resprited 1st, 2nd, 3rd, and 4th boss and other sprites associated with them (there are still mixels but there are proportionally fewer!)

  • Made unique sprites for corresponding boss achievements by tweaking some of the boss's old sprites

  • Refined hitboxes associated with 1st, 2nd, 3rd, and 4th bosses (in some cases significantly)

  • Changed the Bestiary descriptions for the 1st, 2nd, and 3rd bosses

  • Changed logic of how 1st boss picks attacks so that a min of 1 and max of 3 other attacks are performed before flipping (prevents excessive waiting)

  • Adjusted height thresholds for 2nd boss following downward/upward

  • Removed unnecessary components on 2nd boss's telegraph particles

  • Removed unnecessary component on 3rd boss

  • Removed unused sprites for 3rd boss

  • Adjusted 3rd boss's eye spawning and shooting positions

  • Fixed centering of gibs associated with the 3rd boss

  • Fixed 3rd boss's eyes using random scaling

  • Tweaked animation of 3rd boss's heal eye to be more consistent with other eyes

  • Fixed animation inconsistency with 3rd boss's shoot eye

  • Changed layering of 3rd boss's bullets to render above the 3rd boss's eyes

  • Fixed 3rd boss's eyes getting stuck on ledges/not becoming grounded when they should

  • Fixed 3rd boss's heal eye moving too far out of bounds in some circumstances

  • Added additional animations to 4th boss

  • Tweaked the intro for the 4th boss (now hides UI and other timing differences)

  • Removed unused sounds and audio components from 4th bosss

  • Removed some redundant sprites used by the 4th boss

  • Fixed a sprite for the 4th boss's explosion animation not being used

  • Adjusted bullet spawn positions for the 4th boss

  • Major performance improvements for the 4th boss's bullet attacks

Explosions:

  • No longer delay and trigger hits in one instance

  • Now have collision that lingers for the duration of the animation and smoothly expands/contracts

  • Adjusted colliders to be more accurate to animations and compensate for staying active longer

  • Fixed explosions disappearing slightly earlier than intended

  • Explosions now properly keep track of their source Creature

  • Fixed explosions not applying damage from their source Creature (likely affected Killed/Killed By stats among other things)

  • Fixed Bullet Bomb bullets not applying relevant status effects from their source Creature

Dialogue/NPCs:

  • Tweaked wandering behavior of NPCs to prevent them from moving too quickly

  • NPCs now have their wandering distance capped to their max wandering distance (rather than having the distance to travel halved when attempting to wander above the max distance)

  • Made Lirn and Firsin wander further from their respective buildings during Lumberjack/Farm waves to mitigate accidental interactions when trying to talk

  • Tweaked Glab's Wave 7, 11, and 12 lines

  • Changed Frit's Wave 12 line

  • Changed Hili's Wave 15 lines

  • Resprited Linirt to tweak shading

  • Tweaked Siles Wave 12 and 17 lines

  • Fixed various typos

  • Fixed a Glab "Help" line not appearing

Added "Hide Unimportant Empty Items" Game Option:

  • Is on by default

  • Toggles whether "unimportant" empty items can be switched to

  • Slots that are considered to have "important" empty items are Melee Weapons, Armor, and Accessories

  • When on, cycling to an empty item in an "unimportant" slot skips over the empty item

  • When on, if an item breaks in an "unimportant" slot the previous item in the slot will be cycled to (if a non-empty one exists)

  • When on, if an "unimportant" slot contains only 1 non-empty item, it will be excluded from the new Item Selection menu

Added "In-Game Item Slots Are Clickable" Game Option:

  • Is on by default

  • When off, item slots outside of the new Item Selection are unclickable (prevents accidentally clicking a slot while attacking)

Lubs:

  • Increased launch strength by about 33%

  • Added a short cooldown before Lubs attempt to move or launch again after launching

  • Lubs now must be grounded before launching or attempting to move

  • Adjusted values related to when/where Lubs decide to start launching

  • Slightly increased Lubs' slower speed when trying to position themselves for a launch

  • Fixed launching attack not working (not sure when this broke)

  • Fixed launching attack not being treated as a normal attack (this caused a bunch of bugs/inconsistencies; most notably it would often result in the attack ignoring invulnerability frames and it would not trigger relevant Colosseum Modifier effects)

  • Fixed hitboxes not changing properly when launching (also contributed to being hit multiple times)

Squzzes:

  • Cooldown for Squzzes' beam attack now decreases even if the Squz is very close to the Player

  • Fixed cooldown for Squzzes' beam attack being frame-dependent

  • Refined hitboxes

  • Fixed getting stuck on ledges

  • No longer collides with platforms (done to fix Squzzes' "pods" getting stuck, will likely change this to be less of a compromise in the future)

  • Fixed beam becoming desynced

  • Minor Optimizations

Huxes:

  • Resprited shields

  • Refined hitboxes

  • Fixed shield becoming desynced

Misc. Visuals:

  • Added particle effects when jumping

  • Added particles for when Slingshot projectiles are destroyed on collision

  • Improved Player's "petting" animation sprites

  • Changed the size of item crack particles and the way they move upon spawning

  • Made the progress bar bigger and slightly changed its appearance and positioning

  • Slightly changed the positioning of the Wave Compass

  • Wave Compass is now hidden when entering Glab's cave

  • Added a brief fade in when the game first opens

  • Made the animation of Glab's entrance sign slightly smoother

  • Fixed Glab's entrance sign animation playing unnecessarily in some instances

  • Fixed background not updating for a frame after dying under some circumstances

  • Fixed idle animation playing during the Player's death animation in some circumstances

  • Fixed Warp Borders appearing broken upon completing a Wave in some circumstances

Items / Item Slots:

  • The "Bullet" of items in hand now immediately disappears upon the item breaking (rather than lingering for the normal duration of the use animation; this is most relevant for melee weapons)

  • Added new Tintificator UI sprites and adjusted the sizing/positioning of tint labels and durability bars

  • Fixed missing pixel on sprites associated with the Pants slot

  • Fixed incorrect pixels on sprites associated with the Ranged Weapon slot

  • Fixed incorrect pixels on sprites associated with the Consumable slot

  • Adjusted sprites associated with the Ammo slot

  • Adjusted sprites associated with the Melee Weapon slot

  • Slightly moved Boots slot UI to be properly aligned with other Armor slots

  • Slightly moved Pants slot UI to be properly centered between the Chestplate and Boots slots

  • Changed how item slot flashing looks

  • Fixed timing for item slot flashes (like when buying items) not being reset if slot was already flashing

  • Fixed item slot flash not being reset properly if slot was disabled while flashing

  • Fixed durability bars for slots increasing regardless of what item is currently equipped

  • Fixed Buy Maximum Can Waste Durability game setting being on by default

  • Fixed incorrect pixel in Lottery UI

  • Removed code/sprites/game objects pertaining to an unused dedicated "Food" slot

First Time Volume Menu:

  • Replaced "Back" button with a "Done" button that goes to the main menu

  • Added a screen fade in (and out, might have already existed though?)

Screen Fades:

  • Generalized how screen fades are handled

  • Made screen fades smoother

Tutorial:

  • Added a new section to the tutorial uses bullets to teach dashing/dodging

  • Fixed Player facing right before scene transition when first exiting Tutorial

  • Fixed brief loss of grounded state that could happen while walking in Glab's room

  • Changed some lines and timings in the Bundle tutorial

  • Fixed an incorrect tile in the Tutorial

Clipping:

  • Changed player colliders to reduce chance of clipping (clipping is still possible in rare circumstances)

  • Added failsafe for clipping that will readjust the player if clipping is detected (hopefully this kills any lingering clipping issues for good)

Save Slot Menu:

  • Adjusted the spacing of the confirmation text when deleting a slot

  • Fixed a typo and adjusted the confirmation text when restarting a run

  • Added sounds when deleting a slot and restarting a run

  • Fixed slave slot's sprite not properly updating when deleting the associated save under some circumstances

Misc Creature Changes / Fixes:

  • Refactored logic relating to Creatures dealing/taking damage

  • Attacks that deal damage and cause flashing now always produce at least 1 hit particle (previously attacks that dealt <1 damage produced no particles)

  • Moved some Creature calculations from FixedUpdate into Update (namely for Flashing and Status Effects; this also fixes some Status Effects calculating their timings incorrectly)

  • Fixed creatures' knockback multipliers being ignored in some situations

  • Fixed enemies not being destroyed when exiting to the title screen under some circumstances

  • Refined Blurts' hitboxes

  • Fixed inconsistencies with how and when Creatures take knockback when resisting damage

  • Fixed/refined logic determining when Spuks take damage (should make dealing contact damage from behind much more reliable)

  • Fixed Rupts getting stuck on ledges

  • Tweaked the logic of how most enemies decide to jump

  • Removed unncessary "destroyOnSetup" tag from enemies

  • Minor optimization when clearing leftover enemies after failing a Wave

  • Fixed logic issues with how some enemies chose random actions

Misc Optimizations:

  • Changed mesh type of sprites to tight rather than full rect (should result in some performance improvements? probably?)

  • Camera now uses occlusion culling (might make rendering a bit less resource intensive)

  • Removed some unused offscreen decorations on the main menu

  • Removed some unnecessary wrapper objects

  • Minor performance improvements from disabling "Use Player Logs"

  • Removed a bunch of unused assets from the files (sounds, sprites, old prefabs)

  • Removed/disabled a number of unused packages/modules

Miscellaneous:

  • Removed Unity splash screen

  • Fixed Player uncrouching delay using Time.fixedDeltaTime rather than Time.deltaTime

  • Removed buttons for rebinding "Toggle Full Screen" and "Quick Switch" (will likely return in a future update along with a rework of the Controls screen)

  • Adjusted timings and fixed a typo in the Wave 20 cutscene

  • Fixed Steam achievements not being given/updated consistently

  • Added a minimum delay to volume sliders' test sounds to prevent sound stacking/peaking

  • Fixed the text for shop item displays having being targettable by raycasts

  • Adjusted the hitboxes for the Lumberjack and Farm

  • Fixed Interaction Indicator flashing when Player is attacked or heals

  • Made music fades and scene transitions smoother

  • Adjusted positions and offset ranges of crops

  • Changed Auto-Pause toggle label from "Auto-Pause" to "Auto-Pause on Lost Focus"

  • Many post-game content changes and fixes

Colosseum:

General:

  • Reworked the flow of the Colosseum with both Modifiers and Prizes being chosen every Round (rather than alternating)

  • Changed the Bestiary descriptions for all of the Minibosses

  • The Buy Prize, Reroll, and Commit buttons are now disabled when unusable (such as when you have insufficient points)

  • Streamlined interactions with Ini (less confirmations needed, reordered dialogue choices offered, this is still something that needs improving)

  • Edited some dialogues to make them flow better

  • Colosseum Assets are no longer unloaded and reloaded every time the game returns to the Title Screen

  • Can now properly exit to title screen to interrupt first time intro sequence

Tinting:

  • Selecting an item to tint no longer requires a confirmation

  • Can now press Cancel to exit out of the Tinting selection menu before selecting an item to Tint

Modifiers:

  • Fixed Enemies not checking if their attacker was the Player for Adherence (could allow Minions to deal damage)

  • Changed Conflicted to only activate on every other dash

  • Fixed Conflicted not being removed properly

  • Damage from Consequences now ignores invulnerability

  • Tweaked description of Critical and reduced uncrouch cooldown to 0.5 seconds (down from 1.5)

  • Adjusted how Downfall checks to start charging and made it work indepedent of actually crouching (now works with Rigidity)

  • Fixed Downfall not giving effects to enemies properly

  • Tweaked description of Drained

  • Fixed long Duplicitous Modifier combinations having their names cut off

  • Fixed Duplicitous occasionally offering Modifier combinations that are mutually exclusive

  • Exlcuded Duplicitous from appearing when less than 2 Rounds from the final Round

  • Teleporter Entrances now produce particles when removed by Escape

  • Changed how *Excessive* interacts with Modified

  • Reworded the description of Gluttony slightly

  • Removed the 2x dash delay from Guarded and reworded the description slightly

  • Fixed Guarded visual not being properly removed if Modifier was removed while it was active

  • Fixed Incendiary not affecting Minions

  • Incendiary should now work properly with all sources of explosions/bullets (for both enemies and the player)

  • Fixed Instinctual visual not being properly removed if Modifier was removed while it was active

  • Excluded Investment from appearing when less than 4 Rounds from the final Round

  • Fixed Effect indicators being rotated when dashing with Lofty

  • Fixed logic for rerolling Modifiers with Modified

  • Fixed Nostalgic bullets not giving effects to enemies properly

  • Adjusted hitbox of Nostalgic bullets

  • Adjusted positioning of Nostalgic bullets when crouched with Detached so that they do not collide with the ground

  • Made Overflowing and Sacrifice mutually exclusive

  • Fixed Outburst bullets not giving effects to enemies properly

  • Fixed Outburst bullets not synergizing with Detached (also gave them unique spacing to help increase their range)

  • Fixed Z-fighting on Outburst bullets

  • Made Perfectionism and Nostalgic mutually exclusive

  • Perspective now affects Minions (as a result of Minion aggro detection changes)

  • Reworded the description of Redo slightly

  • Fixed Reduction not counting damage taken from bullets

  • Some bools pertaining to Repetition are no longer saved

  • Repetition now gives +20 points but now also subtracts 2 from the current Round (up from 1)

  • Excluded Repetition from appearing when current Round would be lowered below 1

  • Fixed Restlestness not spawning particles when the Player is damaged

  • Fixed Rigidity and Weak Spot not actually being mutually exclusive

  • Fixed Unknown not working properly with Modified

  • Reworded the description of Unsnippable for consistency

  • Vacant now also removes all items (done to prevent it from being a consistently safe/boring option)

  • Fixed incorrect point calculations for Vacant in some situations (especially with Modified)

  • Fixed Vacant being activated when loading back into a run

  • Reworded the description of Vapid

Pobs:

  • Fixed Pob shoot sounds not playing and being stored incorrectly

  • Decreased the lifetime of Pob bullets (to 2 sec from 3 sec)

Miscellaneous:

  • Split up the logic for free Prize and Modifier rerolls

  • Affecting the number of free Prize/Modifier rerolls given per Round now properly affects the free rerolls remaining for the current Round

  • Fixed it being possible to get Modifiers randomly that were meant to be restricted (notable for modifiers like *Unknown*)

  • Fixed some Modifers not being in proper alphabetical order on the Modifiers screen

  • Minor optimizations when loading into the Colosseum

  • Slightly adjusted positioning of Prize/Modifier buttons to be more flush with other UI elements

  • Changed the sprite used for an unlock screen

  • Fixed the text flash on the Modifier display using the wrong timings

  • Fixed the scrollbar on the Modifiers screen and adjusted its appearance slightly

  • hasChosenModifierThisRound and totalModifiersApplied are no longer stored/saved

  • Fixed potential issue removing modifiers with a quantity greater than 1

  • Current Modifiers UI no longer flashes when loading back into a run

  • Changed how Stucks spawn and how Committing works

  • Increased the point value of Stucks to 3 (from 1)

  • Fixed being able to see out of bounds in some instances

  • Cleaned up the transition after beating the final Round

  • Fixed Befriended enemies hurting other Befriended enemies