April Progress Report
Checkpoint.
Infinite Level game discussed: The Future Project
Now that we're through 2022's first quarter, I thought now would be a good time to bring you all up to speed on how The Future Project's development is coming along, and share a few new screenshots along the way. In short, progress has been moving along pretty nicely and about at the pace expected. There's been some tasks that have proven more challenging than I thought they would be, but that's the life of game development for you. In addition to the game's main content, I've been working to do additional polish and bug squashing as I go, both to deliver the best experience possible at the game's launch, and to ease my own workload when we finally get to the game's beta towards the end of development. After all, can't find any bugs during beta testing if you fixed them all ahead of time. A lot of these bugs and small fixes are pretty trivial things that, if I were to list them out, would read like patch notes. Things like adjusting damage numbers, making a button clickable when it should, and so on. That said, I do have an amusing bug story later on in the blog.
But first, let's get to the real meat of this blog post. One of the first major things accomplished since the start of the new year is the implementation of the settings menu! And I know how that sounds...it's just a menu, right? This is one of those things where, if implemented correctly, no one is going to notice its presence. Players just expect settings menus to be in most games. But if it's not there, then everyone will notice its absence! Despite how simple it looks, it turns out that this was one of the more challenging things I did during these past few months. The settings menu includes options for graphics, keyboard and controller bindings, and audio. It was the input bindings in particular that gave me such a hard time. For starters, it was weirdly difficult to find information on key bindings, as a lot of Google results would point me to Unreal Engine's editor settings. But I already know about those! I'm wanting players to be able to adjust their inputs in-game. And when I did finally find information on how this is done, the information was a bit half baked. Some things involving input bindings I had to figure out on my own during this time.
Letting players adjust controller bindings was especially difficult, as there was almost zero information on that subject. And that's fair. On a controller, I imagine most people just stick with the default control scheme. But I wanted to give players the option to adjust even those, so that everyone is able to get the control layout that's most comfortable for them. In addition, during this time I learned that navigating the menus with keyboard or controller would be interesting, to say the least. In game development, UI elements such as buttons can have “keyboard focus” which is how the game knows which button the player is currently highlighting when on keyboard or controller. Figuring out how to highlight the buttons currently focused, and even just changing the focus in the first place, also proved to be a challenge when setting this Navigating the menu with a controller, once again, was more difficult since there wasn't as much information about that. It was particularly important to get the controller inputs working right on menus in order to assure that players who use that input device can still navigate the games menus with ease. After all, it wouldn't make sense to keep switching input devices to do basic tasks.
The next major task that was completed was a new boss fight. In finishing this fight, the Jeweled Tundra world in particular could be considered 95% finished. The remaining 5% are any leftover rooms that need to be made and some final polish. Technically, not even the game's first major world, Distant Sibling, is quite this complete. Though it's awful close, as it just needs a certain boss fight finished and a few more rooms made. But, bringing it back around to the boss fight, perhaps the most interesting part of putting this together was the cutscene that plays before it. Each boss will have a unique cutscene where they appear before you in some way, and the boss of Jeweled Tundra might be the most involved of these. As a giant ice dragon, it only makes sense to have it fly around the arena before landing in front of the player to confront it. Getting the right camera angles without accidentally leaving the world or making things look unflattering takes some time. The fight itself was also technically challenging in places, such as its attack where it spawns “ice bombs” from the sky or the attack where it stabs at the player with its tail. But through iteration, the ice dragon ended up where it needed to be, thus completing the main gameplay elements of Jeweled Tundra.
A world I haven't shown off at all has also gotten a lot of attention these past few months. I'm still trying to keep late game worlds as much of a surprise as possible, so unfortunately I can't go into too much depth with what's been done here. I can say that when I started working on it, the map had next to nothing in it. Basic rooms and the main item of that world was all it had. As of this writing, it's much more fleshed out, with its primary visuals in place and a dangerous new obstacle programmed and placed throughout the world. The biggest items that are missing are its enemies, what few there will be, and a section of map that will become important in the game's final moments. Alas, this is most of what I can say about it without getting into spoilers. But I think, once the game is out, players will enjoy this world quite a bit. It's pretty different from the other worlds in the game, having a quieter atmosphere than the others and with more of an emphasis on obstacles over aggressive enemies.
One world I can talk much more about is the game's tutorial world. Well, mostly a tutorial that is. I plan to talk about this world in depth in the future, but for now I’ll give you this brief little teaser. This world acts as both a tutorial and as a hub for bonus challenges. It will be the first place players see when they start a new game, and it's here that players will get acquainted with the basic movement and controls of The Future Project. As of this writing, I've completed the tutorial portion of the map, and will be moving on to the extra rooms in time. There's still a few things that need to be done here, such as a couple missing sound effects and the tutorial adapting its prompts to the player's key binding settings, but it's otherwise ready for purpose. An interesting note about this world is that there are no enemies in sight. It will be completely focused on platforming, exploration, and light puzzle solving. There's not much in the way of puzzles in this game, as it's focused largely on combat and exploration. This world, however, will be great for squeezing in a few basic puzzles to keep things unique. You'll also notice that the general atmosphere of this world is peaceful, in a way that no other world will have. It's a lush environment with marble decorating the area everywhere, and again, not a single enemy in sight. Doing this over creating a bunch of new enemies for the world will save me a lot of time, and should make the world more memorable in people's minds.
I did promise a bug story early on in this post, and with things winding down, now seems like a good time to bring that up. So, in Unreal Engine, there are these things called game instances, and these are used to help bring in data from one level to the next. In other words, anytime you enter a new map, the game instance will be there to deliver all the weapons and resources you had previously. Well, it turned out that, for a while, the game wasn't actually using the game instance! It was instead reloading the player's save file whenever they entered a new room. What this means is that, whatever resources the player had when they saved, they'd reset to that state upon opening a new map. You could run out of missiles in the previous world, only to go to a new one and get them all back. Now, you do get an opportunity to resupply yourself before stepping into a new world, but what didn't sit well with me was the potential to get a new ability in a world only for it not to carry over into the next. But the biggest problem? Save files hang onto the player's position when they saved, so when that is loaded, the player could (and often will) spawn outside the map. Nothing like entering a new world and suddenly being thousands of miles under the map, or being on top of a mountain in the background, or that time I got stuck in a rock. This is of course fixed now, but getting to that point took some time. It led to some quirky glitches and bugs, that's for sure.
There's one last item to note before this blog post ends today, and it's not really something done in the game so much as it was planning. I took some time about a week ago to lay out all the major tasks that need to occur for this game to enter beta testing. Game developers typically break up their projects into milestones to help them in their planning. Having The Future Project's milestones listed out for me will give me a pretty clear idea of what to do and when to do it, while also giving me a rough idea of how much longer the game's development will take. As of now, the game's final release is still a ways off, but I'm steadily getting there bit by bit. Right now, the current milestone I'm working towards has me setting up a couple important boss battles, creating another set of enemies for a late game world, and 100% completing the Distant Sibling map. Progress on all those fronts has been moving along really well, dare I say faster than expected. It'll likely be a few months before the next progress report is put out, and those items and more should be completed by then. I look forward to telling you more about those accomplishments when they're, you know, accomplished.
Until next time!
-Lance T.