For January 2018, we have been busy little bees working hard on the new game inventory system for YAARRGH! Just two major game design to go before YAARRGH! Can be at the alpha game stages, no more prototyping, an actual game. The first design stage is the inventory system and than after that, the multi-player network design.
This is our first design draft of a game inventory system for YAARRGH! The next stages of the design draft will also include Crafting and Blueprints and the final stages will have random chest, player attributes and item spawning. This will be a boring technical documentation, show casing the technologies and design patterns for handling game data inside of YAARRGH!
Most of the time we try to make our videos or documentation funny but sometimes we will also touch on some technical information as well, however I personally try not to dive in to deep, cause most of the people reading our blogs just enjoy playing games but for anyone interested in modding games, this type of documentation would be of more interesting reading.
All of YAARRGH! Game data is store in XML files and all images are stored as texture packs, located in the game directory (Streaming Assets), here anyone can mod these files. We load images into texture arrays after slicing up a texture pack, all XML data is disputed throughout the game using ECS (Entity Component System) design pattern.
I have created a data editing tool for development of YAARRGH! This tool in the below screen-shot is used for Add/Edit/Delete game items in the Item XML file, but anyone could preform edits directly on the XML file for modding purposes.
Entity Component System design pattern is what we are using for handling all of the game data for YAARRGH! Why I have chosen to use it, is because all of my software engineer career, I have developed data driven Application & Websites, so this makes sense to me, plus way easier for bug finding and testing, REM out a component system will not corrupt your project and allowing the separating of individual systems.
Please note that all texture used in these screen-shots are for testing purposes only and will not be in the final product.