Game Designer & Programmer,
Founder of Stargazy Studios
Since 2009, I have been creating innovative games, operating as an agile and independent micro studio. I perform all game development duties at Stargazy Studios, including design, programming, and business management.

I am always excited to hear from clients with a game project in mind. Please get in contact if you would like to hire me to perform any of my range of services for you.

Stargazy Studios is located in Cardiff, United Kingdom, and is a remote-working specialist.

Skills & Services

Game Design
Programming
Lecturing & Training

Games

I have contributed to four commercially successful games, taking lead designer and lead programmer roles twice. I have shipped games as part of a team, and also as a solo developer. Target platforms include Windows, macOS, Linux and iOS, with distribution through Steam, Epic Games Store, Apple App Store, The Humble Store, GoG, and direct to consumer.
Democracy 4
Democracy 4 is the ultimate sandbox for testing out your political ideas. We all think our politicians are useless and that we could do a better job ourselves, but is that really true? With one eye on the budget, one-eye on the polls, and somehow finding time to watch out for terrorist attacks at the same time, you will find that staying in power while changing society for the better is a tougher job than you ever imagined.

Having previously delivered both innovative design and advanced engine programming for the Democracy franchise, I was asked to design and program its next major sequel, Democracy 4.

The franchise would require major investment in both design and engine programming to create a game suitable for the demands of the contemporary market.

I decided that the design pillars for the project would be to create:

  • a simulation capable of modelling politics across the world
  • a scalable UI to uncap the complexity of the data being shown
  • a fluid UI to tell compelling stories with data
  • a rendering engine suitable for future display resolutions
I achieved this by taking what I had learned in broadening the simulation for Democracy 3: Africa and created a global simulation for Democracy 4.

I uncapped the displayable data complexity by developing a state-of-the-art vector graphics rendering engine, utilising the Cairo open source library to dynamically rasterise SVG assets. Pixel-perfect UI elements can be created at any scale, allowing for a far greater density of information to be displayed. This also provides a crisp game interface on displays of any resolution.

To make the UI fluid, I developed an animation engine that allows UI elements to continuously scale and move around the interface. I also developed UI containers that would automatically scale and space elements inside of them, using a unique pseudo-physical repulsor algorithm. Each UI element can be assigned a weight, and their size and location within a container will be determined based on the other elements within that container. Different heuristics are used to weight the neurons in the simulation's neural network, and they smoothly animate to their new sizes and positions within the UI.

I wrapped the complexities of these low-level systems in a simple API, so that it would be easy to continue to develop Democracy 4 throughout its early access period.

  • Client
    Positech Games
  • Role
    Lead Designer, Lead Programmer
  • Technologies
    Custom cross-platform engine, C++, OpenGL, SDL, GTK
  • Target Platforms
    Windows, macOS, Linux
  • Steam
    Democracy 4
Democracy 3 Africa
Democracy 3: Africa is the new standalone re-imagining of the hit political strategy game Democracy 3. Set entirely in countries on the continent of Africa, D3:A puts you in charge of these countries and challenges you to stay in power whilst fixing each country's problems, improving the quality of life for your electorate, and steering them towards greater prosperity.

Democracy 3 was a global success, but only modelled the political systems of Western industrialised nations. There is a far broader spectrum of politics beyond these countries. I was tasked with developing a standalone simulation that would allow players to lead nations from across the continent of Africa.

As lead designer, I selected ten African countries by deeply researching their politics, economics and histories. I chose these nations to represent the diversity of societies across the continent. Data sources included the UN, IMF, CIA World Factbook, Mo Ibrahim Foundation, Economist Intelligence Unit, Transparency International, World Bank, and WHO. These provided new, measurable dimensions for each candidate nation, and ultimately informed my design of a broader political simulation.

To support the inclusion of significant additions to the original game's simulation, I worked throughout the code base to program new game systems.

  • Client
    Positech Games
  • Role
    Lead Designer, Lead Programmer
  • Technologies
    Custom cross-platform engine, C++, Windows SDK, DirectX, SDL, OpenGL
  • Target Platforms
    Windows, macOS, Linux
  • Steam
    Democracy 3 Africa
Democracy 3
Have you ever wanted to be president or prime minister? Convinced you could do a better job of running the country? Let's face it, you could hardly do a worse job than our current political leaders. Crime, Unemployment, National Debt, Terrorism, Climate Change...Have you got the answers to the problems that face Western industrialized nations? Here is your chance to find out...

