Baldi's Basics Plus cover
Baldi's Basics Plus screenshot
Genre: Strategy, Indie

Baldi's Basics Plus

Version 0.4.2 is available now!

Version 0.4.2 is now available! This update may be small, but that's because I've begun working on new stuff! In fact, I've already finished a new item that will be added in version 0.5!

As I continue working on new stuff, expect fewer bug fixes than in the 0.4.1 update. I'll try to get around to fixing all the current known issues eventually!

Changes



  • Big Ol' Boots now last 60 seconds.
  • Outside force modifiers (Such as wind or BSODA) now use a priority system that will cause lower priority modifiers to be ignored.


Bug Fixes



  • Fixed a bug that would cause NPCs to navigate through walls when targeting, wandering, and then targeting again in quick succession, such that the start cell and target cell never changed with each calculation.
  • Heavily reworked balloons to fix several issues they've had since the 0.4 update. They now pop when taken outside of a class room before respawning. When swapping a held balloon, the held balloon now takes the selected balloon's position. Balloons now have better movement.
  • Fixed some issues relating to changing the height of a non-grounded entity.
  • Fixed BSODA passing through entities when they are being pushed by multiple outside forces at the same time.
  • Fixed BSODA and other non-grounded entities being affected by forces that should only affect grounded entities (Like the conveyor belt and merry-go-round).
  • Fixed a bug where, if an entity was destroyed while on a merry-go-round (Such as an alarm clock despawning) it would cause the merry-go-round to stop affecting other entities.
  • Fixed a bug that caused non-player entities being pushed by outside forces to move slightly faster than they should.
  • Minor misc. fixes to the endless medium premade map.


Known Issues


Note that many of the issues listed here have been reported by players, but I have yet to reproduce them myself, so the accuracy of them might vary.

  • Balloons occasionally clip into objects.
  • NPCs will often not try to flip themselves when they are oriented opposite the player during Gravity Chaos. This can lead to strange NPC behavior.
  • NPCs will occasionally appear to turn-around when entering open areas where a hallway bridges between two different parts of that open area.
  • Lockdown doors near spawn can be seen snapping into the open position at game start.
  • Principal Office door can get stuck open indefinitely if sent to detention during a flood.
  • Dr. Reflex will not always be facing the entity he is hitting with his hammer.
  • Dr. Reflex can squish NPCs even when they do not match his orientation during Gravity Chaos.
  • Captions are more likely to stack on top of each other and become hard to read due to the new sound propagation system. I plan on finding a way to prevent captions from rendering on top of each other.
  • There is no indication for when entities are about to become unsquished (Not a bug, just an issue I intend to address soon).
  • It is possible to see out of bounds while being rotated by a gravity flipper while squished.
  • On some screen resolutions, it is possible to see a gap through some elements on the elevator screen.
  • Some NPCs are very annoying when they are squished.
  • Wind and conveyor belt audio is not propagated.
  • NPCs will occasionally end up wandering into an area they should be fleeing from.
  • Dr. Reflex can sometimes get his hammer early while being pushed around by outside forces.
  • NPCs will occasionally get stuck on the merry-go-round.
  • NPCs can collide with other entities through walls, triggering their effects.
  • Math Machine balloons can rarely get stuck behind the diagonal math machine.
  • It is possible to escape being pushed by First Prize by pausing/unpausing the game rapidly.
  • Principal locks all office doors when leaving his office during detention, even ones he is not leaving through, which can cause a door unlocked with keys to unexpectedly be locked again.
  • Mrs. Pomp can ask you to come to a class room that the player is already in.
  • One-way doors can generate directly next to lockdown doors.
  • One-way doors can generate on top of regular swinging doors.
  • Principal, under some circumstances, can maintain his fast speed after using the principal whistle.
  • Stamina drops when trying to move even if the player cannot move.
  • Whirlpools that spawn behind a closed elevator gate still pull on the player, and this can cause the player to get stuck if there are multiple whirlpools.
  • The camera can rarely be rotated up/down when getting turned around by Dr. Reflex.
  • Sometimes the edge of the flood water object can be seen.
  • Dr. Reflex's sprite rarely getting tilted when pushed by multiple outside forces at once.
  • Holding the quick map open while opening the advanced map causes a small visual issue.
  • Arts and Crafters' echoes while attacking don't always match his orientation during the gravity event.
  • When spawning in a level, the inventory says "Nothing" even if an item is highlighted.
  • The wrong amount of power tubes is displayed when playing certain modes.
  • Mrs. Pomp's map icon is awkwardly placed in some rooms.
  • Chalkles' voice sometimes cuts out while laughing due to the audio being propagated and entering another room/going out of bounds.
  • Going on a field trip while the "all notebooks" notification sound is playing will cause it to play a second time after returning from the field trip.
  • A seed is displayed when playing pre-made maps.
  • Held sprite objects, such as the math machine balloons, can be held into other areas such that their lighting noticeably changes.
  • Mrs. Pomp doesn't wander around class rooms in pre-made maps. She just stands in a corner.
  • Certain sound effects are delayed while the environment is frozen (Such as when Mrs. Pomp is asking the player to come to her class).
  • Maps from saved games of Hide & Seek from older versions of the game will fill out the areas found from the previous play session, even if it doesn't match new level generation.
  • Principal doesn't open office doors during detention while fleeing from a tape.
  • Beans' gum will float if the surface it hit is moved away.
  • You can look back while inside a locker.
  • During the flood, hall swinging doors do not open, while swinging doors that lead into rooms do open.
  • The map in Johnny's store doesn't remain sold out after buying it when replaying the same level.



