Whilst at Lionhead Studios I started thinking about and tinkering with the idea of a system to enable fully procedural world generation. Sparked by my time at Elixir Studios working with the Totality Engine and it's ideas of 'infinite detail' I began to think about how this could really be achieved. Starting with the premise that to create unrealistically large amounts of detail you'd have to have the computer generate it for you, I was naturally lead to procedural generation. Inspired by the demoscene and the huge compression, variety, and detail achieved using procedural techniques and the power of mathematics and algorithms to describe the world, I set about making it happen.
By the time Lionhead exploded into many fragments strewn across the world I had prototyped the basics; geometry synthesis engine, realtime editor, and data driven procedures. After Lionhead closed down I spent ten months working on the project and regularly blogged about the process, the development, and the challenges encountered (see below). This period gave me three things:
- Proof that the idea could work - huge worlds full of detail
- A demo of this technology - the 'Future City' demo
- A website to show it off - built procedurally of course
After an intense discussion with a fellow dev called Adam (from Upstream Arcade) at one the many Drummond Games Nights in Guildford I was inspired to pivot a bit towards object placement instead of just geometry generation. A few days later I had a proof of concept where I could make objects appear in a test rig. A few weeks later and I had something working in Unity and could place prefabs and meshes into the game world. Over the next couple of years (whilst contracting fulltime as a game developer) I gradually built the Unity plugin verison of Apparance. Several evaluations and experimental projects using it later I started working with the Flaming Fowl team to build Gloomhaven with it. This gave me the time to polish and iron out bugs and performance concerns about the plugin and getting it to the point where it is viable for professional gamedev.
Towards the end of 2019 I took a punt and applied for an Epic Megagrant. I wasn't sure what would happen and the process is fairly opaque, and the only thing I heard was a note around new-year letting me know that they were still processing my application. Then, in April I received an email congratulating me on my successful grant application! Wow. This was amazing, and although I wasn't able to start on it immediately, it allowed me to do a full port of the Unity plugin to Unreal. The new plugin isn't identical, but includes changes to approach and implementation that I learnt from the Unity version. I plan to retro-fit these changes into the Unity version prior to its full release which will follow the Unreal plugin release.
This is the old directory of blog entries in reverse chronological order.
These are hosted externally on my personal Blogger site entitled "The Symbiosis Of Software And Hardware". This started as a general purpose blog, leaning towards electronics and computing projects. After some sparse posts about virtual circuitry and ideas of where that could lead I started work on the systems that would eventually become Apparance.
Over the years of development a huge number of procedural scenes, objects, and ideas were tested out and experimented with. Here are some of them.
- Engine plug-ins
- Demo material
- Modular components
- Development test pieces
- Fun challenges
On-going experiments with integrating Apparance into Unity 3D
Early experiments with integrating Apparance into Unreal Engine 4
A look around the Future City demo and it's construction.
Industrial construction elements, including steel girders with detail right down to the threads on the bolts.
Procedural space ship built up from various sci-fi space-ship style elements recursively distributed across the hull
Old building modelling experiment, created in two days.
Development snapshots, work in progress, test pieces, and behind the scenes diagnostics.
Experiments in landscape detail management
Playing with fractal creations. Made easy by simple recursion support.
Simple organic object creation experiments
A look at how this website is built using Apparance.
The editor user interface and a few examples of the flow-based programming wiring system
A few screenshots from the Guildford Game Jam game 'Two Choices'
Various experiments gathered during the development of Apparance
A bit of fun on my birthday :)