This is where I share gifs and demos of what I’ve been working on!

I’m happy to share the source code for any of these projects if you like, just let me know at hudson@hudsonmiears.com!

Gameplay

Eels

Eels

I’m currently working on an arcade game for mobile inspired by a combination of classic Snake and Tetris. The snake you control freezes when it touches the center or another frozen snake, and the objective is to fill out concentric rings of blocks around the middle. The game is targeted for mobile and desktop release by the end of 2021.

Narrative-driven mechanics

Cabooze features fun use of cinemachine cameras and point-and-click movement.

Cabooze is an exploration of beautiful, narrative-driven mechanics. The movement is point-and-click and the camera responds dynamically to the player’s position in the scene. The demo also uses the ink scripting language to power dialogue, as well as dynamic post-processing effects and lighting to give a time-of-day effect.

Third Person Camera Controller.

Cameras are important in games, and I think about them a lot. In this demo I wanted to see what it would take to create a good third person camera controller, inspired by this talk by John Nesky. I did this while trying to emulate the movement of the old Star Fox games.

The camera moves in relation with the ship’s movements. In addition, I used the idea of raycast ‘whiskers’ from the talk. This way, the camera moves away from obstructions that it anticipates ahead of the ship. If you move too close to a wall, the camera moves away from it. It also averages this obstruction avoidance so that it centers out in narrow corridors.

Unfortunately, I discovered Unity’s Cinemachine shortly after creating this, but I’m really proud of this demo; I think it’s a great combination of programming and design decisions!

UI Experiments

Text message dialogue with Yarnspinner

UI in Unity has always been a struggle for me, so I decided to go all in on a complex demo. The text is supplied by Yarnspinner, which is fairly painless to use and quick to set up. The message bubbles are positioned manually every update. Perhaps the hardest part of this project was sizing the text bubbles dynamically, which involves some strange interactions between components and children in Unity.

Smartphone UI

This was another, earlier attempt to learn UI in Unity, and I think the results speak for themselves. All of this is built with the standard Unity UI and a render texture; the phone’s clock comes from the System time.

Game Jam Games

Game jams are great, and I’ve had a lot of fun participating in Ludum Dare, Global Game Jam, and others through my development journey.

Above is our entry to the Wholesome Game Jam, a 48 hour jam in October 2020. I worked as the main programmer on the team and I was quite proud of the fishing mechanics.

The challenge with game jams is scope, and so all of these projects are quite small. I would note three games from Ludum Dare here:

OnFuelDrain(), a space shoot-em-up where getting hit refuels your ship.

Hug Me I’m Cold, a short survival game where wearing too many sweaters to keep yourself warm also slows you down.

Oh no!, a multiplayer turn-based combat game where you have to claim land and destroy enemy balloons.

Roller Ball Kart Demo

Loop-de-loops Countersteering
Loop-de-loops Countersteering
Driving on the wall Local splitscreen
Driving on the wall Local splitscreen

Play Here

At the beginning of the year I spent several weeks prototyping some fun karting movement in Unity based on a technique described by Kenney. The results are super satisfying and I would really love to turn this into a Diddy Kong Racing-style racing adventure game one day, given the opportunity.

Other stuff

ARCore + Unity Dissertation Project

IMAGE ALT TEXT HERE

This video demonstrates uploading and downloading object positions to and from the cloud.

My dissertation project was well documented, and you can find dev logs for it on my blog. On the Unity side of things, the challenge was to develop an AR experience that keeps objects consistently in the same place in a small environment.

The project as a whole focused on UX design and phenomenology. As I move into the future, I’m certainly interested in pursuing these ideas further and in different directions!

ArcGIS Runtime SDK – Android samples

For the first six months at my current job, I worked on the ArcGIS Runtime SDK for Android Samples team. Many of the Kotlin samples were written by me. A challenge on this team was writing samples that were minimalistic and didn’t include too much non-ArcGIS code, while also keeping UI intuitive and straightforward to use. I introduced some new techniques from Material design for this, such as the morphing FAB and bottom sheets, as well as some Kotlin-y techniques for front-loading the samples with ArcGIS code. I’m particularly proud of these samples: 1, 2, and 3.