Version 0.4.1 is available now!

Hello Baldi's Basics Plus players!

First off I want to say a big THANK YOU for all the great feedback I've received regarding the 0.4 update! I'm so glad that so many of you are loving the update, and I will be taking the more constructive feedback and using it to improve the game where possible.

Of course I also want to say thank you for all the bug reports that have been sent in! I would not have been able to fix so many bugs without them.

Lastly, I want to note that old mods MUST be uninstalled before you can play the new updates! Several people have reported severe issues with the new update, primarily being unable to move when starting a game, and the cause has consistently been old mods conflicting with the new version of the game. If you have mods installed and are unsure how to properly uninstall them, the easiest way is to delete the entire Baldi's Basics Plus folder installed by Steam and re-install it. It is not always enough to just re-install it or check file integrity via Steam. If you are experiencing a game breaking issue, please make sure you don't have any old mods installed.

With all that, here's the changelog for version 0.4.1, available now!

Changes/Additions



  • Added an error screen to the elevator for when the level generator crashes. This screen will inform players that a crash occurred and give them instructions on how to submit a proper bug report.
  • Mrs. Pomp no longer freezes the player in place when she first starts screaming at them.
  • The party event now has NPCs wander around the Principal's office, rather than just stand in place.
  • Math Machine balloons no longer have captions when they pop.
  • Updated descriptions for explorer mode and challenges for clarity.
  • Added a failsafe to the occlusion culling system which prevents it from crashing if an opening to an out of bounds area generates in a level.
  • Made Kickstarter backer posters much rarer, and limited them to appear in level 1 only.
  • Misc. code cleanup.


Bug Fixes



  • Fixed some furniture with rotation that was misaligned around the Y-axis, allowing the player to change their height and fly over/under the level by walking into it.
  • Fixed Mrs. Pomp being able to attack the player in rooms she cannot enter.
  • Fixed Mrs. Pomp sometimes targeting a door that doesn't lead to a hallway.
  • Fixed a bug that caused the player to be unable to move after using a teleporter while in a locker.
  • Fixed the floodwaters being audible at full volume for a frame when the event starts.
  • Fixed a bug that caused entities to get stuck in the ground when getting sucked into a whirlpool at the same time a field trip is played.
  • Fixed an oversight that allowed players to use items during field trip minigames.
  • Fixed Arts and Crafters attack sound being louder than intended and not respecting the sound effects volume setting.
  • Fixed propagated audio being audible at the wrong volume level for a single frame when a level finished loading.
  • Fixed several NullReferenceException errors that would occur when quitting to the main menu (These errors had no noticeable effect on gameplay).
  • Fixed Dr. Reflex always knowing the player's location the same frame he gets angry, even if they were out of his line of sight.
  • Fixed Baldi's "thanks for playing!" voiceline when quitting the game not respecting the voice volume setting. If the voice volume is zero, there will be no delay when quitting.
  • Fixed The Test being able to move while not observed when its navigation was overridden by external events, such as the party event or playing the tape/phone.
  • Fixed a bug that allowed hall lockers to be built into rooms.
  • Fixed the elevator and elevator gate audio sources not being propagated.
  • Fixed the order of challenge maps on the challenges menu to properly reflect the numerical order as displayed in the elevator.
  • Fixed Baldi's "smarter than me!" caption not being green in some contexts.
  • Further restricted the spawn positions of whirlpools to prevent players potentially getting stuck when the event ends while they are getting pulled down into a whirlpool.
  • Fixed several issues with pre-made maps

    • Fixed notebooks icons being misplaced.
    • Fixed the playground in the grapple challenge not having the playground room function assigned.
    • Added EntitySafeSpawn points to all Principal's offices in premade maps. These points are used by some game events, and without them strange behavior would occur.

  • Fixed a bug that could cause openings to an out of bounds area to form in special rooms (Like the playground or library).
  • Fixed an object that was not being occluded properly.
  • Fixed posters getting placed on the fence in outdoors areas.
  • Fixed the library being the only special room to generate in level 3. Now the cafeteria can also generate in level 3.


Known Issues


