Multiplayer Online Game

Gameplay Trailer

Made for the alpha test release of the game


Lighting System

Built using HLSL shaders


Crafting User Interface

Built using HTML / CSS / JS

Dwell Logo


Dwell is a Multiplayer Sandbox RPG where the towns are built by players. Farm, fish, and mine to gather resources. Board a boat to trade your goods at a port down the river. Learn new skills to unlock crafting recipes.

My Role

I acted as lead developer of Dwell. I designed the game, created the pixel art, and programmed the game from scratch.

Dwell was built twice from the ground up without using a game engine. The first iteration of Dwell was called Colonies, and was written using C++. I built the entire rendering engine from scratch using OpenGL, and built a networked UDP client / server system which was capable of handling dozens of players online at once.

The C# iteration of Dwell was built using Monogame and lidgren. Here are some features I built from scratch:

  • Rendering Pipeline (dynamic lighting, tile-based batch rendering, frame-based animations, a particle system, water animations)
  • UDP Networking Engine (auth system, packet sending/receiving, load handling, syncing moving objects)
  • Input Handling (keyboard support, controller support, accessibility)
  • User Interface System (built using HTML / CSS / JS)
  • Generative World Creator (generates large-scale world maps and populates them with objects)
  • NPC AI / Behaviors (using A* pathfinding algorithm, the animals eat, hunt, and interact with players)
  • Multiplayer Gameplay Systems (combat, crafting, fishing, farming, building, governing, chat, friendslist/social)

Dwell was shown at Game Developers Conference, MineCon (Minecraft Conference), and MAGFEST as well as several other indie game showcases. While the game is not under development and the servers have shut down, the peak of Dwell saw thousands of players and was released on several marketplaces.


  • C# / C++
  • Monogame
  • HTML / CSS / Javascript UI
  • HLSL Lighting / Shading
  • UDP / IP Networking