A while back in early 2020, I had some free time, and I was making some stuff in Unity. I had an idea to record a weekly video development diary – and it was pretty painful: the videos take as long to record and edit as development does – when I’d rather just be developing.
The thing about the video taking as long as development is a hyperbolic statement, but it feels true. The footage takes at least a whole day. I don’t think we give people with really good dev vlogs enough credit.
I forget where I posted the videos, somewhere in the bowels of YouTube, through an account I’ve forgotten about. But I found the original video captures and cut new versions.
I was entertaining two ideas:
- Xeno-Heist Home – a 3D point-and-click adventure
- Operation Theater (or Theatre, I never decided which one was the official spelling I was going for) – tech for an online large-world top-down shooter.
I’m reposting to get some closure and officially put these projects to rest.
01/18/2020
The game idea was called Xeno-Heist home. A point and click.
The initial focus was having a test asset, doing the basics of clicking and moving, and setting up the foundation for character tech and lip-syncing.
01/25/2020
After using the lip-syncing tools for some time, I started making more elaborate tools and refactoring those changes to more manageable forms. I also made a state machine system that could execute similarly to a high-level virtual machine – and started integrating it into places. Along with the execution system, there’s also a visual scripting system to program it.
02/01/2020
In the back of my mind, as a random thought, I was thinking of what goes into an MMO, so I also decided to start a project where I could test MMO technology ideas. The initial prototype supported some basic assets and a few avatars in the world. I also was wondering if the WebGL platform could also be supported to allow the MMO to be played in the browser.
While the browser version worked, I eventually got dismayed at how large the WebGL file sizes were.
02/08/2020
For Xeno-Heist Home, because of how exotic I was planning to make the aliens and how procedural and dynamic I wanted the animations to be, and because the feet were sliding, I decided to look into IK-assisted foot tracking. It should be noted that the feet sliding could have been ameliorated in other ways – such as tweaking animation parameters and having a better animation – I decided to look into a tech solution since I could always do the other stuff afterward and still have the IK assistance on top.
With the IK assistance, there’s some improvement, but there’s still sliding. It’s also the initial implementation; in the end, proper and firm foot placement would probably have involved a lot of fine-tuning in multiple places when development reached a place ready to address that.
A Lua scripting command line was added to the server. This allows for server controls that an admin would need access to, as well as the possibility of running arbitrary commands and testing scripts for debugging and maintenance later on.
02/15/2020
An asset for the alien character is added. Now that there are multiple characters, I can start doing more to think about how NPCs will be implemented.
02/22/2020
Physics is added to the Operation Theater server – but physics is also done client-side with Unity’s physics system for network dead reckoning. Guns, persistent user data, and inventory systems are also added. These additions created a demand for additional systems that keep real-time simulation data synced between the server and clients.
Afterward
I also got to a point where content creation and artwork were going to become more of a concern, and I hadn’t figured out how I would really do that without creating two additional full-time jobs for myself.
And did I mention the video-making process was tedious?
I forget what exactly came afterward. But eventually, everything went on hiatus when I wanted to make a procedural synth with Unity’s audio API, which grew in scope and became Precision Keyboard.