jacques.io

Scratching an Itch

February 19, 2020

Twenty years ago, I was an exchange student in Japan. I was in the countryside, and my host family didn’t have the internet. In the evenings, I developed a simple online RPG, called Aspereta, in VB6 and DirectX.

Aspereta circa 2002

A couple of times a year, I get the itch to make a game of some sort. I don’t usually scratch it because making a game can be a lot of work. In January, I had a short trip to Europe that involved a long flight. I started looking at game development using React and React Native.

I saw a few posts on Medium and videos on YouTube that I saved locally for the flight.

I spent the flight playing with react-native-game-engine and its documentation. When I got back home, I spent some time looking into the various options for creating things with React Native. There were some tutorials for using Three, Phaser, etc. with React Native, but there wasn’t much information available on these.

With React Native, I didn’t want to spend my time learning a graphics/game library. I made a basic tilemap with multiple players rendered by react-native-game-engine, but it wasn’t quite what I wanted.

Eventually, after revisiting some resources and examples like Drew Conley - The Danger Crew: Lessons learned from building an RPG in React, Making an RPG with React + Redux, and Making an RPG with React, I settled on building everything in React. I also saw this video series about making an online RPG with a server written in node.

After a week of tinkering, I have a server that sends a Tiled map and lets players walk around, and a client that connects and renders the map.

See it in action on YouTube

Updates for this project: @lost.aeon