While intending to work on environment loading, I got sidetracked with a whole host of other systems I wanted to develop. I’ve been participating in Unity’s Collaborate beta for in-editor version control for several months. It’s had a few hiccups, but in general, it’s really quite convenient. While based on Git, it’s lacking some functionality such as branching, but it looks like Unity’s looking into how best to streamline that process as well.
Looking over my commits and changes since the last blog post, I’ve noticed that I’ve spent a lot of time on the programming front. Here are a few of the things I’ve implemented this past month:
- Implemented LOD workflow with spacecraft models.
- Created a finite state machine non-visual framework in C# to manage any kind of state. Thank you internet for so many different examples to learn from!
- Refactored the main camera movement to use the fsm. It now works exactly the way I want, and has a much smoother feel.
- Refactored a ton of scripts for ease of maintenance and understanding.
- Created a new system to handle playing music, crossfading, and interrupting tracks.
- Reworked unit indicators to a more centralized approach, and removed OnMouse functionality for manual raycasting, which improved performance.
- Spent some time reworking and texturing Unity Asset Store models for prototyping use.
The screenshot above is a raw look at a typical scene, without any post-processing or effects at all. I wanted to post it now so I’ll be able to look back one day at how the visuals have evolved. There will be better screenshots once I work in planets, suns, closer stars, particle effects, post-processing, etc., but I’m postponing that until I can get the core mechanics of the gameplay down.
My goal is to get a combat prototype out before the end of the year. I’m also looking forward to working on the music and audio part of the game… I have around 20 musical ideas for various themes that are waiting to be fleshed out. Another goal was to be able to do a little bit of programming, art, and music production within the time frame I have available to work each day, but so far I’ve managed at most 2 out of the 3 in a given day. Typically, I’ve only been able to focus on one thing in depth at a time in one day. At least switching between the 3 gives me an opportunity to exercise and express different aspects of creativity regularly, which is one of the main reasons I decided to get into game development to begin with.