Democracy 3 was a worldwide hit, demanding the game be translated from English into Simplified Chinese, Russian, German, French, Italian, Spanish, Polish and Portuguese. I was tasked with building an OS-strength text rendering engine to accurately display all translated text.

To achieve this cross-platform, I compiled custom builds of the open source Pango-Cairo libraries for each target platform (Windows, macOS and Linux). These libraries shape UTF8 encoded vector characters and rasterise them to a data surface. I then wrote a custom texture packer, texture indexer and rendering engine to generate and display the rasterised text data. I successfully refactored my custom API into a mature code base that had previously used fixed-width, ASCII text rendering.

There were initially two distinct code bases for Democracy 3: one written using the Windows API and DirectX, the other written for macOS and Linux using SDL and OpenGL. I extended the cross-platform code base to be compatible with Windows, so that a single code base and static data set could me maintained going forward.

  • Client
    Positech Games
  • Role
    Programmer
  • Technologies
    Custom cross-platform engine, C++, OpenGL, SDL, GTK
  • Target Platforms
    Windows, macOS, Linux, iOS
  • Steam
    Democracy 3
Prison Architect
Only the world’s most ruthless Warden can contain the world’s most ruthless inmates. Design and develop your personalized penitentiary in Prison Architect.

I joined the Prison Architect team to fix programming bugs prior to the game leaving early access. I quickly internalised a broad, mature code base and addressed a range of issues, including gameplay systems, artificial intelligence, concurrency, and scripted content.

  • Client
    Introversion Software
  • Role
    Programmer
  • Technologies
    Custom cross-platform engine, C++, Lua, OpenGL
  • Target Platforms
    Windows, macOS, Linux
  • Steam
    Prison Architect

Game Prototypes

Each of my game prototypes is an innovative, new intellectual property, ready to be taken into production. I am always interested to hear about funding or promotional opportunities. Please get in touch if you are inspired by a project.
Huscarlas
A shooting star streaks across the galaxy, hotly pursued by ravenous agents of the Wild Hunt. Only a small bodyguard of Anglo-Saxon Huscarlas protect this celestial princeling. As battle is met on the astral plane, the axemen seek a guiding hand. Woden, the All-father, watches on.

Huscarlas is a distillation of interesting game states found in the squad-tactics genre. Condensed tactical situations form mini puzzles that are algorithmically pieced together by an AI director. The director creates scalable, procedurally generated levels, to continually engage the player with new content.

The player controls a small team of Huscarl bodyguards, tasked with protecting their charge, the autonomous Star. They must analyse each level's terrain and enemy positioning, deciding where best to intercept their foes, and with what strength of force.

  • Technologies
    Custom data-oriented engine, C, Perl, OpenGL, LibXML, iOS, Android
  • Artist
    Corban Wilkin
Dance Duets
The dance hall is packed, and the dancers wait with anticipation for the conductor. Complex dance patterns are scribed across the floor. Only when the dancers have been expertly placed in their starting positions, can the party begin.

Dance Duets is an accessible, infinitely scalable puzzle game. Players are challenged to match similarly coloured dancers across a network of pathways. The procedurally generated puzzles can scale to any arbitrary size to suit a player's skill. Additional puzzle complexity is introduced by including dynamic tiles with flip-flop output gates, and colour cycling functions.

Players must keep the party going by completing a chain of puzzles. Successfully matched dancers are carried to the next dance floor, but the party is over when there are fewer matched dancers than mismatched.

Courtroom Cake: Not Everyone Likes Battenberg
12 angry jurors are scattered around the jury room, divided over a decision. Only cake can save the day! Each juror can be tempted or repelled by strategically surrounding them with gateaux. The entire jury must be sat in their seats to reach a consensus, brought together by the power of cake.

Courtroom Cake is a puzzle game in which players must determine jurors' cake preferences. Jurors will like certain cakes, and dislike others. The attraction and repulsion fields exerted on each juror by the cakes around them must be balanced, in order to position them at their seat. The whole jury must be located around the table for a decision to be made, and the case to conclude.

Puzzles are generated procedurally, with complexity adjusted by modifying the number of jurors, cakes, and preferences per individual. Players compete to bring justice to as many cases as they can in a row, with the difficulty of the puzzles increasing with each successful verdict.

Curriculum Vitae

