Thursday, May 15, 2014

Messing with Unity

I took a break from working on the construction game to take a look at the Unity game engine.  I've been working on a control scheme for a 3D platformer game for the last couple of days.  Starting with some random guys physics package which had decent math but wasn't really set up for making an actual game.  I started by ripping up the movement into a state machine which now supports motor and grab functions.  You can operate the arms independently of the feet and utilize it to pick up, push, pull, and move objects around in the world.  Movement and jumping states were constructed so that we can add functionality for things like wall jumping more easily.  The state machines are run by a Controller object and then I wrapped the controller scheme into a Character system that can swap out the controllers at runtime based on other inputs.  This lets you change control schemes on any character depending on collision or game state.  So far it works fairly well, my first game test was using the system to swap control schemes on the player for moving in and out of zones tagged for water.  The results are pretty nice, I am able to craft an entirely separate group of states which control water movement and then immediately swap out of them when you exit the water by any means.
Cooling off in the water.

2 comments:

  1. Good day sir. ... update or RIOT!!!

    ReplyDelete
    Replies
    1. Haha please don't riot. I've actually been working pretty hard on the Architect project in Unity since a few days after this post. I've got some interesting things happening!

      Delete