About Me
I'm a keen Games programmer with experience in C++, OpenGL and Unity. I am most interested in being a Physics, Gameplay, Engine or Systems Programmer but am always open to gaining experience in other roles and expanding my skillset.
I also have experience in a range of other languages and several IDEs. I am currently working at Creative Assembly as an Associate Build Engineer. I have completed a Masters of Computer Science in the specialisation of Games Engineering where I achieved a First class with Honours mark. If you would like to get in contact with me then my contact information is located at the bottom of the page.
I enjoy drone flying, archery and making any type of projects, for example I have created my own shelves, coffee table and containers for things in my room. I also provided my coding knowledge for a project of my brothers to make an authentic functioning PipBoy from the fallout franchise, where he designed and 3D printed the shell and I got the hardware and made the software to feature in it using a Raspberry Pi.
Work Examples
timelineWork
Some of these projects won’t appear on GitHub as they were university projects and are not allowed to be published publicly in accordance with the university’s rules to prevent plagiarism, if they would like to be seen please contact me.
Fourth Year Dissertationplace
Fourth Year (MComp Dissertation) - Unity C#: An Investigation into Machine Learning for Racing Game AI (2022):
timeline2022
- Fourth Year (MComp Dissertation) - Unity C#: An Investigation into Machine Learning for Racing Game AI, where I created a project in Unity using the ‘mlagents’ package and several tracks to evaluate the machine learning model and how effectively an AI can adapt to several difficulties of racetracks.
- C++ and OpenGL: Team project - Splatoon style networked game. I worked as a physics, engine and gameplay programmer on the project. I worked on a variety of optimisations and features, including:
- A 1st person camera controller;
- Spatial acceleration Octtree and other optimisations;
- Enabling objects to go to sleep when they are at rest;
- An updating loading screen when going into a level;
- Putting real game assets into the engine (Evil Genius 2 assets which were provided by Rebellion);
- Capsule object collisions with other object shapes;
- And more
timeline2021
- C++: Screwball Scramble Physics Engine demo - Digital version of the tabletop game screwball scramble to demonstrate a physics engine
- C++ and OpenGL: Tropical island scene - featuring skeletal animation, shaders, multiple camera viewpoints, post processing effects and more
- C++: Password Encrypter and Cracker - learning to take more advantage of pointers, references and advanced language features
- Third Year (BSc Dissertation) - Unity C#: Creating a Procedurally Generated Near-Infinite Natural Landscape with a Steady Frame Rate (2020-2021)
- GDevelop: Top down survival shooter game - PLAY HERE
- C++: Platformer type game built from the ground up around a university provided framework with a custom engine
2020timeline
- Unity C#: Game graphical environment project
- PHP, Bootstrap, Twig, RedBean and a university provided web development framework: A GitHub style website to store user files in projects
- C++: Custom optimised Vector3D class which could be used as part of a complete physics engine aswell as a Bin class to deal with memory handling and array creation of Vector3Ds
- C++: Collision detection between different shapes, in this project only squares and circles
- Java: Northumbrian Architecture app (2019-2020)
timeline2019
- C: MINIX OS programming
- Java: Telephone directory with GUI
- HTML, CSS and JavaScript: Introduction to web design
- Assembly language: Check bit generation for a 16 bit binary byte
- Assembly language: Error correction of a 16 bit binary byte
- Java: Combining PC Game stores into 1 GUI (Beta, will be updated)
- C++: 2D Adventure Game (First game and game engine) (Work ongoing) - Videos of game running are here
2018timeline
- Python: Made a “Fallout” styled GUI to be used in a raspberry pi and 3D printed Pipboy with hardware integration that changed the GUI menus depending on which dials were rotated or buttons pressed (Work ongoing) - Images and Videos of this project are here
- Java: Gross and Net Income graph
- Java: Sandwich shop build a sandwich menu
- HTML and CSS: Braille Website
timeline2017
- Python: Cat food dispenser, code controlled motors to open and close the door after a set time - Images and demonstration videos are here
- Python: Snake with AI, GUI and SQL database - Videos of running are here
- Python: Automatic snake that plays itself - Videos of running are here, can also be seen to the left
- Python: A basic school system for teachers and students (to learn OOP)
Qualifications
mapSep 2018 – June 2022: Newcastle University
Studied for a Masters degree in Computer Science with a specialisation in Games Engineering. This was a 4 year course, throughout all years I achieved a First class mark and graduated with a First Class with Honours.
Listed in the tables below are the modules and the percentage grade I got in them respectively.
Fourth Year:
| Module: | Percentage: |
|---|---|
| Project and Dissertation for MComp (C# Unity) | 76 |
| Advanced Programming for Games (C++) | 90 |
| Advanced Graphics for Games (C++ and OpenGL) | 69 |
| Advanced Game Technologies (C++) | 89 |
| Engineering Gaming Solutions within a Team (C++) | 84 |
| Security Analysis of Complex Systems | 62 |
Third Year:
| Module: | Percentage: |
|---|---|
| Project and Dissertation in Computing Science (C# and Unity) | 78 |
| Web Technologies (PHP, Bootstrap, Twig, RedBean, a University provided framework, HTML, CSS, JavaScript) | 65 |
| System and Network Security (C) | 77 |
| Programming for Games (C++) | 98 |
| Gaming Simulations (C++) | 95 |
| Graphics for Games (C# and Unity) | 83 |
| Computer Games Development (GDevelop) | 100 |
| Cryptography | 94 |
| Introduction to Human-Computer Interaction | 90 |
Second Year:
| Module: | Percentage: |
|---|---|
| Algorithm Design and Analysis (Java) | 82 |
| Operating Systems (C and also use of Minix) | 86 |
| Computer Networks (C) | 87 |
| Database Technology (SQL) | 90 |
| Software Engineering (VDM) | 76 |
| Software Engineering Team Project (Produced an android app with documentation and advertising website) | 79 |
First Year:
| Module: | Percentage: |
|---|---|
| Programming 1 (Java) | 78 |
| Programming 1 (Java) | 72 |
| The Software Engineering Professional | 70 |
| Computer Architecture (Assembly Language) | 82 |
| Mathematics for Computer Science | 80 |
| Website Design and Construction (HTML, CSS and JavaScript) | 80 |
Sep 2011 – June 2018: Harrogate Grammar School:place
Sep 2016 – June 2018 A-Levels
| Subject: | Grade: |
|---|---|
| Maths | A |
| EPQ (Extended Project Qualification) (Project in Computing and Product Design) | A |
| Computer Science | B |
| Physics | C |
Sep 2011 – June 2016 GCSE’s
| Subject: | Grade: |
|---|---|
| Computing | A* |
| Product Design | A* |
| Maths | A* |
| Biology | A |
| Chemistry | A |
| Physics | A |
| R.S | A |
| German | A |
| English Literature | B |
| English Language | B |
Sep 2011 – June 2016 BTEC’s
| Subject: | Grade: |
|---|---|
| CDMP (Creative Digital Media Production) | Distinction* |
timelineAdditional Skills and Achievements
- Competed in several UK Maths challenges in high school, each time earning a certificate for being in the top percentage of Maths students in Scotland, England and Wales.
- Took part in an IBM event in sixth form, this deepened my communication and adaptability skills.
- Was part of the engineering society at sixth form where we did maintenance on the school’s electric powered race car that competes in events. We also took part in the F1 in schools challenge where we designed and made a small CO2 powered foam car.
- In year 11 and sixth form I became a school prefect, which meant I was responsible for looking after the younger years in an area.
- In year 10 I was my form’s charity representative, where I had to organise all our charity events.
- In year 10 I received the award for being the best in my year at Creative Media
- In year 7 I received the award for being the best in my year at English
Documentation
Find my CV below. If for any reason you cannot see the document in the browser, please use the link below to download the document.
Mark Lumb CV
If you cannot access the above document for any reason, click here to download the documentation.
