0.3.5 is out now on Windows and Linux! MacOS version is also available, but may be unstable. Please comment here if you have (Or don't have!) any issues with it!
0.3.5 is out now on Windows and Linux! Before updating, note that, due to changes made since 0.3.4, settings and control maps will be reset. If you have a complex control map setup, please make sure you know what it is so you can recreate it after updating!
MacOS users, unfortunately I'm encountering a pretty bad freezing issue with the MacOS build. I haven't been able to fix it or even diagnose it. It's... Weird, to say the least. I'll try to get to the bottom of it soon,
but for now I've decided to make the 0.3.5 MacOS build available alongside the 0.3.4 version. You can try 0.3.5 and see if it works, but do so at your own risk! Know that it might freeze up after loading a level at least twice. If you play 0.3.5 on Mac, please let me know how it goes. If it's freezing you can go back to 0.3.4, but keep in mind downgrading might cause some weird issues with you saves and settings. Again, try it at your own risk!
After receiving a few other reports of the MacOS version crashing for other users across different Mac hardware, I've decided to remove the 0.3.5 build for now since it seems it is definitely unstable. Will keep everyone posted on when the MacOS version is back up and running!
Here is the changelog for most of the changes found in 0.3.5. Additions from the changelog in the previous post are in bold. Also, one bug fix which I thought was fixed (The blurry skyboxes on Linux) actually isn't fixed. Not sure why I thought it was but hey, I'll do what I can to get crisp skybox pixels on Linux!
- 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.
- Full Steam Input support.
- 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.
- Added instructions and a jump rope counter that appears on screen when playing jump rope.
- 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.
- Divided settings into multiple pages.
- 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.
- First Prize now has an improved method of grabbing the player. Should be a bit smoother than before!
- Removed the jump button. Jump rope now uses the action button for jumping.
- Tweaks to the default control map.
- Updated info on the about page.
- Principal of the Thing will now only spawn in his office.
- 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.
- Fixed whirlpool triggers being able to interfere with clicking on objects.
- Fixed grappling hook being able to pass through roto halls.
- Made the frequency at which the funny sound in Johnny's store plays framerate independent.
- Fixed NPCs, whirlpools, and gravity flippers being able to spawn in off-limits areas like elevators
- Fixed for being visible on the map screen (Was this a thing in version 0.3.4? I'm thinking I may have accidentally re-introduced it and then fixed it again since that update lol).
- Fixed elevator screen sometimes being visible for a frame at its normal scale before playing the zoom animation.
- Fixed a bug that would cause the level generator to crash if it couldn't find a valid place to put an elevator on the side of the level it initially chose to put it on. Now, if no valid location is found, it will try other sides until a valid location is found.