About Me

Hi! Welcome to my online portfolio. My name is David and I'm currently a Software Engineer at Improbable.


» Transcendent


Transcendent is a multiplayer orientated space simulation game like X-Wing vs Tie Fighter and Freespace. The player is based inside the cockpit of his or her own personal fighter-class ship, which is completely constructed from an assortment of parts and customised to their own needs or play styles. Thanks to a seamless universe engine, battles are placed in a wide range of space environments from beautiful sunrises on the surface of a planet to harsh derelict debris fields or dog-fighting inside the ring system of a gas giant. All the game play is dictated by Newtonian physics; changing direction will require the ship to fire various thrusters accordingly to adjust it's trajectory, and explosion shock waves will be felt.



In this video I showcase the scale of the current engine. All the objects such as the spaceship, moon, planet and parent star are all realistically scaled, ranging from a few hundred metres to millions of KM seamlessly with no loading screens. The video has a number of artifacts such as z-fighting, which I have now fixed by using logarithmic z-buffering rather than standard perspective projection, which isn't great for huge game worlds.

Here is a video of an older tech demo I wrote back in August 2012 where I had created a basic planetary engine based on a cube which has been subdivided a number of times and shaped as a sphere. I chose to implement it with this primitive rather than an alternative such as an icosahedron due to how easy it is to extend well known algorithms such as ROAM or Geomipmapping due to the terrain having 6 effectively flat sides. My approach used a quad-tree where each node represents a patch of 5x5 quads.

» Software Rasteriser

A software rasteriser library written in C to understand how modern graphical pipelines work. Inspired by the design of legacy OpenGL. Supports vertex and fragment shader programs using function pointers. Can render output to a window or to a terminal.

Github: www.github.com/davedissian/rasteriser-lib


» Prototypes and other projects


I can be reached through email at cv [at] davedissian [dot] com

Begone, spambots!