Senior Production Blog

Week 2

The current and last sprint had me focus on making tools for the designer’s on Cash Force. The main tool was a way of holding all the necessary data that each weapon holds. These data range from recoil pattern to fire rate and whether the gun uses a magazine or not. The data should be able to be used by any of the guns. The data stored needed to be loaded into a file as well.

The first approach how to have the guns access that data by anything in the game. The first idea was to use a blueprint actor and each gun could cast to it in order to get that data. This strategy sounds good at first but casting blue prints is not easy and it would need several blueprint nodes before the gun gets its information.

The second approach was through C++ scripting where we would make a singleton instance of a data manager that would offload all the weapon data. Because it is instanced, it can be called anywhere and by anyone. The manager has several methods of extracting the needed data and quickest is through using the weapon name to search for it in its data library. All the gun blueprint needs is to call a single function and it would then be able to use all the gun data it needs.

Issues over the sprints was understanding unreal’s C++ documentation. A common pattern is that everything that is under unreal requires a descriptor like for an example a struct would need USTRUCT() above it and for enum it is UENUM(). When a class or struct is made it should also contain GENERATED_BODY(). All these descriptors but there wasn’t a whole lot of documentation saying why we needed it but said we have to have it. Another issue I have run across was the file input and output. I was not able to use c++ fstream to do file IO and needed to use unreal’s file management system. The file management system was severely under documented as there was not a whole lot of information explaining the process and the few guides that did weren’t able to explain anything and excluded important information.

So far the week as been smooth as the team is starting move as cogs. Plans on what to move forward for green light has been documented and was received positively by the whole team. Our next focus is to work on documentation of our game and detailing as much as possible.

michael zheng