Hi Dr. Nick!
These last couple of weeks I’ve mainly worked on fixing stuff, reworking things and iterating on objects. This isn’t very sexy work, it’s a lot of grind and technical stuff. But it is something that is vital to an agile and iterative workflow. What would be the point even considering evaluating the current state of anything if you do not have the freedom to change it (aside from learning from past mistakes).
Often its easy to go on and just remake stuff, because it feels like you are being more creative. While that might be true its also a waste of time (unless of course you started the thing in question a complete novice and have gained so much experience since that remaking is actually quicker) as just iterating it is boring but quick(er).
The last couple of days I set aim at adding an additional set of character meshes, specifically to have them wear something more casual than a uniform, which they currently wear 10/10 (like 24/7 but in decimal time ;P). I had hoped I’d get it all the way to finished before the weekly update and the start of the weekend but I didn’t quite finish it in time. Maybe I’ll have something to show next week, unless something else pops up and takes priority.
These last few weeks, I got to treat myself to a long overdue cleanup of some of our core systems, as well as some tools work to make some of the work in the editor easier for all of us. One of the benefits of Unity 5 is that it allows us all to work on the game in-editor without worrying about licenses.
Why is this fun? Because it’s nice to know there’s some small section of a large code base that is clean, elegant and complete. The rest can be the friggin’ Wild West, but I have that oasis of nice code to go back to when my sanity requires it.
Everyone getting proper editor access has also allowed them to complain about everything broken about the game in the form of a long list of bug reports. I’ve been diving into that occasionally when I have a spare hour of insomnia.
So, what did I work on, concretely? Well, I implemented a Protobuf-based serialization solution, which is a data management approach I’ll be able to use to store all of Dave’s system data as well as save files. I used this to store one of our audio management tools’ data so we can easily manage music and sound effects in Unity.
I also implemented a tool that manages merging multiple pieces of 3D mesh geometry into a single object, an optimization that yields us about a 20% performance gain in some of our tests. This will be particularly useful for module sections as they tend to contain a lot of small objects.
I also worked on a tool for placing volumes in a room that will automatically be filled with small props. This will allow us to fill shelves with books and knickknacks without having to place each one individually. We’ve thought of some clever ways to tie this into character’s histories, but more on that later.
Finally, I worked on some small-scale animations to show icons popping up above characters’ heads to indicate things like skill-ups, status and when they’re in conversation. I’ll be working on the actual conversation display later, in which you’ll be able to see what two characters are talking about and how the conversation affects their relationship with each other.