Oh man, finally. What a great feeling. I got the loot system in and working which is the last big feature for the game. And with that, I’ve hit ‘feature lock.’ Basically, I’m finished building the game. Now it’s down to content generation and bug squashing. I wanted to hit this point a little earlier, but I should still be able to hit the May release date. (Is this the first time I’ve announced that?…huh, well, there ya go) With that, on to what I done did!
Loot
Now when you kill an enemy, there is a chance that they will drop some loot. This loot will be able to confer different bonuses to your stats. Right now, it’s stuff like +4 to crit chance, or +5 to jump height. There will be some more interesting stuff later, but the stat bonuses are fun to play with for now. I’ve setup a system that, at the moment, has a cap at 10 items, with 1 equip slot. Any items you don’t want, you’ll be able to sell for XP. In programming language, the player has a list of inventory items, one of which can be marked as equipped. At any time, the player can go through that list and equip another item or sell it. So excited for the possibilities that can come from these.
Cutscenes
The story is going to be a big part of this game. It’s based on my characters so we need to be able to hear their voices. Well, “voices.” I’m not planning on any voice work, but you can read what they say. Anyway, I’ve setup a text scroll and headshot display so we can have conversations. I’ve tagged spots in the level with cutscene numbers so as the player get to those spots, direct control is taken away and we watch the story unfold. For this I basically have a giant struct of cutscenes, and a class to hold them. That class gets called with the cutscene number and it returns each line of dialog until it’s over. And once it is over, control is given back to the player and they can continue from there. It’s like this is becoming a real game or something.
Save/Load
I hate games that make me manually save. So, this one won’t. Once you finish a level, the game autosaves. And once you start the game back up, it checks to see if a save exists and allows you to continue. Right now I only have the one save slot, though since this is a PC game, you’ll be able to just get at the file whenever. I want to add more slots, but that’s fallen under the “Nice to Have” list. But basically, all we need to track is what levels have been completed, and the current stats/inventory of the Player. As a result, the save file looks like it’s maxing out at about 10KB. I love how tiny that is. I’ve basically just got a class for Save() that, when called, will pull the level and player info, serialize the class, and write it to a file. Currently that all happens in the same main thread as the game, but I will probably put that into it’s own thread so it can save in the background. It’s such a small process that it shouldn’t create a problem where you’re staring at a “Now Saving” screen anyway, but still would be nice.
Art
While I’m not showing it off here, I have some of the actual art in the game now. Mark is basically finished, and so is the first world tile set. I have a solid starting point for the first wolf enemy which should be getting finished soon. Though the biggest breakthrough on the art side is implementing Parallax Scrolling. Since I first started designing the game, I knew it needed to have that. And now it does. I’ve basically got two layers in the background that move at appropriately different speeds as the player moves. Probably the coolest part of the whole thing was that it took about a half hour to implement and practically worked on the first try. To create the background, I’ve got an image that can loop, so I take the width of that, calculate out how long that needs to be, and repeat it to fill out that length. Then, as the player runs, I pull in his speed and use that to move the backgrounds. And I tell ya, having that stuff in there makes the game look infinitely better than those early screenshots of the red block and the blank background. Once I get some final art, we’ll get some real screenshots up here.
So what do I have left? The biggest thing is the art. I do need to finish the story/dialogue. I have the broad strokes figured out, but need to lock that down and start dropping it in the game. I also still need to finish level/world design. Then there’s the music/sound. That I will hopefully be able to outsource as I know basically nothing about it. But then it’s beta time.
And what a time that will be.
Recent Comments