UNIVERSITY PROJECTS

All projects below are from my first year of university.
More will be added as time goes on!

Games Programming

Fruit Ninja (18th November, 2020)

Games Programming

Asteroids (5th December, 2020)

Games Programming

2D Games Development (26th January, 2021)

Thinking Like A Programmer

C++ Portfolio Assessment CWK1 (6th February, 2021)

Game Scienece

Bouncy Ball (17th February, 2021)

Games Programming

3D Games Programming Task (23rd February, 2021)

Thinking Like A Programmer

C++ Portfollio Assessment CWK2 (16th March, 2021)

Game Scienece

2nd Small Game Project (18th March, 2021)

Game Scienece

3rd Small Game Project (22nd March, 2021)

Requirements and Analysis

Games Coursework (5th April, 2021)

Thinking Like A Programmer

Game Science Project (8th April, 2021)

Games Programming

3D Games Development (22nd April, 2021)

Games Programming

GAMES PROGRAMMING

In this module I was introduced to C++ and was taught the basic concepts / fundementals of GFC (a game engine provided by Kingston University). We first got comfortable with C++ then quickly jumped into how a few example games were made using GFC/GTEC, and how we'd make our own.

FRUIT NINJA

Available from: 17th November 2020
Submitted: 18th November 2020
Grade: 100% | 10/10
(git coming soon(maybe))


[Partially pre-developed]
In this assessment we had to complete a half finished project file called "fruitninja". Our task was to implement additional sprites, make them randomly fall from the top of the screen, add a game over condition, add sound effects and reset all variables and objects on the "F2" key press.

ASTEROIDS

Available from: 1st December 2020
Submitted: 5th December 2020
Grade: 100% | 40/40
(git coming soon(maybe))


