Baldi's Basics in Education and Learning - Full game!

Created by Micah McGonigal

Welcome to the Baldi's Basics pre-order store! Here you can support me by pre-ordering the full game and other extras.

Latest Updates from Our Project:

Status Update #7 - Field Trips and Angry Teachers
13 days ago – Wed, May 08, 2019 at 01:51:02 AM

Hello everyone! I know it's been a while, but I've got a pretty big update today! The final two major features - AI and field trips - have been implemented! On top of that, I've gone beyond just making placeholders, and have added Baldi and camping! While all of these things still require some finishing touches, I'm pretty much ready to start adding more characters and field trips into the game. For now though, let's talk a bit about NPCs.

In the original Baldi's Basics, I used Unity's built-in navigation tools. While that was sufficient for a gamejam game, it was clear that it wasn't designed to really work with the kind of NPC movement I wanted for the game. It was actually more complex than what I needed, and that extra complexity required a few hacks to fix some issues, and then there were some issues that I never found a solution for. So, for the full game I've built my own navigation system from scratch. I use a little bit of Unity's built in navigation features where it makes sense, but for the most part I'm using my own system, tailor made for Baldi's Basics. Here's an overview of how it works:

Click for a better pic.
Click for a better pic.

Near the top, you can see Baldi. Now normally he'll wander around randomly as you'd expect, and of course when he hears a noise he targets the location of the sound. The difference here is that instead of me just using a single command built into Unity to tell Baldi to go to that location, I use my own process that gives me more control. This starts with a simple pathfinding algorithm called A*, which uses the tiles in the level as its guide. Each tile contains info that tells the pathfinding algorithm which directions it can take, and that value can be changed whenever necessary (For example, if a door is locked, the algorithm will not be able to calculate a path that travels through it). Once the shortest possible path is found, the game goes through each tile in that path, and adds that tile's location to a list of points (The red lines you can see in the photo above). Once all the points have been added, Baldi (Or whichever NPC) will travel through all of them until he reaches the destination or something else grabs his attention. Of course, there's a bit more to it than that, but that's a pretty good overview of the system. The best parts about this new system is that it allows for easier control of where NPCs can and can't go, NPCs will no longer collide with each other (Except when I want them to, like with Gotta Sweep), and they will act the same no matter how low the frame rate is, unlike the original game, where a lower frame rate could cause some NPCs to struggle moving around.

On another note, the random wandering is a lot better now too! Whereas before it was done by randomly selecting from an array of locations in the school, and then telling the NPC to go there, now it's done much more naturally. NPCs simply wander through halls, and when they approach turns they make decisions of where to go on the fly. Gone are the days of Principal of the Thing turning around just when you think he's about to leave!

Here's a video of Baldi in action...

...and it also shows a field trip working! Obviously there's still some placeholder stuff, and some stuff that hasn't been fully finished yet, but for the most part everything is functioning and ready to build off of. As you can see, just like I demonstrated in the field trip demo, you'll go on a field trip, play a game, and then win some items depending on how well you do. The school will be just as you left it, so if Baldi's close behind when you go on a field trip, he'll still be there when you get back!

On top of fine tuning some of the existing systems, I'm planning on adding a lot more content from here on out, rather than just building systems. The foundation is solid enough now for me to start doing so!

Thanks for your patience everyone, updates should be back to their regular schedule for the forseeable future!

Baldi's Basics is one year old! To celebrate, I've released a new version of Baldi's Basics!
about 2 months ago – Tue, Apr 02, 2019 at 01:25:15 AM

On March 31, Baldi's Basics became a year old! Thanks to everyone who's made the past year so crazy! To celebrate, I've released a new version of Baldi's Basics with some fun changes. These include:

  • All the items are shuffled around each time you play, so you'll never know where each item is.
  • They've also been wrapped up! No way to know what an item is until you pick it up and unwrap it!
  • The food and drink machines can now dispense any item.
  • Two new items have been added!
  • The school has been filled with balloons and a cake, and some of Baldi's friends have dressed up for the occasion.
  • A brand new ending as thanks for making the past year so incredible!

You can check it out here! I hope you all enjoy it!

WOW!
WOW!

Status Update #6 - The game has reached a playable state!
2 months ago – Wed, Mar 13, 2019 at 11:41:31 PM

