0.3.5 is releasing this week!
Yes, I'm still alive.
First off, 0.3.5 will be released this week! It's just about ready to go, I just want to spend some time playtesting it before shipping it. Second off, I'm sorry about the lack of communication over the past year. I'll be talking about what's been going on more in depth in the near future, and returning to posting more regular status updates, but for now just know that Baldi's Basics Classic Remastered's release is just around the corner and that regular Baldi's Basics Plus' development is getting back on track!
This update is pretty major for a minor one. I've been working on Classic Remastered over the past year, but a lot of that time was spent working on fixes and improvements to the Baldi's Basics Plus framework, benefitting both projects. Lots of polish, lots of optimizations, lots of internal changes that will make development smoother going forward.
Here is the changelog for most of the changes found in 0.3.5:
- Added support for the Steamworks API. When played on Steam, the following features are enabled:
- Full Steam Input support.
- The game automatically pauses when the Steam overlay is opened.
- An achievement system has been implemented, but the game will not receive any achievements until the 1.0 update.
- A new file button appears if the game is being played on Steam Deck or in Big Picture mode. This will open an on-screen keyboard allowing you to enter your name with a controller.
- Clicking on the seed button to enable a custom seed will open an on-screen keyboard on Steam Deck or while the game is running in Steam Big Picture mode.
- Rumble support. If enabled, the controller will rumble when Baldi is nearby and when being caught by Baldi. If the controller being used has two individually controlled rumble motors, the side of the controller that corresponds with the direction Baldi is in relative to the player will rumble more than the other.
- Added a visual effect when getting caught by Baldi, similar to the one in Baldi's Basics Classic.
- Added a slam effect for when 1st Prize is stopped while traveling at high speeds. This sound will get Baldi's attention.
- Once all notebooks have been collected, Math Machines re-light for bonus questions! Answering bonus questions will reward the player with YTPs.
- Added screen transition effects. When moving between menus, a dithering transition is used.
- All menu screens now use the in-game cursor. The OS cursor of your computer is no longer used for anything in the game, except for the control mapper.
- All menu screens (And other UI based screens, such as the field trips) now render to a 480x360 render texture, which is then displayed on screen. This ensures all GUI elements remain pixel perfect.
- This screen uses a shader that can filter the pixels so that they appear square, even on non-integer scaled resolutions, with minimal blurring. This eliminates some strange effects where pixels may appear to be different sizes on some displays. This filter is optional, but it's recommended to leave it on for the best appearance.
- Created a brand new options menu that is compatible with the in-game mouse and features more settings. Changes/additions include:
- Divided settings into multiple pages.
- Settings now have tooltips with more info on what each setting is for.
- Added a rumble toggle.
- Added a reduce flashing toggle (Currently doesn't do much as Baldi's Basics Plus doesn't have much flashing at the moment).
- Added a vsync toggle.
- Added a pixel filtering toggle for the improved GUI rendering.
- Separate sensitivity settings for mouse and controller sensitivity, and for the in-game cursor and turning speeds.
- Added buttons to delete a file (The erase toggle on the name select screen has been removed), to reset endless mode high scores, and to reset field trip high scores.
- Replaced all sliders with segmented adjustment bar thingies (I don't know what they're called).
- Improved the design of the Rewired control mapper.
- I plan on eventually adding a fully custom control mapper that uses the in-game cursor and allows for control maps to be saved per-file, rather than being shared across all files. As it turns out though, creating a custom control mapper is complicated! For now, the one included with Rewired (Which is what Baldi's Basics uses to handle input) should be good enough.
- Added a button to access the Steam Input control mapper if Steam Input is active.
- Cleaned up the pause menu and added a quit confirmation screen.
- Updated most menu text to use text from the localization file.
- All tiles (The wall, floor, and ceiling cubes that levels are made out of) now use a single mesh, instead of a bunch of quads as before. These meshes are textured with texture atlases generated at runtime. The reduced mesh count, along with some other adjustments, has drastically reduced the number of draw calls per-frame (I'm talking dropping from a few thousand to a few hundred!) and improved performance quite a bit.
- This new tile setup required a new system for windows. Windows are now generated similarly to doors, with their own quad and game object, rather than simply being a transparent poster for a wall.
- Sprite billboarding is now handled via shaders instead of a script (With a few exceptions). This has also improved performance a little bit.
- Moved credits to the about screen. The game now closes after clicking the exit button without any further player input.
- Volume settings now use Unity's Audio Mixer system to control the volume of different types of sound effects.
- Some sounds now have custom volume multipliers. This is used to make several sounds that were too loud before quieter.
- Improved randomness of color glitching shader effects (Currently only used in the current end sequence, but will see more use later).
- Adjusted TextMeshPro assets so that the fonts are spaced better.
- Gameplay HUD elements will now scale such that they remain pixel-perfect no matter the resolution.
- Gave the stamina meter (Staminometer) a proper design.
- Created a custom dithering effect for shaders that isn't bad like Unity's built in one is. This new method seems to be compatible on everything, including Mac OS (Which the old one didn't play nice with), so now the same shader is used on all platforms and fog dithering is available on Mac OS.
- NPCs now exist in their own layer in order to improve collision. Mainly, NPCs should no longer get in the way of the player trying to click on objects.
- Posters with text now generate text at runtime, rather than having text baked into the texture. Poster text is now controlled by the currently loaded localization file. This change was made to make localizing the game into other languages easier.
- As a result of this change, some posters have had their designs tweaked.
- Game save data and most options are now stored in separate files. This is in order to prepare for Steam Cloud save support, which will be implemented at a later date. Some settings, such as resolution settings, will not be synced on the cloud since they will probably not be the same across different devices.
- Removed Baldi's Basics Classic Remastered exclusive code that was left in the previous version.
- Optimized the class NPCs use to "see" the player so that it no longer generates garbage.
- Made it possible for sounds to contain multiple subtitles. This is used to prevent longer audio clips from having too much text for one subtitle being displayed at once.
- Reworked how NPCs detect being looked at by the player. It is now much more consistent than it used to be.
- Reworked Arts and Crafter's behavior to be more manageable, and more similar to how it was in Baldi's Basics Classic. He will now run away if he sees the player for a short amount of time, whether the player is looking at him or not.
- What counts as looking at Arts and Crafters is now a bit more generous.
- Arts and Crafters is now hidden when he spawns so that he cannot be found in strange locations before being triggered to appear somewhere.
- WD-NoSquee has always worked such that, once used on a door, that door can be opened four times before the effect wears off, whether it is opened by the player or by an NPC. Now, NoSquee is only used up when the player opens the door, not when NPCs open it.
- Textures and sprites now have their contrast slightly increased as lights get darker.
- Mrs. Pomp now pauses the environment and NPCs when grabbing the player to tell them about her class.
- Mrs. Pomp now drags the player further into her class room before letting go and locking the doors.
- Reduced the possible time range for the Gravity Chaos event.
- Implemented a new detour system for NPCs when they target the player. During Gravity Chaos, this system is used to direct most NPCs to gravity flippers if their current orientation is opposite the player's. This prevents NPCs from annoyingly trying, but failing, to collide with the player over and over again during the event.
- Reworked The Test's speed increase method. It now will increase to a new pre-determined value each time the player looks away from The Test while in his sight. After a certain number of times doing this, The Test will instantly travel to the player's position when looked away from. Be careful!
- Level loading will now only begin when the elevator screen door is closed. With this change, you can no longer see the level begin to load when starting a new game or beating/losing a level.
- The name entry screen has been moved to the same scene as the main menu, allowing for a smoother transition between the two.
- Fixed a minor error in Playtime's animation.
- Set sprite shaders to the Unlit Sprite material setting. This has fixed some odd issues with certain sprites.
- Fixed the game loading incorrect window and resolution settings on startup.
- Fixed issues with the skybox rendering weird from certain angles.
- Fixed skyboxes being blurry on Linux.
- Fog now properly renders on the skybox.
- Fixed a bug that caused deleted files to not actually be deleted (They would only be removed from the in-game list of names, but the actual file would remain).
- Fixed a lighting calculation issue.
- Fixed flipping upside down not also flipping audio and subtitles.
- Fixed an issue where the dangerous teleporter and whirlpools could spawn the player in game breaking positions.
- Fixed an issue where Arts and Crafters would try to run from the player while chasing them or trying to teleport them.
- Fixed an issue where Arts and Crafters could collide with the player during Gravity Chaos while oriented opposite the player.
- Fixed a bug that would softlock the game if Mrs. Pomp caught the player to tell them to be at her class while in her class room.
Some more changes may be made between now and release, and if so I'll highlight them in a new post when the update releases.
Thank you all for your patience as I figure all this game dev stuff out!