Stargazy Studios
Owner & Founder
(September 2009 - Present)
Game Production
  • "Democracy 4" game
    • Lead Designer, Lead Programmer
    • Client contract, Positech Games
    • Custom cross-platform engine, C++, OpenGL, SDL, GTK
    • Target platforms Windows, macOS, Linux
    • Distributed through Steam, Epic Games Store, The Humble Store, GoG, and direct to consumer
  • "Democracy 3: Africa" game
    • Lead Designer, Lead Programmer
    • Client contract, Positech Games
    • Custom cross-platform engine, C++, Windows SDK, DirectX, SDL, OpenGL
    • Target platforms Windows, macOS, Linux
    • Distributed through Steam, The Humble Store, GoG, and direct to consumer
  • "Democracy 3" game
    • Programmer
    • Client contract, Positech Games
    • Custom cross-platform engine, C++, OpenGL, SDL, GTK
    • Target platforms Windows, macOS, Linux, iOS
    • Distributed through Steam, The Humble Store, GoG, Apple App Store and direct to consumer
  • "Prison Architect" game
    • Programmer
    • Client contract, Introversion Software
    • Custom cross-platform engine, C++, Lua, OpenGL
    • Target platforms Windows, macOS, Linux
    • Distributed through Steam, The Humble Store, and GoG
  • "Huscarlas" game
    • Bespoke, data-oriented engine, written in C/C++
    • Scratch-built data structures, memory management, rendering, asset streaming, XML parsing, artificial intelligence, and procedural level authoring libraries
    • Custom asset tool chain
    • XML meta-data generating scripts written in Perl
    • Cross platform compatible
    • Primary target platforms PC, iOS and Android
  • "Dance Duets" game
    • Created using GameMaker: Studio, written in GML
    • Sophisticated pathfinding functions
    • Algorithm procedurally generates puzzles of infinitely scalable difficulty
  • "Courtroom Cake" game
    • Made with Unity, written in C#
    • Leverages Unity's physics library
    • Algorithm procedurally generates puzzles of infinitely scalable difficulty
  • Created a website to market Stargazy Studios using industry standard web technologies
    • HTML 5
    • JavaScript
    • Blogger
    • Google Cloud
  • Built a portable development environment, with multiple source code redundancies available on a self-maintained, VPN-accessible SOHO LAN, and on WAN-accessible cloud storage services
  • Expert in implementing infrastructure across operating systems
    • Microsoft Windows
    • Apple macOS
    • Linux
Game Design
  • Studied texts from the reading list used at NYU Game Center's "Game Design" MFA programme e.g.:
    • "Homo Ludens", Johan Huizinga
    • "Man, Play and Games", Roger Caillois
    • "Theory of Fun", Raph Koster
    • "Rules of Play", Katie Tekinbas & Eric Zimmerman
    • "Videogames", James Newman
    • "The Video Game Theory Reader", Mark Wolf & Bernard Perron
  • Curate contemporary, online sources of game design research e.g.:
    • Naomi Clark
    • Frank Lantz
    • Daniel Cook
    • Keith Burgun
    • Robert Yang
    • Justin Gary
  • Contribute design and production articles to external web sites, as well as publishing on my own blog
  • Regularly attend industry events to hear lectures, network with fellow game developers, and engage in design discussions
    • PAX East
    • Develop Conference
    • Independent Game Developers Conference
    • World of Love
    • A Bit of Alright
    • Imperial College's Games and Media Event
    • GameCamp
    • Wales Games Development Show
    • EGX
  • Specialist in game designs containing procedurally generated content
Business & Marketing
  • Prepare annual accounts
  • Structured a profitable business from which to sell Stargazy Studios' intellectual property
  • Maintain a studio social media profile
  • Expert in remote working, leveraging project management and productivity tools
    • Trello
    • Slack
    • Git
    • GitHub
    • Bitbucket
    • Mantis Bug Tracker
    • Cloud data storage
    • Zoom
    • Discord
    • VPN
  • Curate news sources to stay informed of global economics, business models, legislation and funding options that may impact my business, as well as the wider technology sector
GameCamp
Organisational Committee Member
(July 2010 - Present)
Morgan Stanley
Vice President
(October 2004 - September 2009)
Information Technology Division (October 2004 - October 2006)
  • Joined as a member of the graduate programme
  • Deep technical knowledge and calm, affable personality meant I was selected to directly support the desks on the equities trading floor in London
  • Became an expert in trading and risk management applications, developing a meticulous understanding of all financial products traded
  • Liaised between the systems' users and the teams that developed them
  • The environment demanded the ability to prioritise and time manage under extreme pressure
  • Implemented long-term strategic solutions to recurring issues with systems by coding scripts to enhance and manage applications, and by optimising infrastructure to increase systems performance
  • Exemplary performance reviews and added value that I provided to the trading desks resulted in a rapid, and exceptional, internal promotion to become an equity derivatives trader
