Hermes

A game about space and junk.
Hermes

I've always wanted to build a game. I've also never known how.

But I do know how to build React Apps, so why not start there?

Hermes is my attempt at creating a working "game" with React. It's still an on-going project, but it's got a decent amount of features in a small package.

The inspiration for the game comes from Eve Online, an MMORPG set in space.

In Hermes, the user controls the ship to travel to distant planets, buying and selling items to gain money required to upgrade the ship.

[object Object]

Users can select items from a list and sort by the item's destination.

[object Object]

Users can travel between planets, and sell items upon landing.

Learning Experiences

Building a "game" with just React can be quite difficult. What you call a "game" can mean different things for different people.

One of the most important lessons learned while building Hermes, is the concept of MVP. Building incrementally and making sure that functionality is present over beauty. Previously I had gotten hung up on how an application "looked" rather than how it "worked". With Hermes, I constantly challenge myself to create the smallest functioning piece of the puzzle at a time. I find this increases how fast I can deliver the overall product as a whole.

What worked well?

Using a single design library like Material UI has given me a lot of initial boosts that working from scratch might not offer. I typically reach for Grommet as a design framework, but Material UI had more functionality that I knew I would want later on.

What didn't work well?

Animation and suspense is a huge part of games. I'm still struggling with finding out how to implement this in a React application in a performant and "easy" way. Animation is not something I'm particularly versed in at the moment, but I'm learning more each day.

Do-Overs

What would I do differently?

I would consider using something like Unity to design the game right out of the gate.

A Planetary Game

I'm still developing Hermes, but I'm proud of how much I have learned about Agile development as a 1 man team.