Elliott Ayling Elliott Ayling



Hanway Square 16,
London, England


+43 (0) 4213 215 235

OrreyVk- A Solar System Simulation In Vulkan


A solar system simulation written for Vulkan in C++. This is an updated Vulkan version of a similar project I created in OpenGL (found here).

My main aim for this project was to implement real time gravity calculations on a compute shader, whilst drawing all objects via a single draw call. My system (with a 2080ti) can manage ~500,000 objects whilst maintaining >30fps- with the bottleneck being the graphics draw.

This project implements features such as compute shaders, instancing, texture arrays, mipmapping, uniform and storage buffers, multisampling, specialization constants, query pools etc.

Distances are in astronomical units, scaled down. Masses are in solar masses. The size of the sun is not to scale and has been scaled down to make viewing planets easier. Moon distances have also been exaggerated for effect.

Texture images from: https://www.solarsystemscope.com/textures/

Source: Github.

Midnight Gas- Unreal Engine Lighting Study


Having most of my experience in Unity, I wanted to explore Unreal Engine to get a feel for both engines as research for a larger personal project I am working on. I also have found myself becoming more and more interested with 3D environment art, level design, and lighting, and wanted to grow my skills in this area, so I decided to create this small scene in my spare time.

The scene is based on a render by Davide Curci, mostly using Atmospheric Gas Station asset, with cars and human from Polygon City Pack, and rain sound.

I enjoyed making another rainy, foggy, reflection heavy scene. As there is no movement in my scene, all of the lights are either static or stationary, and baked into the lightmap to get a better final look.

I was surprised with how much “smoother” Unreal feels compared to Unity- having features like volumetric fog and the material shader graph built into the engine. It feels much quicker and easier to make scenes look good, compared to Unity.

The Railroad- Unity Environment for the Neon Challenge


Feeling inspired by the Neon challenge and its submissions, as well as sci-fi and cyberpunk in general, I thought I’d give some environment design a go. Having no real experience on the art side of things, I relied entirely on the asset store for all my models, materials, and various other bits and bobs. I created this scene in my spare time over around a month.

Full write up here with in progress screenshots: The Railroad- Unity – Elliott Ayling

Exploration of geo-hazard terrain data in VR


Working with the University of Portsmouth’s School of Earth and Environmental Sciences, I created a prototype for the 3DTeLC project- a three year Erasmus+ funded project for visualisation of geo-hazard data, meant for use within classrooms. The project consisted of converting large digital terrain data, into a usable and textured environment within the Unity game engine. This landscape could then be explored within VR.

The project involved considering VR related problems, such as scale, resolution, and the user experience.

Cosmological Simulation Data Visualiser for Windows using Cinder


This project is coded in C++ and ports the open source high performance volume rendering tool Splotch, designed for Unix based high performance computing (HPC) environments, onto a Windows desktop environment using the Cinder C++ library. This was for the purposes of the University of Portsmouth’s Institute of Cosmology and Gravitation (ICG) Entropy project. The software is designed to offer an easy to use tool to interact with 3D visualizations of cosmological datasets on an accessible platform, and is the first of its type within Cinder.

The main challenge for this project was evaluating and interpreting established open source code and concluding the most suitable way to adapt it for the Windows platform.

This project formed part of my University dissertation which can be found here.

Platform: Windows.

Source Code: GitHub.

Comparison of a HPC Splotch produced visualisation (left), and the Windows Previewer (right).

AI Companion Game


For a final year project whilst at university, I built a game within Unity 3D game engine to showcase the use of behaviour trees. The game features a dynamically created pathfinding grid with terrain movement costs, with AI using the A* algorithm, as well as full behaviour trees for a variety of AI types.

ReportProgramming AI for Games Report.

Source: Github.

Game Boy Advance Space Game


Space Game is a small side shooter that I developed for the Game Boy Advance. The focus of the project was to understand how to program within the restraints of a console. The game features custom artwork and music, and was written in C and ASM.

Language: C, ASM.

Platform: Game Boy Advance.

Source Code: Github.