Game development has been a hobby of mine since a very young age. I like that it encompases music composition and performance, creative writing, as well as many areas of computer science (physics, networking, audio design, modelling, graphics).
Firstly, here are just some general opinions that i've picked up over the years. They will probably become outdated quickly (maybe they already are).
- Make games not engines!
- If you want to make engines, make games!
- Start with Godot (small 2D/3D), Unity3D (big 3D games), or Impact (for lightweight 2D HTML5)
- You will learn a lot more about gamedev than you can ever be taught in a module or read online by actually following tutorials & making games with these first.
- I recommend Godot as its open source under the MIT license and personally, having made 2D and 3D games with both Godot and Unity3D, think it is much better designed.
- Also, if you want to work in the industry, make a demo with Unreal Engine.
- Don't worry about what language you use.
- "Oh its not in C++", "Oh its not in Python"
- Spend 2 days learning whatever it is the game engine or tool you want uses and respect its decisions and force yourself to love its syntax.
- Either decide that all languages are great and worth learning, or decide that all languages suck and you've got no choice. Just don't decide that language X is your true love.
- Make your games with cubes or squares first.
- Get the core mechanic and game states working with squares or cubes.
- For new game ideas, set your scope minimal so that you can finish programming core mechanic and states within 2-days.
Art & Music
Below are some tools that I find useful.
- Steep learning curve but worth it for 3D games.
- I prefer it to Pyxel Edit for pixel art despite a slightly steeper learning curve.
- Godot Pixel Painter
- My software - I prefer it to Spine for pixel art as it removes the need for two tools (painting and animation) from the game engine editor. It may need a minor update with recent versions.
- Start with Brandon Walsh on Youtube.
- Easy to get retro sound effects, otherwise take a microphone out into the park.
- Arch Linux
- Not related but obligatory mention.
Ruinstorm is a long-term hobby that i've been developing on-and-off with Sven over the years. The game has changed massively in scope since its initial concept, but I love chipping away at it every now and then. Will probably still be working on it when i'm an old man...
Quick Summary: A physics-based ARPG platformer where you can chop up everything. Want that piece of armour? Cut it off the dudes body and pick it up. Need to escape the arena? Pile up the bodies and you can climb over them to get out.
The protagonist encounters increasingly unlikely magical creatures as he ventures onwards looking for answers to his demise. Ruinstorm is the name of the dark and feared land east of the old kingdom.
Responsive retro-style platforming, combined with physically based animation, modular gear, and deterministic AI. Also features an original dark and gritty chiptune score composed with MilkyTracker.
Jungle Venture is a game that I developed for EMVigR. The game is intended to be played by stroke patients, who control it through simple motion gestures which are later reviewed by a therapist. The game is an infinite side-scroller with swinging, swimming, jumping, rope physics, throwing, and volcanoes.
Physically-based rope swinging:
Throwing stones at rhinos:
Rarrgh! was one of my first 3D games. Play in an online world with caveman and procedural animation. While it only ever existed in alpha stage, it was fun to develop and play during my undergraduate.
Starship forces was a 3D game I developed in Unity3D.
The game had a number of interesting features including a multiplayer lobby (staging area), my implementation of the Transvoxel Algorithm which was used to render large planets at multiple levels of detail. This was integrated to the Unity3D scene hierarchy and the processing was multi-threaded.
Starship forces used many custom shaders, including triplanar texutre mapping and procedural noise. It also used a custom imposter system I developed called ABI, which could render thousands of objects (e.g. trees and ground units) in Unity3D efficiently. I went on to sell ABI.
The main problem with starship forces was that I spent too long on unique tech and suffered quick burnout. The game itself was too dependent on 3rd party assets and didn't have any particular core "fun" mechanic. I entered Ludum Dare which shifted my focus to completing smaller more managable projects.
Ludum Dare Competitions
All of the remaining games were made for ludum dare, a game competition where you have to finish a game from scratch for a given theme in 48 hours or less.
Physics based shooting of weird mechanical dust monsters that invade your small island. The Ludum Dare theme was "A Small World".
A physics-based game where you shoot ships, pick up their pixels and build/upgrade your ship with the resources. Different color pixels do different things, such as laser, hull, and shield. The stronger your ship, the stronger the enemies become. The Ludum Dare theme was "10 seconds" incoporated into the building mechanic.
You Only Get One Cube
A game made in 5 hours from scratch, where you have to avoid cubes flying towards you. When your red cube hits another it splits into pieces recursively until you control a swarm of mini cubes. The cubes eventually get so small they disappear and the goal is to last as long as possible. The Ludum Dare theme was "You Only Get One" as you start out with just one big red cube.
An emo game about a girl who squandered her life, the theme was "beneath the surface".
[return to top]