2017 So Far

2017 So Far

Ok, so it's been around 10 months since my last post, but I've been working on the game full-time. Here's a screenshot of some orientation lines (no AA yet, hence the jaggies) in the battle UI used for giving movement orders:

A screenshot of orientation lines in a space game made in Unity.

A large part of the beginning of 2017 had been spent on UI design, functionality, and audio. A framework for animation and menus has been put in place which should make it easy to add new menu panels wherever needed. I'm also using the simple SDF Toolkit for resolution independent icons. Now that Text Mesh Pro has been bought by Unity, I have all that I need to handle resolution independence in Unity. Here's a shot of the options menu:

A screenshot of a game's options menu.

After a lot of bug fixing in other parts of the game code, I decided to tackle an in-game bug reporting system (as you can see below). This system allows a tester to bring up a console, type a bug report message and hit send. The message, along with any debug messages and system information then gets sent to a server, which then sends me an email with all the information. I spent a lot of time on this because I wanted to remove any inconvenience on the user's part. It was a new experience learning how to use PHP and deal with server stuff, but I managed to get everything working smoothly. I hope it will serve its purpose well in the future (Update Apr. 2020 - I decided to scrap all the backend work on this and use Unity’s Cloud Diagnostics instead as a bug reporting service). A work-in-progress of the bug reporting tab of the console:

On the audio side, I switched to using Cubase 9 from Pro Tools. The yearly subscription price for using Pro Tools HD (because I have an HD interface) has become too costly. I used to use Cubase a lot when I was doing a lot of songwriting and producing, but switched to Pro Tools as it was considered the "industry standard" and wanted session compatibility with other musicians. It didn't really add anything to my workflow, and in some ways I felt like Pro Tools was a step backwards, often touting the release of new features as if they were revolutionary things, while Cubase had them long long ago. Anyway, I bought some UI sound libraries and started layering sounds to get the feel that I wanted. It's now time to flesh out all the musical ideas I've been recording for the past couple of years into actual produced pieces of music.

Currently, I've started turret coding again from scratch, as I wasn't happy with what I had before. Here are the things I'm currently trying to implement in the turret system:

  • rotation inertia
  • angle limits
  • barrel inaccuracy
  • predictive aiming also taking shooter velocity into account
  • taking floating origin into account

You can see a gif of a prototype using primitives, gizmos, and debug lines:

The turret and projectile system both need to be very well optimized as there could potentially be many, many turrets in a single scene. This could mean a thousand projectiles flying around at once at any given time. I found an awesome way to optimize projectiles in this post and thread on the Unity forums. Thanks go out to developers who are willing to share their knowledge.

Once the framework is complete, which may take some time to cover all corner cases, I will have to implement beam and missile weapons. From there it's on to all kinds of particles and then spaceship/weapons audio. After that, the part of game development I've been really looking forward to learning and experimenting with: lighting/shadows and post-processing. It will be nice to take the raw unfinished graphics into something really special.

Finally, after determining the visuals of the game, I can tackle 3D movement and AI. Once that's done, I'll release an alpha test for the combat portion of the game. Still a long way to go, but I WILL get there no matter what. Thanks for reading!