This post marks the end of the "Minimum Viable Product" (MVP) stage, and marks the beggining of the polish and stretch goal stage.
The past ten posts covered a very rough period of development. This project saw me learning several new skills and software in order to attempt something that I have never done before; I have never modded any game before, let alone RimWorld. The time spent on this project was incredibly stressful; there were many weeks where massive roadblocks, such as the Titan AI and Subject Of Ymir functionality, caused me to unnecessarily sink time and effort into aspects of work that I couldn't complete. Whenever I came across such a roadblock, I would become frustrated, and push forwards into it, sinking more and more time into a single task. Whereas at the time, I thought it would work, and that I could burn through a task easily enough, I realised eventually that this was not the case. Taking a step back, and finding other, easier tasks to do was a clear-cut way to progress and develop my skills with XML elsewhere, that way I could return to a struggling task later with a more refined skill set. As such, the past ten posts worth of work can be seen in two ways.
The first is a stressful project, that whilst I ultimately dedicated and sunk a substantial amount of time into, felt rough to complete.
The other is as a learning experience, which from my perspective feels invaluable. So far I have learned workflow valuable skills that, in all honesty, should have been hammered into my skill set years ago, one such being the ability to pull back the scope on a project and not over-scope myself. Alongside this, being further aware of my personal skillset, and not only what skills I do possess within game development but also the skills that I do not, and therefore what tasks to avoid assigning myself, very quickly became a hard-learned lesson. But alongside these more workflow-orientated skills came new hard skills, such as learning how to use, read and write an entirely new programming language in the form of XML, how modding works for games in general and how to decompile games and learn more about the inner machinations of the software itself.
Personally, I feel that being able to develop skills that exist outside of my standard workflow, (Unity, Probuilder, ETC,) is a great change for me. It allows me to learn and develop a skill set that I can use for personal projects moving forwards: whilst this project has been very stressful so far I intend to, once it is finished, continue creating and developing mods for RimWorld alongside the rest of my studies and work. Modding RimWorld is fun, and I enjoy the process of learning and developing new skills, even if the process under a deadline can be stressful. Continuing to mod RimWorld in a hobbyist nature is something I am looking forward to after the completion of this project.
This shows an evaluation of the past near-dozen weeks working on this project, and a conclusion of the MVP stage of development. The next stage I am working on will be the aforementioned polish and stretch goal stage.
In order to move through this stage efficiently, I created its own small Trello board. This project is both due for submission as well as intended to be released as a standalone mod on the Steam Workshop for people to download. Some of the planned content is far too out of scope for me to create for the submission of the project, so I created two lists: additions to the mod I wish to add by the end of the submission of the project, and features that I want to add eventually, but do not feel that it is feasible to do so within the allotted time frame of the project. I have arranged the lists so that the highest priority target is at the top, that being from now on I will work from the top to the bottom of the Project list, then when that is complete, work top to bottom on the Mod Release list. Personally, I feel that all but the very last one on the Project list are achievable. As such, the current stretch goal I am working towards covers from "Add Titan North Texture" (fixing an issue with the Titan XML data where it doesn't call upon the north-facing texture when moving north, instead the south-facing one), to "Anti-Titan Cannons".
The board is not only organised by priority, but marked by difficulty and the type of work needed to complete it. The first marker, green/ yellow/ red, is a clear indicator of the presumed difficulty of the work. The other indicators are the types of work: blue is XML data work/ file management, black is artwork, and pink is C# coding work. It is no coincidence that every single hard task, as well as every single task pushed back to beyond the first sprint goal has a substantial amount of C# planned.
This is a quick showcase of the planning for the next stage of development I am undergoing.