Arco Week 6 Dev Log
June 26, 2016
This week's Overview
With our Vertical Slice complete, we moved onto the massive undertaking of building an Alpha. This means a content complete game needed to be ready in about 5 weeks. We have a lot of work ahead of us, but I'm confident in my team and believe we have pretty good game in the works.
One of the problems with our Vertical Slice was that it was missing a pretty big planned feature. There was supposed to be an inventory and equipment system, but what we had was lacking. According to our design, you should be able to pick up "Nodes" and equip them to your gun. We had basic equipping prepared, but there was no functionality to pick up actual nodes in the game world and have them added to your inventory. We also couldnt control the menu with the controller, which was a pretty big requirement. As we were still planning out the remaining boss mechanics and I couldn't work on that, I decided to tackle our inventory problem. Needless to say, I had a ton of work ahead of me.
It started with a complete redesign of the menu's functionality and aesthetic. You can view the final version in the screenshot at the top of the page. The prior implementation used data structures to hold each node's stat information, which was a step in the right direction, as this was needed to display the stats in the UI but I needed to somehow set up a way for world objects to be able to communicate these stats to the UI and be able to set these objects up in a consistent way.
I ended up using UE4's base object class to store references to the aforementioned Data Structures, along with some other relevant info. I would then assign this object to pawns that could be loaded into the game. So when the player picked up the pawn, it would pass it's assigned object to the inventory that would then create the data sturcture that held the object's stats and pass that to the UI whenever it was opened. There is a lot more to it, but thats the gist of how it works.
There was a lot more that went into this, such as the way these data structures would switch from being in the inventory to being equipped, the displaying of the nodes' stats and names (blueprint for that shown in screenshot above), making sure all the menus would update dynamically and save correctly, and the parsing of the stats to actually augment the player. But just know that it took up most of my week to get everything planned out conceptually and working in game, as there didn't seem to be many resources out there that handled what we needed to accomplish with this system. Maybe creating a tutorial for this is in order? We'll see!