Hello everyone! Things have been going pretty smoothly, and the game has reached a point where it's "technically" playable! I say "technically" because there's currently an insanely small amount of content (Baldi isn't even in the game yet!), but this is still a pretty major milestone in the game's development. You can now press start on the menu, get brought to a level and spawn in properly, collect all of notebooks, and re-enter the elevator to continue to the net level.

"Wait, elevator?!" you might be asking. Some of you may have missed it, but in  a previous update I talked about my plans to change a few small details from the original game, one being the way exits worked. Rather than exiting the school to beat a level, you'll now need to enter an elevator, and each level will take place above the previous floor.

Another new thing that has been implemented is the random event system! I now have it set up so that each level has a list of events that can be randomly selected, and then they will activate with random timing while playing the level. Currently there is only one event in the game (Where the school fills with fog), but I can't wait to start adding crazy and more complex events!

You can see everything in action in the video below (Note that the video recording has some stuttering at some points, which was not actually occurring in the game). As always, pretty much everything you see here is a placeholder, nothing is final, and there's lots of stuff missing, but I'm really happy with how well everything is working so far!

Next up, I'll be working on getting character AI (Perhaps one of the most important parts of the game!) and field trips working. These will be the last few major gameplay elements to add. Once I get those things running, and tweak everything to my liking, I'll be able to start the next phase of development, where I begin adding content where currently there are just placeholders. That's when the game will really start taking shape.

Mobile Update

As I've mentioned in the past, the full game is my top priority right now, so since the initial release of the mobile version of Baldi's Basics Classic I haven't done a whole lot of work on it. Admittedly, I've definitely favored the full game a bit too much over the past few weeks, so my apologies for taking so long on the next mobile build. I'll try to get an update out some time this week, and hopefully it will be good enough to start working towards releasing the game on app stores! Thankfully the first build I released seemed to run pretty well for most people, so it doesn't seem to need a lot more work. For the people experiencing that crazy rendering bug, I'm going to try a few things to hopefully find a solution. Quite frankly I'm not sure what could be causing it, but hopefully I can get to the bottom of it.

That's about it for this update. Hopefully I can get Baldi in the game in time for next month's update and the game's 1 year anniversary! Thanks again for the support everyone, I hope you all have a great week!

Status Update #5 - The level Generator is nearly complete!
3 months ago – Mon, Feb 11, 2019 at 12:20:09 AM

Hello Everyone!

I'm happy to say that the level generator is practically complete now! Other than a few small additions and some bug fixes, most of the major functionality has been implemented. This includes:

  • Reserving space for special rooms (e.g. the Cafeteria)
  • Randomly selecting which textures should be used throughout the level
  • Creating different types of rooms (Class rooms, faculty rooms, etc.)
  • Filling rooms with objects
  • Filling halls with objects
  • Adding posters

Another new feature of the random level generator is the way it now creates more unique layouts. Last time I showed it off, it worked by creating square plots, and then filling in the space in-between with hallways. Now, on top of that, it will also remove a few of these initial hallways, and then create new ones with more randomness. This way levels won't just consist of a ton of long straight hallways!

Here's a video of the level generator creating a few different levels!

The level generator is starting to make levels that look super similar to the one in the original game, even with all the placeholder stuff! The rooms with all the desks and chairs are class rooms, the rooms with the wood texture are faculty rooms, and the big room in each level with the colored tiles is the special room. No principal's office, yellow doors, or windows yet, but those things will be easy additions!

At this point, I'm super close to the next phase of level building where I create actual content for the levels that the generator loads in. Things like wall textures, posters, room layouts, objects, items, etc. I've set up an awesome system which allows me to customize what content can be loaded in each level, and how likely each item is to be selected. For example, with my current setup, when the level generator selects which texture should be used for the hall walls, it will most likely select the classic white bricks texture, as it has a value of 1000 vs. the green placeholder texture, which has a value of 100. This system is how most elements in levels are determined, and will also be used for selecting things like random events, field trips, character spawns, etc.

Mobile progress!

Last week, I released an android build of Baldi's Basics Classic on the game's Itch.io page. You can download it here if you want to try it out! I'll be updating it based off of your feedback, and once it's working well for as many people as possible, I'll work towards releasing it on Google Play and iOS! I've already received some great feedback on it, and if you have any you'd like to give, please do so on this page. Feedback will be easier for me to sort through if it's all kept in one place.

Well, that's all I've got to share for now. As always, thanks for the support, and I look forward to sharing more progress next month!

Status Update #4 - 2018 Wrap Up
5 months ago – Fri, Jan 04, 2019 at 10:58:20 PM

Thank you for an incredible 2018!

Well, 2018 is over, and looking back I'm overwhelmed with how incredible it was for me. When the year began I never would have expected any of this to happen. I was just a guy who hoped that maybe, someday, I'd be able to make games for a living. Fast forward to March when I heard about the Meta Game Jam and thought "Hey, that would probably be fun to do!" And it was! I had a blast making Baldi's Basics! After the Meta Game Jam ended, I figured everything would go back to the way they were for me, but they didn't. For reasons I'll never understand, the game took off. At times when I thought the game had peaked, it would keep climbing. When I launched this Kickstarter, I honestly had no idea if it would be successful or not, but it was more than successful!

All of this is thanks to you! Thanks to everyone who played the game. To everyone who gave me feedback. To all the YouTubers and streamers who uploaded videos about the game. To the fans discussing the game and sharing fan art. To the people who backed this Kickstarter and pre-ordered the game on BackerKit. To the people who modded the game. To the people who simply talked about the game or just watched videos of it. Even to the people who spammed my Twitter with that .gif of Baldi doing a Fortnite dance... Thank you. It's humbling looking back through the year and realizing just how many people played a part in this, and how I wouldn't be here without them (Well, I mean, I'd *still* be here, but I'd also still be working a part time job and doing college, with little time to work on a game. :P). Ultimately, I'm also extremely thankful to God for giving me this opportunity, especially since I don't deserve it. He didn't have to put me here, but He did, and knowing that encourages me even more to put my all into this project!

To sum up, the year started out with me and some friends watching Star Wars Episode 3, timed so that Anakin said "This is where the fun begins." the moment 2018 began... And wow, he wasn't kidding! Who knew prequel memes could predict the future?! :P Here's to an amazing 2019!

Baldi's Basics 1.4.1 just released!

To start 2019 off, I've released the 1.4.1 update to the original Baldi's Basics. As always, you can download it here. This includes some bug fixes, small improvements, and optimizations. More importantly however, is that it's also practically ready for mobile! I know a lot of you have been patiently waiting for the mobile release, and I wish I could give out a solid release date now, but I'm still not ready to do that yet. I still want to get some significant testing done to make sure the launch is as smooth as possible, and to do so I may end up working with a 3rd party. This means that this final step is somewhat out of my control, at least for the time being, and since it's an area I'm unfamiliar with I really don't have a good idea of how long it will take. Still, be rest assured that when it's ready, I'll release it ASAP!

The other good news is that I can finally put all my focus on the full game, and no longer have to worry about the original version. I'll always love the original game, but like I've said before, it's a huge pain to work with due to it being made under such a short time frame. I'm glad to be able to move on.

Speaking of the full game, I really don't have much to share regarding it for this update. Since the last status update, most of my time has been spent getting the original game 100% mobile friendly (I severely underestimated how much work would need to go into getting it fully playable and user friendly on mobile). I also spent a considerable amount of time trying some crazy idea I had to optimize the original game even more (As it struggles to run a bit on older devices), which unfortunately failed miserably. On the bright side, I learned a pretty important lesson, which is to always test things out on a small scale before implementing them on a large scale. I definitely won't be making a mistake like that again!

What to look forward to in 2019!

Progress, progress, and more progress! While I think it's safe to say the game won't hit the originally estimated release date of December 2019 (Which I'll admit was a bit of a stretch, and an oversight on my part - I set those dates well before I launched the Kickstarter and forgot to extend them when I did. My apologies for that. This is why I've generally been telling people that the game will probably release in late 2019 or early 2020. The early 2020 estimate is the most likely scenario.), there's still stuff to look forward to this year. The Kickstarter exclusive demo will likely release some time this year, and I'm also considering releasing other, smaller demos, though I haven't made any final decisions regarding that yet. Mostly though, I'll be posting updates here with game progress. This year the game will really start taking shape, and I don't think it will be too much longer before it's actually in a playable state! I'm fairly happy with the progress made since the Kickstarter completed, but going into 2019 I plan to pick up the pace!

This year I also want to get more involved with the fan community. I still intend to launch a Discord server, and I'm considering making some other official places for fans to gather as well. A lot of this kind of stuff is fairly new to me (I've never been super active on the internet in the first place), but I want to get better at it for sure! I'll share more on this once that stuff is ready.

Well, I think that about covers everything for now! Again, thank you all for everything! Now, I'm going to get back to work on the full game!