Introducing Dark Nebulae Online

This is the first post, in what I hope is many, describing the journey of a part-time, solo, indie developer creating a multiplayer 2d spaceship game . I'm starting this devlog after 3 months of development into Dark Nebulae. In future posts I'd like to do some tutorials, give code examples and otherwise document this process in a way that is helpful to others. 

First, some one-time background on me and my motivations. I've been a long time "lurker" on the internet who has rarely generated new content. I got my first internship in tech when I was 15 years old, did some IT work for my high school and college and spent time doing field work fixing computers, networks and answering phones at a small ISP. In 2007 I joined what is now a major internet company where I learned to build and maintain warehouse scale computer clusters. I moved into designing hardware, software, and processes to ensure smooth operation. More recently, I spent a few years testing/designing hardware and software prototypes for virtual reality systems. Through this journey, I’d like to think I’ve gained some experience in creating efficient workflows(and can smell a doomed project from a mile away.)  

Since I was a kid, I was designing games in my head and on sheets of manila paper. I dove into the corporate world in to make a living, but my dreams never strayed far from game design. Like many new developers I’ve had a lot of false starts and abandoned projects. I’ve written simple games in pure c++, pascal and java that I’d rather forget. I’ve tried using engines such as Unreal, Torque2D, pygame, Ogre3d, and Unity and more with varying degrees of success.  In the end, I never felt like I really understood what I was doing well enough to complete a project of significant complexity.

Then somehow, I stumbled onto the Godot game engine. My wife and I had our first child and I was lucky enough to be able to take a few months off of work. I split this time between learning how to take care of a tiny potato and retraining myself in the many aspects of game design using Godot. I was first drawn to Godot because I wanted to use a python-like syntax to script games, but I kept using it because of the unexpected level of elegance I found in its core design. As I worked through my unreleased project “Starship Commander” I slowly learned nearly every aspect of Godot (for 2D) and also all the components of designing a full game. This included project organization, GUI design, 2d physics, tilemap design, skeletal animations, normal maps and so much more. 

I spent some time during my stint in virtual reality R&D using Unity to develop software for prototype hardware. For this, the Unity asset store was a great boon. I could find a demo project close enough to what I wanted to demonstrate, do some tweaks and have an impressive demo in a matter of hours or days. The trouble came when trying to take these masses of disjointed and poorly documented code and create a cohesive and maintainable project out of it.

Even worse, I developed a habit of search for something that was premade for every new challenge I was handed. In the end, personally, the Asset store was a hindrance that held back my personal understanding of game design. (Though I wouldn't hesitate to use it again to quickly build a proof-of-concept for somebody else's ideas.)

When compared Unity, Godot currently has far less pre-made solutions and online tutorials so I had to learn things myself. This involved reading the documentation, API reference, tinkering with demo projects, consulting with smarter folks in the IRC and Discord chats, and loads and loads and loads of trial and error. Through this process, I finally gained what I think is a level of proficiency and understanding that was always a fleeting dream before. For the first time, I feel like the only obstacle holding me back from creating “The game of my dreams” is time.

The last bit about me is inspirations. Some of the games that left the biggest impact on me include:

  • Subspace Continuum (Which heavily inspires Dark Nebulae)
  • Ultima Online (The very first, which still has  features no MMORPG has even attempted to replicate)
  • Master of Orion 2 (Whose multitude of clones always missed a few elements of)
  • Shadowrun for Sega Genesis (An open world cyberpunk game that inspired a card game I designed but did not release)
  • Heroes of Might and Magic 3 (Which somehow gets worse on every sequel)
  • Minecraft, which I narrowly missed acquiring for a company who is not the current owner.
  • Eve Online (in which I am rich and will have sworn to never to log in again)
  • The entire Souls series (Demons Souls, Dark Souls 1,2,3, Bloodborne)
  • All of the Grand Theft Auto series (especially the unofficial Vice City Online mod and the current GTA Online open world content)
  • FTL (Faster Than Light) - An amazing exercise in how less can be more.  

The next post will move into some of the goals for Dark Nebula Online.  

Get Dark Nebulae Online

Leave a comment

Log in with your account to leave a comment.