Note that many of the issues listed here have been reported by players, but I have yet to reproduce them myself, so the accuracy of them might vary.

  • NPCs are able to navigate through walls in rare cases. I'm not entirely sure under what conditions this is possible, but I've seen it happen a few times now.
  • Balloons occasionally clip outside of rooms or into objects.
  • NPCs will often not try to flip themselves when they are oriented opposite the player during Gravity Chaos. This can lead to strange NPC behavior.
  • NPCs will occasionally appear to turn-around when entering open areas where a hallway bridges between two different parts of that open area.
  • Lockdown doors near spawn can be seen snapping into the open position at game start.
  • Principal Office door can get stuck open indefinitely if sent to detention during a flood.
  • Dr. Reflex will not always be facing the entity he is hitting with his hammer.
  • Dr. Reflex can squish NPCs even when they do not match his orientation during Gravity Chaos.
  • Captions are more likely to stack on top of each other and become hard to read due to the new sound propagation system. I plan on finding a way to prevent captions from rendering on top of each other.
  • There is no indication for when entities are about to become unsquished (Not a bug, just an issue I intend to address soon).
  • It is possible to see out of bounds while being rotated by a gravity flipper while squished.
  • On some screen resolutions, it is possible to see a gap through some elements on the elevator screen.
  • Some NPCs are very annoying when they are squished.
  • Wind and conveyor belt audio is not propagated.
  • NPCs will occasionally end up wandering into an area they should be fleeing from.
  • Dr. Reflex can sometimes get his hammer early while being pushed around by outside forces.
  • NPCs will occasionally get stuck on the merry-go-round.
  • NPCs can collide with other entities through walls, triggering their effects.
  • Math Machine balloons can rarely get stuck behind the diagonal math machine.
  • It is possible to escape being pushed by First Prize by pausing/unpausing the game rapidly.
  • Using a BSODA to push an entity that is being pushed by a conveyor belt/wind in the direction the belt/wind is moving will cause it to pass through the entity.
  • Math Machine balloons can end up outside of their correct room sometimes.
  • Principal locks all office doors when leaving his office during detention, even ones he is not leaving through, which can cause a door unlocked with keys to unexpectedly be locked again.
  • Mrs. Pomp can ask you to come to a class room that the player is already in.
  • One-way doors can generate directly next to lockdown doors.
  • One-way doors can generate on top of regular swinging doors.
  • Principal, under some circumstances, can maintain his fast speed after using the principal whistle.
  • Stamina drops when trying to move even if the player cannot move.
  • Whirlpools that spawn behind a closed elevator gate still pull on the player, and this can cause the player to get stuck if there are multiple whirlpools.
  • The camera can rarely be rotated up/down when getting turned around by Dr. Reflex.
  • Sometimes the edge of the flood water object can be seen.
  • Dr. Reflex's sprite rarely getting tilted when pushed by multiple outside forces at once.
  • Holding the quick map open while opening the advanced map causes a small visual issue.
  • Arts and Crafters' echoes while attacking don't always match his orientation during the gravity event.
  • When spawning in a level, the inventory says "Nothing" even if an item is highlighted.
  • The wrong amount of power tubes is displayed when playing certain modes.
  • Mrs. Pomp's map icon is awkwardly placed in some rooms.
  • Chalkles' voice sometimes cuts out while laughing due to the audio being propagated and entering another room/going out of bounds.
  • Going on a field trip while the "all notebooks" notification sound is playing will cause it to play a second time after returning from the field trip.
  • A seed is displayed when playing pre-made maps.
  • Held sprites objects, such as the math machine balloons, can be held into other areas such that their lighting noticeably changes.
  • Mrs. Pomp doesn't wander around class rooms in pre-made maps. She just stands in a corner.
  • Certain sound effects are delayed while the environment is frozen (Such as when Mrs. Pomp is asking the player to come to her class).
  • Maps from saved games of Hide & Seek from older versions of the game will fill out the areas found from the previous play session, even if it doesn't match new level generation.
  • Principal doesn't open office doors during detention while fleeing from a tape.
  • Beans' gum will float if the surface it hit is moved away.
  • You can look back while inside a locker.
  • Dr. Reflex is moved slightly faster by wind/conveyor belts than he should.
  • During the flood, hall swinging doors do not open, while swinging doors that lead into rooms do open.
  • The map in Johnny's store doesn't remain sold out after buying it when replaying the same level.

Version 0.4 releases late February!

Hello everyone!

This is going to be a small status update, but I just wanted to let you all know that I'm ready to announce that Baldi's Basics Plus version 0.4 will finally release on February 26... At the latest!

The update is nearly ready to go. The one thing that's holding it back is Dr. Reflex's animation work, which is taking longer than anticipated. I was hoping to be finished taking photos by now, but I ended up having to redo a couple of animations so I'm not quite there yet. I think I'll be able to finish this week though! After that I'll have to edit every single photo, which will involve removing the greenscreen, manually editing out any other artifacts, making sure everything is lined up properly, making everything low res and dithered, etc. There are a few hundred frames of animation to go through, so I'm not quite sure how long that step will take me. I hope you all end up liking the final result because this is the most effort I've ever put into a character's visuals!

So that's why I'm saying February 26 at the latest. With that date I'll have plenty of time to ensure everything is ready to go, but there's a chance that, if things go really well over the next couple of weeks, I may be able to release it a bit earlier!