Institutional Equities Division (October 2006 - September 2009)
  • Joined the delta-one equity derivatives desk as an associate trader
  • Tasked with building and running the single-stock futures business
  • Extremely technical role, requiring instant evaluations of complex financial instruments, and expert systems knowledge to execute trades on electronic marketplaces and manage risk
  • SII qualified derivatives trader
  • Necessary exams passed and registered for twenty European equities and equity derivatives markets
    • LSE
    • Deutsche Borse Group
    • Euronext Paris
    • Euronext Brussels
    • Euronext Amsterdam
    • Euronext Lisbon
    • Bolsa de Madrid
    • Borsa Italiana
    • Stockholm Stock Exchange
    • Oslo Stock Exchange
    • Copenhagen Stock Exchange
    • Helsinki Stock Exchange
    • Wiener Borse
    • Virt-x/SWX
    • EDX
    • Euronext LIFFE
    • Eurex
    • MEFF
    • IDEM
    • OMX
  • Personal trading book contained European, North American and emerging markets equities and equity derivatives
    • Equities
    • Single-stock futures
    • Rights
    • Single-stock synthetics
    • Index futures
    • Index synthetics
    • Equity swaps
    • Interest rate futures
    • Interest rate swaps
  • Implemented systems to improve operational scalability, streamlining exchange-listed derivatives expiration
  • Success, and the profitability of my trading book was rewarded with another rapid promotion, to Vice President in December 2008
  • Trained and mentored a middle-office hire to assume trading operations and management of the single-stock futures book
  • Responsibilities expanded to trade the proprietary books for multiple European equity index arbitrage strategies
Education
Imperial College London (July 2000 - May 2004)

Software Engineering MEng (Hons) Class Upper Second
Associateship of the City and Guilds of London Institute (ACGI)
  • Final Year Project
    • Created an artificial intelligence framework that would allow for routines to be controlled dynamically at run-time through a web page interface
    • Opportunity to engage early with the computer games industry, identifying the growing trend for developers to adopt middleware
    • Ensured commercial relevance by consulting senior members of Criterion Software, an industry leading creator of middleware
    • Built with C, C++ and HTML/CGI
    • Submitted a rigorous dissertation, and gave a presentation to an assessment board of faculty members
  • Third Year Industrial Placement
    • Six months in industry at Amadeus UK
    • Part of a team that designed and engineered a new computer system to flag potential threats in airline passenger manifestos
    • Employed industry standard modelling techniques, using UML, and codified them with enterprise Java
  • Courses
    • Year 4
      Network Security; Multi-agent Systems; Software Engineering - Environments; Parallel Algorithms; Distributed Algorithms; Computer Vision; Probabilistic Inference and Intelligent Data; Entrepreneurship
    • Year 3
      Advanced Databases; Distributed Systems; Simulation and Modelling; Software Engineering - Methods; Software Engineering - Design II; Graphics; Multimedia Systems; Robotics; Technical Presentation Skills
    • Year 2
      Algorithms, Complexity and Computability; Compilers; Databases I; Operating Systems II; Software Engineering - Design I; Statistics; Networks and Communications; Software Engineering - Design II; Artificial Intelligence I; Concurrent Programming; Architecture II
    • Year 1
      Hardware; Discrete Mathematics I; Logic; Declarative Programming I; Programming I; Architecture I; Mathematical Methods and Graphics; Discrete Mathematics 2; Reasoning about Programs; Operating Systems I; Declarative Programming II; Directions
  • Project Examples
    Concurrent systems modelling (Java, LTSA); Web page authoring (Java, JavaScript, PHP, HTML, CGI); Extension of the MINIX kernel to include a debugging tool (C); Optimising compiler written (Haskell); 3D graphics engine (Object Orientated Turing); Database creation and manipulation (Sybase, Microsoft SQL Server and Access); HCI evaluation of web based systems; UML systems design; automated calendar spread product creation script (Perl)
  • Extra Curricular
    • Played rugby for Imperial College, member of the Fine Arts Society, and volunteer dog walker for Battersea Dogs & Cats Home
    • Culmination of activities qualified for the Gold Duke of Edinburgh award (awarded 2003)
    • Participation in university teams and societies recognised with a City & Guilds sponsored bursary
The Skinners' School (September 1993 - July 2000)
  • A Levels: Computing (A), Mathematics (A), Physics (A)
  • GCSEs: Mathematics (A*), Physics (A*), Chemistry (A), Biology (A), Art (A), English Language (A), English Literature (A), French (A), Information Technology (A), Design & Technology (B)