Joshua Porter-Lightwood

BSc (Hons) Computer Science

Sudoku Game - C++

This project was to test my skill in C++. It was a new language to me and after some job hunting I had realised that it would be in my best interest to get some experience with it. So after some time researching the language and learning the difference in syntax and different techniques that could be used, I decided to work on a project with the language.

This project was to create the game sudoku in C++. At first I wanted to implement a random board generator, but after a few attempts, I realised this would take a lot longer than I would like to create. Thus I instead put 3 static boards in the program and allowed the user to choose between the three and the program instead places random blank areas within the board. All of this code has been uploaded to my GitHub, the link to this project is here.

Link to the GitHub code: Sudoku Game Code

Image 1

Image 2

Side Game (Pogventures) - Unity C#

This is a side project I started after university ended. My main focus was to keep my hand in programming while also learning how to better my code, examples of this being making my code more reusable and optimised.

The game can be downloaded on Itch.IO and I plan on improving it as time goes on. The sprites were done by my friend who offered to help.

Link to the game: Pogventures Itch.IO Page

Unreal Game - Unreal 5 Blueprints

To help broaden my horizons outside of the Unity engine which I have used throughout university, I made a small game using Unreal Engine 5. This was a demo to help familiarise myself more with Unreal Engine and it's use of node programming.

The game is a simple puzzle game where the player moves the cube onto the button and that results in a door opening, allowing the player to reach the end. An introduction tutorial was used to assist in creating the game, which provided the assets and additionally showed how to use animation and effects.

Image 1

Image 2

Image 3

Image 4

Tamagotchi - Java

This was a project developed during my first year of university. It was created using Java in a group of five.

The Tamagotchi changes it's mood and scenarios based on its current health stats, these consisted of happiness, hunger and tiredness.

There are certain points in the program where if the Tamagotchi has lost so much of a certain stat, it will enter the final choices which will determine if the user has to restart or is given another chance.

Link to the github: Tamagotchi Program

Image 1

Image 2

Image 3

Binary Tree - C#

This project was done during my second year of university. The project was made using C# in Visual Basic as a solo project.

The project involved creating a binary tree using different techniques to reduce the amount of code needed and also make ever growing programs. An example of this is recursion which involved a function calling itself until a certain condition was met, allowing the project to traverse down the binary tree easily.

Link to the binary tree github: Binary Tree Program

Image 1

Image 2

Slime Game - Unity C#

This was a project developed during my second year of university. It was created in a group of four people and between us we all implemented different aspects all while learning about Unity and its usages.

My core development was in creating the sprite, the level, the door and button, the movement and the ability to drop 'breadcrumbs'.

The breadcrumbs would be used to hold down buttons for the player so that they can progress through the level. If more time was given, the group would have opted to increase the amount of levels.

Link to the slime game github: Slime Game Scripts

Image 1

Image 2

Image 3

Solar System Project - Java

This project was created during my second year at university using Java. The program used a Java library called StdDraw, which allowed the program to create either 2D drawings or 3D objects.

The 3D element of this was used to create planets that would orbit around the sun. Each of the planets had their own size, texture, speed, orbit radius and moons.

Link to the solar system github: Solar System Files

Image 1

Image 2

Motion Tracking Interface - Python Anaconda

This program was created during my third year in university, with one other person working on it with me. The program was written in Python's Anaconda(Spyder) using cascades given by the university to assist with facial and hand tracking.

The program allows the user to use their face as the cursor, with leaning in being how the user selects buttons. The program is made to help people learn how to code in python, through the use of buttons the user can press and the program will tell them if the option was correct or not.

Link to motion tracking github: Motion Tracking Files

Image 1

Image 2

Image 3

Learning Algorithms Used

Blender - Blender

I have some slight experience in blender through university, where I was required to create a structure. The building created was a small tavern with a wooden bench outside. This helped me learn the basics of blender, as well as learn from a few mistakes made during the process.

Image 1

Image 2

VRC Worlds - Unity VRCSDK

As a side hobby, I like to create worlds in Unity for a game called VR Chat. I have made two worlds so far, with one being a test world to find out all the new functions added with the VR Chat package and a second world where I tried to make a rainy street.

The world is still a work in progress as of this moment, but its being improved slowly with help from packages specialised for building worlds (Probuilder).

Image 1

Image 2

Image 3

Websites - HTML CSS JS

I have created two websites, including this one. My first website was created in the first year of university. It involved creating two pages and trying to make them look as similar as possible to images provided to us, using HTML, CSS and Javascript with an additional library called JQuery. Using the knowledge I gained from that experience I created this website which uses the same procedures.

Also in creating this website I experimented with a few features I didn't get the chance to use in the university course, an example being the slide show pictures that are provided and a same page nav bar that alternates between the text.

Link to the website github: Robot Juice Files

Image 1

Image 2