History

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:

  1. Proof that the idea could work - huge worlds full of detail
  2. A demo of this technology - the 'Future City' demo
  3. 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.

Blog

This is the old directory of blog entries in reverse chronological order.

Year Month
2017 April This Island Apparance
  February Project Progress Report
  January Future City: Update 11 - Block Interfacing
    Procedural Website? - Part 2
    Procedural Website? - Part 1
2016 December Future City: Update 10 - Progress Gallery
    A Case Of Non-Randomness - Part 2
  November A Case Of Non-Randomness - Part 1
    Guildford Game Jam 2016 - Follow-up
    Guildford Game Jam 2016
  October Future City: Update 9 - Apartment Construction
    Future City: Update 8 - A Mixed Bag
    Future City: Update 7 - Building a Better Skyscraper
    One Million Bytes
  September Future City: Update 6 - A Balancing Act
    Future City: Update 5 - The Fencepost Problem
    Future City: Update 4 - Down To Business
    Future City: Update 3 - Blocks & Detail
  August Future City: Update 2 - Get Yourself Connected
    Future City: Update 1 - Divide And Conquer
    The Demo Plan
  July The Procedure Authoring Process
    A Look Around The Editor
    The Rendering System
  June An Introduction to Procedures
    What is project "Apparance"?
    New Beginnings

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
  • Experiments
  • Development test pieces
  • Fun challenges

Unity

On-going experiments with integrating Apparance into Unity 3D

Unreal

Early experiments with integrating Apparance into Unreal Engine 4

Future City

A look around the Future City demo and it's construction.

Construction

Industrial construction elements, including steel girders with detail right down to the threads on the bolts.

Buildings

Spaceship

Procedural space ship built up from various sci-fi space-ship style elements recursively distributed across the hull

Old House

Old building modelling experiment, created in two days.

Development

Development snapshots, work in progress, test pieces, and behind the scenes diagnostics.

Landscape

Experiments in landscape detail management

Fractals

Playing with fractal creations. Made easy by simple recursion support.

Organics

Simple organic object creation experiments

Web Site

A look at how this website is built using Apparance.

User Interface

The editor user interface and a few examples of the flow-based programming wiring system

Game Jam

A few screenshots from the Guildford Game Jam game 'Two Choices'

Misc

Various experiments gathered during the development of Apparance

Cakes

A bit of fun on my birthday :)