Of course, once this update releases that will mark the beginning of the new update schedule of a major update every two months, so you can expect version 0.5 to release around the end of April/beginning of May. I myself am not sure what will be in these future updates, I'm just going to be working on developing the new content I have planned and I'll ship whatever is ready in each major update. This means that they will vary in size, but they will always contain something new to discover. There will also be no more delays since I won't be holding updates back to finish certain features! If something isn't ready yet, it will just be saved for the next major update.

That's it for this small status update about a BIG game update! Thanks again for all the support!

Version 0.4 is releasing soon, and a new character has been revealed!

Hello Baldi's Basics Plus players!

First off I'd like to apologize for the lack of updates here on Steam. I have been posting status updates to the game's Kickstarter every two months for over a year now, but it didn't occur to me until recently that I should be sharing that news with everyone here as well!

If you'd like to see what you've missed, all previous status updates can be viewed on the Kickstarter's updates page.

I will be posting the latest update right here though! In it I discuss a big new feature coming to the game and the next character to be added, who will make their debut in version 0.4! When is 0.4 releasing you ask? Soon! February 2024 at the latest, but possibly sooner. Keep reading for more details!

Sound Propagation


Something I've never been super happy about with Baldi's Basics is the way sound works. Unity's built-in audio system is very basic and so it can't do much beyond very simple attenuation and panning based on a sound's location relative to the camera. This means that sounds have always ignored the level layout and passed right through walls. I'm sure many of you have noticed that in the game you can hear anything that's nearby even if there are several walls between you and the source of the sound that should affect it. What I've always wanted to do was have sounds wrap around the walls so that players hear where they are coming from, not where they are. For a stealth game, this sort of sound propagation is a big deal.

For example, if you're in a room with a single door, all sounds from outside should be heard coming from the doorway. Even if the source of that sound is closer to the wall opposite the door, the sound should only be able to pass through an opening, not a wall. There are plugins available that try to solve this problem, but many of them either don't work with procedurally generated scenes or utilize expensive (On the CPU, not expensive monetarily) raycasting techniques to achieve a more realistic sound, which would be overkill for Baldi's Basics. I have for a long time felt that, due to the simple grid-based nature of Baldi's Basics levels, there had to be a good way to achieve what I wanted, and while I had several ideas on how to tackle the problem myself they were either too complex to tackle any time soon or would put too much work on the CPU and hurt performance.

That is until I stumbled upon a sort of algorithm/technique sometimes referred to as Dijkstra maps! Without getting too technical, this technique involves creating a sort of map that points to the shortest path to the player's location from any other location in the level. You only have to generate this map once whenever the the player moves or whenever the level layout changes, and then it can be used by as many things that need it as often as they need it. This means that the game can calculate what route a sound needs to take to reach the player very quickly, much more quickly than other pathfinding algorithms, which means lots of sounds can be processed at once without impacting performance!


In this screenshot, you can see this system in action! The lines from Baldi are an approximation of the shortest path from him to the player (Who is at the red X). The audio source gets placed at the end of the cyan line so that the sound can be heard coming from the door, even though Baldi is technically in the opposite direction.

I was able to develop, polish, and debug this system in just over a week. Performance testing shows it runs just as well as I was hoping. I was not expecting to get this done so early, but now it's likely it will be yet another big improvement to the game that will ship with Baldi's Basics Plus version 0.4!

You might be wondering, besides the fact that it's really cool, what is the point of this? Well there are several reasons why I believe this is a big improvement over the way audio used to be:


  • Sounds you hear are now more relevant - Just because you hear Baldi on the other side of a wall doesn't necessarily mean he's close to you. There might be a long winding path between you and him. With this system, you will now only hear sounds from things that are truly close to you!
  • You can now hear where sounds are coming from - With the old system, you can roughly tell where a sound is, but not necessarily which direction it's coming from. With sound propagation, you can better tell which way to go to get closer to, or run away from, a sound.
  • It makes captions less overpowered - Many people have noted that captions are a bit overpowered in their current form since they not only point to where a sound is at, but easily visualize how it's moving as well. Captions have been updated to reflect the new sound propagation system so now they don't provide as big of an unintended advantage while still providing useful info for those who need them to play the game properly.
  • It improves the game's atmosphere - The game is now a bit more quiet overall which, combined with other factors, raises tensions a bit more.

Sound design is one of my biggest passions in game dev so I could keep going on about how excited I am about this feature, but I'll go ahead and move onto revealing the next character!

Spoiler Warning!


If you're trying to avoid seeing the new character before 0.4 comes out, turn back now! If not, scroll down!

Oh, and please be mindful when discussing the new character online by posting spoiler warnings as well so that people who don't want spoilers can more easily avoid them!









Presenting the next Baldi's Basics character...












Dr. Reflex!




As many of you guessed, the next character will be Dr. Reflex, who I first talked about way back in a Kickstarter update I posted just a week after launching this campaign! I mentioned that the name was "definitely pending" but I ultimately just decided to leave it as-is haha.


