Cormac
Somerville
Experience
Farsight Digital Solutions, Ventsys & Todd Workshop
Platform Architect | 5+ Years
I started work with Farsight Digital Solutions back when it was Todd Workshop, transitioning to Ventsys before becoming Farsight. I’ve learned a lot over my time with Farsight, below is a list of my common responsibilities day to day:
- Creating business systems for use within day to day use of busy companies.
- Developing customer facing SAAS subscription platforms for clients.
- Working with other developers and designers day to day to produce results.
- Integrating new systems with existing client tools such as Xero, Google Workspace, SharePoint, and other niche systems.
- Using a variety of tools such as Make.com, Airtable, Xano, AWS, Azure, REST APIs and more.
- Work as a project owner, meeting with clients and converting their ideas to actionable technical tasks.
Wordpress Development
I have experience in freelance wordpress development. I have been able to advance my skills in web development using wordpress, working on Woocommerce sites and using popular themes, namely Elementor and Divi.
I've worked on both front and back end solutions, creating new booking systems, connecting sites to inventory management software, creating pop ups, and marquee style banners.
CoderDojo
2+ Years
I was first introduced to CoderDojo at the end of 2014 when I started attending as a coder. After the pandemic they were starting back up and looking for mentors to help out. I managed to get back in contact with them and sign myself up as a mentor. It runs once a month at codebase in Stirling.
I've been able to help some great upcoming talent and see the interesting and wacky projects the kids come up with. It has also allowed me to develop my teaching skills which has been advantageous when helping teammates in game jams or university projects. As well as helping the children with their programming I get to speak with some other great mentors as we share some knowledge amongst ourselves, from students like me to senior developers there is always something interesting to be shared.
Awards
Playground Games Award for Game Technology
Awarded for an honours project in engine programming and technical innovation spanning maths, simulation, computer graphics, tools, haptics and real-time systems for games and beyond.
Alexander D G Kydd Prize
Awarded to the best student in second year (School of Design & Informatics) who achieves the highest level of performance and is deemed to be the best student overall.
A D D McKay Senior Prize
Awarded to the student in second year of the BSc (Hons) Computer Games Technology programme who achieves a high level of performance in a mathematical component of the programme.
David Potter Memorial Prize
Awarded to the student in 1st Year of the BSc (Hons) Computer Games Technology programme who achieves a high level of performance generally and is deemed to be the best student overall.
Hannah Maclure Prize
Awarded to a 1st Year student who achieves a high level of performance in a mathematical component of their course.
Portfolio
Key Skills
Below is a list of some of my projects, both personal and academic. You can find a list of things I worked on & some of the tech used in the grey bubbles and see more details by pressing the buttons below!
Performance Doesn't Grow On Trees - Honours
C++ Mesh Shaded Point Trees
My 4th year honours project looked to answer the question. How can point rendering optimisations be leveraged to minimise latency whilst preserving fidelity for rendering distant tree foliage within a video games context? To answer this, I've developed a 2 part application to generate point clouds from triangle meshes, and render these point cloud trees in a realtime environment.
Point rendered trees support, lighting and shadowing, continuous level of detail, deferred rendering, TAA, FXAA, with the ability to render alongside triangle meshes. The method allows for 1 million trees to render in under 8ms. (Rendering to GBuffer, RTX 4090)
Still Forgotten
Non-Euclidean Stealth | DARE Finalist
Still forgotten is a non-Euclidean stealth game where you are on a mission to discover your past, inspired by works from David Lynch. This game was developed for my professional project, working in a multidisciplinary team of 8. Alongside development we had regular deliverables, client meetings & feedback sessions, required documentation and a press kit to produce. I worked on various systems for this project, the most notable of which are listed above.
Squirrel Engine
3D C++ Game Engine
Squirrel Engine is a C++ 3D game engine. It is currently a work in progress solo project which so far uses scene graph representation with a node like object structure to create games. Similar to that of Godot. It makes use of Direct X 11 for rendering which is abstracted away for platform independence. Currently the engine supports scene serialization, physics, threaded loading, custom memory management for performance, and basic lighting.
Avalanche
End of Second Year PS5 Project
At the end of second year me and a team of three others were tasked to create a 2.5D game for the PlayStation 5 using the PS5 Devkits at Abertay. We used the university's own inhouse engine which was an educational experience, working with a changing engine which isn't mainstream. This project was fully programmed in C++ using an Entity Component System for object management, ImGui for the in-game GUI and Box2D for in-game physics. I worked alongside 3 other developers using Git source control as well as a development plan...
Blotter
Online Multiplayer Godot Bingo
Blotter is an online multiplayer bingo game for 2-4 players. I wanted to take on a small challenge over the summer by creating a simple online multiplayer game. This solo project had me working on all corners of game development, most of the assets for the game were produced by myself. The game was created in the Godot engine using their multiplayer API, adapted from the ENet library. This is my first complete project in Godot and I have been able to transfer my knowledge from work with other engines and use it to accelerate the process of learning how to use Godot...
3rd Year Graphics Project
DirectX11 Based Custom Renderer
For my third year graphics project I produced a customer renderer using DirectX11. It was able to support shadow mapping for spot, directional and point lights, take in and apply PBR textures like normal maps, display a heightmap and tessellate based on user distance, support multiple lights and shadows, apply post processing like bloom and DoF, and more.
Masquerade Match
Global Game Jam 2026
Masquerade Match is a single player game where wordle meets Where's Wally. You play as a detective spying in on a masquerade ball, but during the night you get tip offs of upcoming crimes. You must find the criminal using the security cameras and guessing patrons of the ball to see which features they share with the robber. I worked with an interdisciplinary team of 5 others to produce this game. I mainly worked on the viewport and camera work, the phone dialogue system, level creation & scene setting and the final tie together.
About
Hi There, I'm Cormac, a 21 year old student at Abertay University currently in my fourth year studying BSc Computer Games Technology and working part time at Farsight Digital Solutions.
I have been awarded the David Potter Memorial Prize , the Hannah Maclure Prize, the Alexander D G Kydd Prize and the A D D McKay Senior Prize for my first and second year academic performance as well as the Playground Games Award for Game Technology for my fourth year honours project.
Outside of work I enjoy cooking, often hosting friends over for dinner, and like to play tennis and golf. I am also currently on the committee for the university tennis club, being incharge of organising social events.
