Ultimate PC Challenge is a puzzle and problem solving game based on a simulation of a Windows desktop. Think outside the box and use different hints and tricks to progress through multiple levels, all while the narrator makes remarks and you are pressured with a Windows update!
Langton's Ant Simulation & Procedural Art Generator
Langton's Ant simulation & procedural art generator Using the base principle and rules of Langton's Ant, this program can generate amazing patterns that seem extremely chaotic. Many parameters are exposed to allow tweaking and generation of different images. Check out the gallery below to see what is possible!
Langton's Ant simulation on full screen adjustable size grid
WASD / Arrow key camera panning
Mouse wheel camera zooming
ImGui UI for easy adjustment of simulation parameters
Square mode, hexagon mode & pixel mode (each pixel is a single grid element)
Many, many options for adjusting visualisation (blending, interpolation, colour control, grid lock etc.)
This is my final year University project. This project lasted 16 weeks and was worked on with a team of three programmers and three artists. My involvement included project manager and lead programmer. I worked on the core game design and as well as many systesm includling: monster wave system, AI, shops, combat system, gibs, particle effects, the radar, networking and more. We presented Swarm at our final exhibition day at Media Design School and received excellent feedback.
"Swarm is a third person, wave-based survival shooting game. Supporting local co-op from 2-6 players, you will fight against endless onslaughts of vicious creatures! Protect your life support, provide power to defenses and vendors in order to survive in this amazing sci-fi experience!"
Cloth Physics Simulation [C++]
This is a cloth physics simulation I made in 2014 for Media Design School. The simulation was created with C++, DX10 rendering and verlet integration. The (physics) paper taught us techniques for real time physics calculations, Box2D, 2D / 3D collisions, spring systems and more. This particular project was to create a fully modifiable 3D cloth with realistic physics, collisions with several different objects (sphere, capsule, pyramid, floor), fan & wind system, cloth burning and cloth ripping. The project is rendered with simple wireframe / lines for easier visualisation.
This game was developed for a networking paper during my Software Engineering degree. The game features core gameplay of the classic game "Snake". Players move around with arrow keys trying to avoid each other and gather food to gain score. Eating food makes the players snake longer making it more difficult. The last person alive wins!
The game features up to 16 person networked gameplay (local) with a hosting, lobby system and a server browser. The networking was programmed using RakNet and was my first experience with programming a game with networking. Prior to this, the only networking I had faced was creating a simple chat program for the same paper.
Typing Language Game (prototype) [C++, DirectX 10]
This game was a short prototype I created with a small team over 2 weeks. The brief asked us to create a prototype of a game that could be used to teach or assist someone in learning a new language. The brief emphasised it feel like a game and the learning of the language be quite subtle. We created a tug of war / tower defense style game where the currency is the player's own knowledge. The idea being the game will ask the user various questions with different difficulty levels in the chosen language. The better they know the language, the more successful they will be at the game! All the questions and answers are fed by text file allowing for easy modification and handling of any language. Rendered using DirectX 10 quads.
This program generates scrabble board layouts from a random word list. The idea came to me when I was at a friends place and saw their shower curtain was a giant sprawl of connect scrabble words. I added multi-threading, a scoring system (generates multiple boards, rates them using a fitness function and then picks the best) and a camera movement system. It's pretty simple and could definitely be improved to make more dense layouts. Rendered using DX10 sprites (old 2D engine).
This project was created for my Advanced Tools Development paper in 2014 for Media Design School. This aim of this project was to learn lua scripting. This was demonstrated by creating a C++ to lua interface for Sudoku which used lua to solve the Soduku puzzle. The solver uses a brute-force recursive algorithm and passes the final result back to C++ through an array.
This project was for a programming paper which focused on data structures. Solitaire is a great game to demonstrate the use of different data structures such as stacks. This project was created in 2013 in one day with one other classmate.