What I didn't leave as-is are his game mechanics! The character works very differently than what I initially described in that previous post, as the idea evolved a lot since then. Dr. Reflex wanders around the school just like any other character, and when he sees you he'll rush over and, if he catches you, force you to take a reflex test in the form of a timing minigame. After a few moments he'll open up both of his hands and you'll need to quickly click on the correct one (Obviously there will be an indicator showing which hand is correct, but I haven't settled on what that will look like quite yet). If you click the wrong one or take too long to react the minigame will reset, and it will continue until you win, which will earn you some YTPs!


You might be thinking that that sounds a lot like Playtime, but Dr. Reflex has a big difference that sets him apart. Unlike with Playtime, you aren't held in place and can just walk away whenever you want. Baldi getting too close to wait for the test to begin? Just walk away! What negative consequence could you possibly face for leaving before completing the test?


Well that's when Dr. Reflex gets really interesting! If you leave before completing the test, Dr. Reflex will get angry and head back to his clinic (A special room that will generate in levels he is in) and grab a giant percussion hammer (You know, one of those weird reflex test hammers doctors hit your knee with). With this in hand, he will begin hunting you down, and if he catches you he will hit you with it several times and squish you!


When you're squished, your character will be half their regular height, and the things you'll be able to interact with will become limited. You'll still be able to open doors and solve math machines, but you won't be able to hit buttons, pick up items and notebooks or enter lockers among other things. This effect will wear off after some time, so you'll have to be extra careful until you regain your normal height.


You're not the only one who can get squished though! In his fury, Dr. Reflex will squish any character he comes across, including Baldi himself! When a character is squished, their interaction with you will be limited. So, for example, Baldi won't be able to end the game, Principal of the Thing won't be able to send you to detention, etc. If other characters get squished, make sure you take advantage of the situation!

Once Dr. Reflex squishes the player, he will return to normal and, after a cooldown, the cycle will repeat.

Dr. Reflex's programming is already pretty much complete. From what playtesting I've done, he can create some really funny - and terrifying - scenarios, so I can't wait for when you all will be able to meet him in-game!


What's not complete is the artwork and sounds. Similar to First Prize, Dr. Reflex will have a sprite that rotates based on what angle you are seeing him from. This is not only cool looking, but it's also important for gameplay as, unlike other Baldi's Basics characters, he can only see you if you are in front of him or in his periphery.

The difference though is that his sprites will be animated! I explained some of this in an earlier update, but the plan is to use stop motion to animate him from eight different angles, which is looking to be a lot of work, but I think it will be worth the effort! I haven't done any animation yet, so for now I just have these static placeholder sprites to show off.

I also have yet to do voicework. I haven't settled on how I want him to sound yet, all I know is that his catchphrase will be "Thiiiiiiink... Fast!" which he'll yell as he first chases you down and starts his minigame.

I think that's about everything there is to know about Dr. Reflex at the moment. So, I'll wrap this status update up!

Wrapping up


Recently I said that a January release for Baldi's Basics version 0.4 was a pretty safe bet, and I'd say that's still likely! However I have yet to sit down and make a bunch of rooms for the new level generator (Largely due to sound propagation stealing my attention for a bit!), so between still needing to do that and Dr. Reflex's animation work, things may take a tiny bit longer. 0.4 will come out in February at the latest, but January is still a real possibility. I will keep everyone updated as we get closer to those dates.

Aside from all that, I've also been doing the usual bug fixing and polishing as needed. The changelog for 0.4 is going to be massive haha.

Thanks to everyone for you support and patience!

Limited Time Baldi Plushie Available Now PLUS Version 0.4 Status Update!

Hello everyone, I'm here with a status update to discuss some cool stuff that's been going on!

First, Baldi's Basics turned five years old a week ago! To celebrate, I'm happy to announce that I have teamed up with Makeship to create a new Baldi Plushie! Click here to check it out!



This plushie will only be available to purchase until April 28, so don't wait too long! If at least 200 units are sold, the campaign will be successful and the plushie will be produced shortly after! If not, all orders will be refunded, so there's no risk in placing an order early. I worked with the team at Makeship to make sure this plushie was just right, and I'm super happy with how it turned out!

But that's not all I want to talk about! As some of you might know, one of the reasons Baldi's Basics Plus has received so few updates as of late was because I realized I was totally unorganized and needed to finish the game's design document. Well, the core of that document is finished and so I've recently begun active development on the game again! Let's go over what I've been working on over the past month.

Level Control Improvements


Mainly, I've been reworking some old systems that were in dire need of improvements, and cleaning up parts of the project that have become obsolete or messy to manage. With the game design document's core finished, I've gained a much better understanding of what the game needs to be capable of, and one big thing that needed changed was the way tiles - the individual cubes that levels are built out of - are controlled. In current versions of Baldi's Basics Plus, all the data for tiles is stored with the tile game objects themselves. This causes some issues, especially with level generation since large numbers of these tile objects need to be created and destroyed during that process, which is very slow.

What I've done is switched over to a more data-oriented system, where tile data such as navigation and shape info, position, the presence of objects and posters, etc. is now stored separately in a "cell" variable. Tiles are now just the objects that you see in the game, and they are linked to their corresponding cells, but don't actually hold the data anymore. This means that I can now do stuff like generate levels without having to create and destroy stuff until the process is finished, which means the level generator can do a lot more per-frame. The level generator should be lot faster when Plus version 0.4 launches! With these changes, the level control systems are also a lot more flexible than before which should open up some cool possibilities!

Map Improvements


Something a bit smaller, but cool, is that I've made some tweaks to the map. Map tiles are now filled in with a matching transparent background color, making it easier to read. Doors and windows now have unique tiles on the map. Icons for things like items and notebooks now remain upright when viewed through the quick map, and additional icons have been added to elevators to show where they are and their current status. I've tweaked the map colors to make more sense (Class rooms are now green, faculty rooms are now red, principal's offices are now yellow, and hallways are now white). Lastly, I've added a subtle background affect to certain rooms when viewing the advanced map which makes it easier to identify them. I have more plans for map improvements, but this is what I've done so far!




Level Generation Improvements


The other big thing I have to talk about in this status update is that I'm making a big change to the level generator! In the current version of Baldi's Basics Plus, almost everything is procedurally generated. Too much, I've come to realize. So the way level layouts are generated is great, there are no issues there, the problem is with how the contents of individual rooms are procedurally generated.

I think when I started this project my mindset was "the more stuff that's procedurally generated, the better!", but I've since come to realize that isn't necessarily the case. Currently, rooms in Baldi's Basics Plus are really boring. There are a few different types which place furniture and decorations in certain ways, but they all feel stale. My plan for a long time was to eventually take some time to improve the process for room generation to add more variety, but I realized that in order to add enough variety to make rooms that really feel interesting, it would take a lot of additional programming. Too much, in fact. It would basically be like programming a unique level generator for every type of room. Even sharing as much code as possible, it would still be a lot of work, and I haven't even mentioned how prone to bugs and bad layouts such systems would be (I'm sure many of you have seen quite a few desks sticking through windows by now!).

So, I'm switching to a different approach. In Plus version 0.4, all rooms will be premade. Levels will be generated as before, and when it comes time to place rooms, the generator will randomly select from a list of potential rooms, find a position and rotation that the room fits in, and then load it and its contents into the level. This not only makes it easier to make a wide variety of interesting rooms, but it has other big benefits. It improves level generation speed, it helps avoid potential softlocks (Like teleporting only to get trapped behind a desk), and is much easier to maintain, among other things!

Now, initially this might seem a bit less interesting, but I'm confident that this will result in levels that are much more interesting to explore, especially as I add more rooms to the game. I'll be able to add rooms with furniture layouts that have interesting affects on gameplay, rooms with weird shapes (Like the smiley face used in the map you can see above!), even rooms with unique gimmicks! I'll try my best to find the right balance between common, simple rooms and rarer, weirder rooms to keep exploration fresh for a long time!

Oh, once I got this system up and running I also adapted it so that hallways can generate with custom made areas as well, like this open area with a pillar in the middle!



Spring Cleaning


With these big changes almost finished, the next thing I'll be doing is some spring cleaning! There are lots of outdated and obsolete assets and scripts in the project, so I'll be cutting out all the stuff I don't need and making sure the project is easy to work on before I start working on the stuff you all are waiting for- New content!

Work on the next character has begun. I've drawn some (bad, but effective) concept art to figure out what colors he'll be using. Once I pin that down, I'll have to order some art supplies...

Anyways, that's all I have for this status update. 0.4 is on its way, and remember, once 0.4 releases, that will be the beginning of a new update schedule: Major updates every two months! Thanks all for your patience and support!

Version 0.3.8 is now available!

Hello!

Baldi's Basics Plus version 0.3.8 is now available! This version has more improvements and adjustments that I made since 0.3.7 while wrapping up Baldi's Basics Classic Remastered (Which released a couple weeks ago if you didn't hear!). This update is pretty significant because it is the final 0.3 minor update (Assuming no major issues show up)! The next update should be version 0.4.

With Baldi's Basics Classic Remastered complete (Which admittedly sidetracked me more than I intended) I can now put my full focus back on developing Baldi's Basics Plus. While working on Classic Remastered I was also working on the Plus framework, but now I'll be able to get back to making brand new content for Plus, not just improvements and polish. The first step of this will be finishing my Baldi's Basics Plus design document. Then, I'll be back to active development again.

Once I release version 0.4, I will start releasing new major updates approximately every two months. As I work on the game, I'll basically just include whatever features are ready to go when it's time to release each major update, with minor updates mostly being for bug fixes and very minor adjustments.

With all that said though, here's the changelog for 0.3.8!

Additions



  • Added new sounds for

    • Doors locking and unlocking
    • Trying to open a locked door
    • Using a water fountain
    • Inserting a coin into a vending machine or coin door
    • Buttons

  • Created a new texture for buttons.
  • Added the ability for certain parts of textures to glow in the dark. This has been applied to buttons, vending machines, and math machines.
  • After starting the game, if you press and hold "alt" until the Basically Games logo disappears, all your settings (Except for controls) will be reset. This is useful if you've messed up your settings and somehow are unable to change them back.


Adjustments



  • Downgraded It's a Bully's audio clips to match the rest of the game's audio.
  • Principal's keys no longer instantly open a door when used. Instead, you will now hear a sound signifying the door has been unlocked. Then the door can be opened freely.
  • Made it so you can now look backwards while jumping rope.
  • You can now move a little bit during a jump while playing jump rope! Now when you get caught by Playtime in a bad spot, you might still be able to get where you need just in time!
  • Alarm clocks can now be set to go off after 15, 30, 45, or 60 seconds. Once dropped, just click on it to change it! It will be set to 30 seconds by default.
  • Arts and Crafters' teleportation destination is now determined the moment you are teleported, rather than the moment the attack starts. The behavior now works a bit more like you'd expect as you won't get teleported to exits you close after the attack sequence starts.
  • The game will no longer load at a resolution smaller than 480x360. The options menu will no longer show options smaller than 480x360. If the config file is manually changed to a resolution lower than 480x360, the resolution will reset to the default setting.


Bug Fixes



  • Fixed an issue where the player would get sent out of bounds if they were teleported while being pushed by First Prize.
  • Fixed issues with color glitch shaders (As seen in the ending sequence) flickering.
  • Fixed blurry skyboxes in the Linux version.
  • Fixed an issue that caused the lighting of certain objects to change depending on how close you are to them.
  • Restored whirlpool audio, which was missing in some of the previous versions.
  • Fixed door audio coming from a location next to the door, not on the door itself.
  • Fixed an incorrect caption for one of Baldi's voice clips.
  • Fixed a bug that would cause the player to interact with an object they were facing when clicking the "resume" button on the pause menu.
  • Fixed a bug that caused 1st Prize to make a slam noise when cutting his wires while moving at a high speed.
  • Fixed WD-NoSquee uses being used up when clicking on a door that is locked or open.
  • Fixed cafeteria ambience not being assigned to the sound effects audio channel, meaning it wasn't affected by any audio settings.
  • Fixed a bug that caused players to become vulnerable when teleporting out of a locker.
  • Fixed a bug in the Grapple Challenge that allowed players with a full inventory to replace items with their grappling hook and have the item they picked up get immediately replaced with another grappling hook.
  • Fixed a room in the Stealthy Challenge that was walled off.
  • Fixed the way the game detects what the default resolution should be. It will now use your primary monitor's current resolution (As set in system settings, not its native resolution).


On top of all that, version 2020.3.38 of Unity was released a couple of months ago which fixed the MacOS freezing issue from before, so the MacOS version is now exactly the same as the others and the Vsync setting has been restored!

And with that, I've got a game design document to finish! See you all when 0.4 releases!

MacOS version of 0.3.7 is now available!

Hello MacOS players!

I'm happy to let you all know that Baldi's Basics Plus version 0.3.7 is finally getting released on MacOS! There is one small change I had to make to get the MacOS version working however, which unfortunately has the side effect of increasing load times, particularly for randomly generated levels. Here are the details:

The reason I didn't initially release the MacOS version is because of a bug I discovered that caused the MacOS build to freeze very frequently. After doing some digging I isolated the issue and discovered that the freeze only occurred when changing the game's Vsync mode. As it turns out, the issue isn't on me, it's an issue with the current version of Unity 2020, which is what Baldi's Basics Plus is currently built with. This means that I can't fix it, I have to wait for Unity to push a fix. The issue is in their bug tracker, and currently a fix is "in review" for Unity 2020, but I'm not sure how long I'll have to wait for it to be pushed out as I reported the bug nearly two months ago. A new version of 2020 released yesterday which did not come with the fix, so I decided the best thing to do would be to work around the issue for now, rather than to keep MacOS players waiting any longer.

I made two changes to the MacOS build to work around this issue. The first is that I removed the Vsync option from the options menu. Vsync will be on by default. The second is that I removed pieces of code that disable Vsync while levels load. The reason for disabling Vsync during loading is to reduce load times as much as possible, as the level generator/loader does each step one-at-a-time each frame. By unlocking the frame rate during loading, it can complete in one or two seconds on fast PCs (I realize now that there are more efficient ways to generate a level than the current methods used by the game, but I probably won't revisit the level generator code for a while). Since I can't currently do this on MacOS, Vsync stays on and load times will probably be noticeably longer than they were on faster Macs (On slower Macs, you probably won't notice much if any difference).

Of course, this isn't a permanent solution. Once Unity resolves the issue (Which hopefully won't take much longer...) all versions I release after that should be the same on MacOS as on all other platforms, and load times should return to normal. Until then, this seemed like the best solution. Thanks for your patience everyone!

0.3.7 is out now with fixes for control issues!

Baldi's Basics Plus version 0.3.7 has just released! It's a small patch to address some issues many players were reporting with the in-game cursor movement being treated as a joystick input. While there were ways to fix it when it happened, this patch will hopefully prevent it from happening anymore. Note, that due to the changes made, this update will reset your current control maps!

The MacOS version is still on hold until further notice, sorry about the wait! I've figured out what's causing the issue and it actually seems to be a problem on Unity's end, not mine, so I'm waiting to hear back from them regarding a bug report I sent. Fingers crossed the issue gets worked out soon!

Here's the full changelog:

Adjustments



  • Made menu controls visible in the Rewired control mapper. You can now change controls for mouse cursor movement, clicking, map zoom, etc.
  • Adjusted default control map settings. By default, the arrow keys can be used to control the in-game cursor, and enter to click.
  • Holding the control key when the Basically Games logo disappears will reset the controls to the defaults.
  • If the game detects a bad mouse mapping, it will reset the mouse control map to the defaults (A bad mouse map would be assigning mouse movement to a few Joystick inputs or removing the cursor maps, among other things). This is to prevent a scenario where the in-game cursor becomes impossible to move.
  • The "check for updates" button on the main menu now leads to the game's Steam news page.


Bugfixes



  • Fixed several issues with the way Rewired was setup. This will hopefully prevent the weirdness that was occurring in 0.3.6 (If not, the bad mouse map detection should act as a failsafe).
  • Fixed glitched invert axis icons.

0.3.6 is out now with tons of bug fixes! MacOS version still on hold.

Baldi's Basics Plus version 0.3.6 has just released, and with it comes a lot of bug fixes! Thanks to everyone who reported bugs, that was a huge help.

The MacOS version is still on hold unfortunately, as I still haven't figured out what's causing it to freeze. With these bug fixes out of the way though I'll be able to spend some more time digging into the issue.

Here's the full changelog, as well as some known issues I haven't taken the time to fix yet. You don't have to worry about reporting those!

Adjustments



  • Renamed "subtitles" to "captions".
  • The player can now move around a little bit while being hugged by 1st Prize.
  • When being pushed by 1st Prize or Gotta Sweep, the player will automatically open any doors they collide with.
  • Updated copyright.
  • Added the ability to past seeds into the new seed entry system. Just press Control/Command + V when a valid seed is saved to the clipboard!
  • Placed the Hide-and-Seek button in a more prominent spot to make it clearer that it's the main mode.
  • If a file's resolution is manually set by modifying the config file, that resolution will be added to the list of available resolutions in the options screen until the setting is changed and the game is closed.
  • Camera no longer renders while pause screens and field trips are open. This should allow for smoother performance on low end hardware while on these screens.
  • Added transitions when loading and leaving field trips and when entering and leaving Johnny's store.
  • Adjusted the value of the minimum mouse camera sensitivity setting.

Bug Fixes



  • Fixed windows not having the correct broken glass texture (Not sure how that one slipped by, whoops!).
  • Fixed Rewired control mapper maps being reset every time the game is started.
  • Fixed Steam Input not working during in-game field trips.
  • Fixed the "NO" button on the quit confirm screen not having a transition.
  • Fixed the player being able to click through windows.
  • Fixed gum passing through windows.
  • Fixed the grappling hook not latching onto windows.
  • Fixed apple trees not having apples.
  • Fixed the water fountain spout and grappling hook cracks rendering over other sprites.
  • Fixed the water fountain spout sprite billboarding. It is now static.
  • Fixed captions being stuck reversed when losing, quitting, or beating a level while upside down.
  • Fixed being able to pause during in-game field trips by opening the Steam Overlay.
  • Fixed 1st being able to pass through players under certain conditions.
  • Fixed sometimes being left behind by 1st Prize when passing through doors.
  • Fixed display issues on resolutions thinner then 4:3.

    • Fixed hud elements overlapping or going off screen.
    • Fixed menu screens being too small and low res.

  • Fixed multi-part posters not loading into levels properly.
  • Fixed being able to press the pause button and unpausing the game while using the Rewired control mapper.
  • Improved the appearance of the dither transition on non-integer scale resolutions with the pixel filter on.
  • Fixed party music playing from 0,0,0 instead of the Principal's Office.
  • Fixed window breaking missing a caption.
  • Fixed many dither transitions playing way too fast.
  • Fixed visual issues when quickly opening and closing the map.
  • Fixed the jump rope rendering on top of pause screens.
  • Fixed objects close to the camera near clip plane rendering on pause screens.


Known Issues



  • The principal's office tape player desk sometimes sticks out a window.
  • Arts and Crafter's clones during the teleport animation don't always match his orientation during Gravity Chaos.
  • Holding the quick map open when opening the advanced map causes a bit of visual weirdness.
  • Pressing opposite directional buttons to move the quick map can cause it to move at slow speeds.

Version 0.3.5 is out now on Windows and Linux! MacOS version should be soon.

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 delay it until I find a fix.

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!

Additions



  • 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.
    <*> Added instructions and a jump rope counter that appears on screen when playing jump rope.


Adjustments



  • 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.
    <*> 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.


Bug Fixes



  • 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.