[Partially pre-developed]
Another assessment where we had to complete a half finished project. For this one we had to implement randomly spawning asteroids, a "wrap around" effect (so the asteroids don't leave the screen), object collisions, a win conidtion, explosion effects, another level and asteroids breaking apart.

2D GAMES DEVELOPMENT

Available from: 16th December 2020
Submitted: 26th January 2021
Grade: 90% | 90/100
(git coming soon(maybe))


[Used "Asteroids" as starting template]
This was our first attempt at creating a unique game in C++ using the GFC game engine. We were allowed to build from the ground up or use existing project examples as a starting point, I used the previous "Asteroids" project as a foundation for my game. In summary, my game is a space shooter/fighter game. You survive 3 rounds of UFO enemies before the final boss round, items can be collected between rounds. This game was really enjoyable for me to develop, debug and play! The background music I used in this game was given to me by the discord user Baby Driver#1879. I named this game "Space Attack!".

What we were marked on:
Game Complexity - new mechanics, new features, new levels.
Game Coding - using sprite lists, game logic, handling animations, use of functions.
Game Appearence - art work, polish, animation sequences, sound effects.

3D GAMES PROGRAMMING TASK

Available from: 23rd February 2021
Submitted: 23rd February 2021
Grade: 100% | 50/50
(git coming soon(maybe))


[Partially pre-developed]
Another assessment where we had to complete a half finished project, however, this time it was a 3D games project. After being introduced to a new but very similar game engine, GTEC, we were tasked with completing this project into a playable state while also meeting all the listed requirements. Those requirements were:
• Adding a static box model
• Adding random patches of grass to the world
• Adding coins and animating them
• Collecting and delivering coins (collision)
• Adding cobras and animating them
• Hiding cobras until collided with
• Making cobras attack the player when in range
• Adding a python that chases the player
• Restarting the game properly on "F2" key press.

3D GAMES DEVELOPMENT

Available from: 5th March 2021
Submitted: 22nd April 2021
Grade: 90% | 90/100
(git coming soon(maybe))


[Used "Defender 3D" as starting template]
Our first attempt at creating a unique 3D game in C++ using the GTEC game engine. Similarly to our 2D games development assessment, we were allowed to build from the ground up or use existing project examples as a starting point. I used the "Defender3D" project as a foundation for my game. In summary, this is a survival game with rouge-like elements implemented into it. You survive waves of enemies whos aim is to break and damage the house, which you are trying to defend. However, if you get in the enemy's way, they do target and attack you instead. Each round the enemies grow stronger in speed, health and numbers. You also get a new turret to place down to help defend your home. Items are randomly dropped from enemies, each item will have a different affect on the player, for example, one item can increase your damage, and another can increase your movement speed. The background music I used for my game was given to me by the discord user Onion666#5043. I named this game "Risk of Infection".

We were marked on the same areas as the previous "2D Games Development" assessment (game complexity, game coding, game appearence).

Thinking Like A Programmer

THINKING LIKE A PROGRAMMER

In this module I was introduced to JavaScript and HTML, however, after the second unit, the rest of the teaching was C++ based. Unfortunately, we didn't have a heavy focus on creating games, like we did on other modules, we spent more time on learning the essentials of C++.

C++ PORTFOLIO ASSESSMENT CWK1

Available from: 25th January 2021
Submitted: 6th February 2021
Grade: 95% | 95/100
(git coming soon(maybe))


[Developed from scratch]
This assessment was quite difficult, it took me a few tries and hours of debugging to come to the final result. It was my first time attempting inheritance in C++, which is what this assessment is testing us on, so there was a load of trial and error all throughout the development of this project.

Our task was to create a property management "game", where the player can choose to play as the seller or buyer. The buyer is competing with other buyers who are after the same property as you, you must pay the highest price while also managing your money. The winner is the one with the most properties (out of 5). The seller is selling 5 properties, their aim is to make the most money. Each property's price is decided by the player, aim too high and it wont sell, aim too low and you won't make profit. The task required that we display and keep track of all propety information, such as property type, price, years remaining of lease etc.

C++ PORTFOLIO ASSESSMENT CWK2

Available from: 26th February 2021
Submitted: 16th March 2021
Grade: 94% | 94/100
(git coming soon(maybe))


[Developed from scratch]
This assessment was also quite difficult, and again, took me a few tries and hours of debugging to come to the final result. This time it was due to confusion of what the task was and how I was supposed to approach it. I ended up giving it my best guess and attempt and thankfully it all worked out.

Our task was to create a virtual pet "game" where the player is able to choose their own pet from a range of available pets. the pets can then be interacted with by feeding and playing with it. The player can buy more then one pet and is able to switch between interacting with them. The system should create an account for every customer and keep a record of their name, address, age and all their pet information. The system should also give the customer a discount based on their age. For example, if they were younger than the age of 14, they qualified for 25% off, if they were older than 70, than they qualified for 50% off.

Game Science

GAME SCIENCE

This module taught me mathematics and physics, which is essential for computer game developers. This subject was very difficult for me as my maths/physics history is not one to be proud of! I pushed through and came out on top in the end, obviously. A lot of our assessments were exam styled, assessing our understanding of the maths or physics of that topic.

BOUNCY BALL

Available from: 13th February 2021
Submitted: 17th February 2021
Grade: 70% | 70/100
(git coming soon(maybe))


[Developed from scratch]
This project was small and very straight forward, it surprisingly didn't take me long to finish it. We had to make a ball bouncy off the floor and walls, applying math and physics to get the bounce and rebound elements performing correctly.

2ND SMALL GAME PROJECT

Available from: 6th March 2021
Submitted: 18th March 2021
Grade: 70% | 70/100
(git coming soon(maybe))


[Partially pre-developed]
This project was also small and quite straight forward. The project was already partially complete, we just had to complete the rest of it and get it fully functioning. We could choose from a variety of incomplete projects, I chose "Cannons". My task for this project was to make it so two opposing cannons can aim and shoot at each other, with a wall being in-between them. I had to make sure the turns, the cannon ball's physics and the wall were all setup correctly.

3RD SMALL GAME PROJECT

Available from: 6th March 2021
Submitted: 22nd March 2021
Grade: 75% | 75/100
(git coming soon(maybe))


[Partially pre-developed]
This project was the most difficult (but fun) one of this module. The project was "Platform games" and my task was to make a platformer game, this project was also less pre-developed than others, so I had to almost start from scratch. I had to make the player move, jump, climb, die from fall damage and have particle effects. Also had to add in game objectives, consumables and hazards, like rolling enemies and spikes. The whole project was quite challenging for me but it paid off as it was a huge help in my next game science project.

GAME SCIENCE PROJECT

Available from: 11th March 2021
Submitted: 8th April 2021
Grade: 89% | 89/100
(git coming soon(maybe))


[Used "2nd small game project" as starting template]
I used the "3rd Small Game" project as a starting point for this one. I'm very happy with how this game turned out, it's actually really fun to play (in my experience) and has interesting gameplay mechanics behind it. Very interested in fully developing this game in the future.

In the game I named "DELIVERYBOT", you play as a little robot who's purpose is to deliver packages to customers on time. Failure to deliver the package before the "expected delivery time" will result in a fail, restarting the level. Each level starts you off some distance away from the package, you first have to collect the package then deliver it. Once you've picked up the package, your movement speed and jump height will drastically be reduced, making completing the level harder or near impossible without some strategy. You can choose to throw the package to gain your speed and jump height back, or to defend yourself from enemies. This may all sound quite confusing on paper, but the gameplay below speaks for itself!

Requirements and Analysis

REQUIREMENTS AND ANALYSIS

This module was group based, so we worked in a group of 3-5 all throughout this course. The module focues on planning, principles, using techniques and tools to develop software and or game prototypes.

GAMES GROUP COURSEWORK

Available from: 25th March 2021
Submitted: 5th April 2021
Grade: 90% | 90/100
(git coming soon(maybe))


[Developed from scratch]
For our group project, we decided on making a card-based game, similar to "Slay the Spire". We planned out the story, characters, art and how the game would play. As this was only a prototype, we were only required to complete a single level for the assignment. Unfortunately, we had issues with one of our members (the programmer), so I had to fill in for him and code the game to a playable state with the time we had left. I was allowed to use Unity (C#) to create our game, something I was thankfully already familiar with.