V1V2
Blog & Projects

One Year of Web Game Dev

Hi, I am verekia. Late 2022, I decided to give myself one year to explore and promote JavaScript game development. We are now one year later in December 2023, and this is the retrospective of an incredible year of learning, sharing and building.

Context

I am a front-end-leaning full-stack developer with 15 years of experience (resume). Back when I started programming, I was interested in game development, but I never got a chance to dive into it properly. As I became more experienced in web development, gamedev became a distant dream. It has its own ecosystems, languages and tools, and requires a pretty different skillset than web development.

I started to get interested in game development again when I got a Meta Quest 2 VR headset. The incredible experience of VR reminded me of the power of games to create immersive and impactful experiences, so I started playing around with Unreal Engine and Unity and created a few small games and VR experiences.

Compared to the web ecosystem, I felt like these engines were a big downgrade of developer experience. On the web we have hot module reloading, very fast deployments, VS Code, TypeScript, the massive NPM ecosystem, reactive UI libraries like React, etc. Unreal and Unity, while much more powerful for gamedev, were a pain to work with, coming from a web dev background.

I knew it was possible to create 3D games in the browser with libraries like Three.js or Babylon.js, and that I could use React Three Fiber to leverage my React skills. For VR, WebXR was also a good option to easily turn a WebGL scene into a VR scene. Despite the downsides of using the web for gamedev (such as not having as much tooling and assets available), I decided that web gamedev was the right thing for me.

So I put my freelance consulting business on pause and started my journey.

Web Game Dev LogoWebGameDev.com

As I started building prototype games in React Three Fiber, I took notes of everything I was learning and listed every library and tool that could be useful for web gamedev. I ended up publishing these notes on a new website, WebGameDev.com.

The website was very messy and absolutely not ready to be shared, but at this time there was a significant risk of Twitter shutting down due to massive engineering layoffs, so I decided to share it as an emergency measure in case I lost my followers. I quickly set up a Discord and Twitter account for the website, and shared it with the world.

Even with the terrible state of the website, it was very well received! It seemed like there was very much a need for this kind of documentation. People started to join the Discord (thank you Hendrik for helping spread the word!), and the Web Game Dev community was born.

The website is still pretty messy today, but I kept adding content to it all year, made it open-source, and had the chance to interview Hendrik Mans, dek (Hordes.io), and Steven Yau, which were lovely and inspirational experiences!

I also started a newsletter to keep people and myself up to date with the latest news in the web game dev world, but more on that later.

Discord Community

The Web Game Dev Discord community has been a major highlight of this year. From the very beginning we've had incredibly skilled and friendly members sharing their knowledge and helping each other out. I have learned so much from the community, and I am very grateful for everyone who has been a part of it.

Roughly 100 people have been joining the Discord every month since the launch of the community, and we are now at 1,500 members.

💌 Newsletter

WebGamer LogoWebGamer.io

Mini Mana LogoMini Mana

Mini Mana Logo

The project that I am the most proud of this year is Mini Mana. It's a multiplayer RPG that combines some of my favorite genres and mechanics. I released the first version after 1 month of work, and kept improving it for the next 3 months. It is built with React Three Fiber, Miniplex, and uWebSockets.

Mini Mana Gameplay

The base area with NPCs and portals to dungeons

Mini Mana Third Person

A multiplayer game in third person view (video)

PolyDraw LogoPolyDraw

What's next?

This has been an incredible year, but unfortunately, I can't keep burning savings forever! So I am now back on the market as a freelance consultant or employee. If you are interested in working with me, please email me at holel@vv12.oi