Migrating to Unity3D

After about a year of very part-time development in Java – learning about game loops, game physics, multiplayer networking, etc. – I migrated to Unity3D, porting much of my Java data structures, interfaces, and event management infrastructure code to C#.

Rudium Screenshot Montage
Rudium Screenshot Montage

In about three months time I had something up and running, although the game play mechanics still left much to be desired. The transition was relatively straight-forward, as most game engines seem to adhere to the same basic principles (physics ticker, graphics update ticker, event management, scene management, etc.)

My initial attempt at creating something decent was… well, an initial attempt. But it worked :).

v0.1

Obviously, the game experience was very rudimentary, but did provide some basic game play capabilities and player feedback in terms of score tracking and NPC interactions (see the bluish-green floaty things in the center).

NPC’s

After purchasing some additional assets and tools to make development easier and the game play experience more immersive, I started to expand the scope and developed a handful of worlds with various landscape features.

Moving from planet to planet required the user to warp to the selected destination using a menu on the HUD which was activated once in their spaceship. The surface of each planet provided a centralized teleportation location from which to re-materialize inside the ship’s cockpit and start the selection process over again.

Ship
Teleportation

Eventually, I added water features and even the ability to swim below the surface (incorporating lens distortion), as well as day-night cycles with the help of asset store tool purchases that could control the weather and time-of-day via a configurable algorithm.

Of course, now that I had some better scenes to work with, I need to refine some of the player controls, and so I got to work on a custom jump mechanic which – in the mountainous terrain below – was a bit challenging. The key issue was knowing where the ‘ground’ was when navigating around large mountain passes with deep crevices. I worked out most of the bugs, but occasionally, the player still gets stuck in certain places.

Water

So, for the time being, I spent most of my time working on weather patterns and day / night cycle lighting (again, with the help of some fantastic asset store components). The moon-rise experience was particularly cool, as it provided some ambient lighting for which to explore the evening landscape (while avoiding lurking dangers).

Moonrise

I’ve included two screenshots from some of the more interesting experiences that are part of the latest build.

FireMountain
AI Attack

I enjoyed working on refinements to the NPC AI the most, as it provided the most visceral and interactive experience. Still much to do, but for a simple FPS with strong strategy / adventure leanings, it’s beginning to take shape.

I’ll keep posting new entries as I make time to continue development. Stay tuned for more!

Copyright (c) 2020 Andrew D. King. All Rights Reserved.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: