July Progress Report
The pieces are all coming together now.
Infinite Level game discussed: The Future Project
It's been a few months since the last progress report, meaning it's about time I gave you all an update on The Future Project's development. A lot has happened in the past few months, from implementing new boss battles to finalizing some maps, and of course the usual bug fixes and balance changes. There's been plenty of interesting bugs that I've squashed in my playtests since the last report too, so there should be some interesting stories in that regard. What's going to make this blog post a little interesting is the fact that I've been putting a lot of my efforts over the past few months into late-game items. That's right! Other than the final world, the late game has really been coming together over the past few months, with several enemies created for that part of the game as well as laying out some final rooms for the player to explore. It's been exciting to see it all come together, that's for sure.
Let's start with what's probably the biggest news. Distant Sibling and Jeweled Tundra are 100% complete! They have every room, item, and enemy that they're supposed to have. This is the where the game starts to really feel like it's coming together for me. While all the abilities and enemies are cool, metroidvanias are ultimately about their worlds. So, having the first two completely playable is a big step in the game's development. Between the two of them, Distant Sibling definitely took the most time to put together. Not only does it have an extra boss battle, but it also didn't get a large chunk of its map until much later in development. This is because while developing The Future Project, I've put a lot of attention on “core” areas. In Distant Sibling's case, these core areas are the paths to two key items in the world, and so areas that aren't focused on leading the player to those key items are held off for later. There's a whole floor in Distant Sibling that is completely optional, and thus it didn't get the attention it needed until much later. Meanwhile, Jeweled Tundra was set in stone pretty early on. I had designed it to be a little more sprawling and complex from the beginning, so the “core” area has more going on as a result. This means that it gets pretty fleshed out early on, leaving a lot less to work on later in development.
Completing these two maps has prompted me to start doing a very important task far more regularly – playtesting. For now, it's just been me playtesting the game, but I'm hoping to change that really soon. While it's true that I've been playtesting the game throughout development, it's only recently that I've started having dedicated play sessions exclusively for playing through the game and seeing what needs to be fixed. I learned something very quickly upon starting this routine...despite my best efforts to fix bugs as I find them in development, there's still a lot of issues that I didn't even know about. The first dedicated playtest session I had, I filled up my note sheet with discovered bugs fast. And then I got through those bugs, recompiled, and then played the game again. I got further than I had before...but I still filled up the bug list fast, and even had game breaking bugs happen. Yikes! But, that's how the cookie crumbles in game development. Better to find these now than when I release the game. What kinds of issues have I found, you ask? Well...saving and loading data wasn't working properly, one of my bosses is flying sideways, you can see through some terrain, at one point I defeated a boss and the power you get from it didn't spawn, sometimes the wrong cutscene would play...you get the picture. There was a lot of bugs and glitches, some more serious than others. What's been interesting to find is that a lot of these only occur when running the game from an EXE. Running it in the Unreal Engine editor tends to work fine. Saving and loading your game in particular has proven peculiar, as what works in the editor doesn't necessarily work in the EXE. I can't say I understand why it's so different, but thankfully I've been making progress on this front. There's still a worry that more issues will come up, but for now, what's here works.
Another big development is that two of the game's boss fights are fully implemented as well. One of these battles is a recurring battle too, so finishing it now is kinda like finishing more than one boss at the same time. It took a lot of time to get that battle ready though. See, part of the trick is that this recurring boss roughly adjusts what it can and can't do based off your own abilities. If you can't shoot fire or double jump, then neither can it. This makes for a lot of checking and double checking things from a coding perspective, but in exchange you get a battle that'll really showcase how far the player has progressed through the game. The other completed boss is a bit simpler, but no less important. It's the boss of the Hand of the Water map, located deep within the island's volcano. I'll refrain from showing it off now, but just know that it's become a really fun and engaging battle. I'm personally really proud of the boss battles I've put together in this game, but the boss of Hand of the Water has a special sauce that I think many players will enjoy. In fact, I find it easy to envision both of these bosses I'm highlighting being a player's favorite with how exciting and dynamic they are. Again, I won't show too much today, but I will leave you with this little snippet from one cutscene that plays just before a boss battle.
Next we have the creation of several late game enemies. While there's still a few more of these to put together, it really is just a few. We're talking one enemy type for the final world, which I'll get to when I get to implementing that world proper, and then a couple in one of the last main worlds and that's it. I finished putting together the enemies for what's probably the biggest world in the game. What was interesting about them is a lot of them have more than one attack. A pattern you'll notice with The Future Project enemies is that enemies only have one attack. Striders swipe at you, Flycicles drop ice from the sky, and Lava Tentacles fling lava from the lava river at you. Most of the enemies of this mid/end-game world (which I'll once again refrain from showing today for sake of surprises later) have two, which makes them a little more interesting than other enemies. There's a lot to like about the world they're in, and the enemies contribute to that. They're quite literally built different, and it makes them more interesting to take in comparison to other enemies. Now, I feel bad for not showing off the cool enemies that have a couple extra tricks up their sleeve, so in exchange I'll show off another end-game enemy that was recently completed. It's called the Plasmick, and you can see it in a screenshot further down the blog. As you might have guessed from its name, this is an electrical bug creature that shoots electricity out of its mouth. Despite its scrawny look, that shell of his gives it quite a bit of extra health, so don't be too shocked (pun intended) if you find yourself having to use a few extra missiles to take it down.
There's a few other minor developments that I do feel is worth mentioning. Since we were just talking about the Plasmick, let's talk about status effects on the player. Now, these aren't really new. In particular, the player could be frozen by enemies and be unable to move until they break out of the ice they're enclosed in. I added a couple other statuses to the player, burns and stuns. Burns do exactly what you think they do. Being burnt means getting damage over time. Meanwhile, a player being stunned means being unable to fire any projectiles for a short period of time. That's something the aforementioned Plasmick enemy can do, which makes it that much more deadly. The player's status effects were given more attention in response to completing one of the boss fights I mentioned earlier. Since it would be capable of fire, ice, and electrical attacks, I needed to make sure the player could be affected by each. Outside of those, there's a few areas where the player could get one of these statuses, but said status tends to be relegated to that world. For instance, outside of that boss battle I mentioned, the player is only ever going to get the burn status from Hand of the Water enemies, specifically the Lava Tentacle. So while these statuses aren't a constant threat you have to balance, it does give different worlds some additional identity that they otherwise wouldn't have.
Other minor developments include finishing controller inputs for the in-game map, which I kinda can't believe I'm only now doing. It's the kind of thing that's really important, but is easy to put off especially when keyboard and mouse inputs work perfectly fine. Second, there's the question of the game's hub world, SIM_SELECT(). I haven't really talked about this place at all, because it honestly doesn't do a lot. It's simply the place where you choose which world you want to go to next. There's not a whole lot that's changed here other than its visuals. What was once a plain green cube now looks a bit like a circuit board, once again reminding the player that The Future Project is a digital universe, created for the simulating, training, and testing of Future Project AI. Another item accomplished that ties into completing the Distant Sibling and Jeweled Tundra maps is settling on placements for upgrades. This is for things like health and missile upgrades. I did recently to have move some things around for balance reasons, but I think it makes for a more evenly spread set of items in each world. Part of what was happening was that some worlds had way more upgrades than others, which led to an uneven spread of upgrades. This also subtly implied that some worlds were worth exploring more than others, but we don't want. I'm hoping players spend a pretty even amount of time in each world, so moving some of these upgrades should help achieve that goal.
So, what's next for the coming months? Well, I'll be getting the final enemies put together and setup within their respective worlds. There's still a couple bosses to be worked on too, so I'll be starting on at least one of them in the time between this progress report and the next. I've also been doing some work on the Hand of the Water map so that it too can be part of the 100% finished club alongside Distant Sibling and Jeweled Tundra. I'm also getting ready to make a handful of music tracks, all of them for one world at that. I think it'll be the world with the most tracks, which will give it another point for uniqueness. These are all items that will be taking my immediate attention. If I'm lucky, I'll also begin finalizing some late game maps, and even working on the final world. But those items are further in the future, and not at all a priority at this moment in time. There's still plenty to be done, but the game is truly starting to become a cohesive package.
Until next time!
-Lance T.