Harry Vallance - Portfolio Website

Hello

There!

Hi! I’m Harry Vallance, a Gameplay and Tools Programmer with a master's in Computer Games Programming and a First-Class Honours bachelor's degree in the same field. I’m passionate about game development and constantly learning, with experience in both gameplay programming and tools creation, such as a narrative design tool for a horror game project.

On this site, you'll find information about the projects that I have had the pleasure of working on as well as the tools and skills I use to complete these projects.

Thank you for visiting!


Languages
Engines / Frameworks
Tools
  1. C#
  2. Python
  3. C++
  4. Java
  1. Unity
  2. Unity's Graph View
  3. Unreal Engine
  4. WPF
  1. Git
  2. GitHub
  3. Plastic SCM
  4. Trello
  5. Rider
  6. Adobe Photoshop
Languages
Engines / Frameworks
  1. C#
  2. Python
  3. C++
  4. Java
  1. Unity
  2. Unity's Graph View
  3. Unreal Engine
  4. WPF
Tools
  1. Git
  2. GitHub
  3. Plastic SCM
  4. Trello
  5. Rider
  6. Adobe Photoshop
Video Game Controller

Projects

Narrative Weaver Project Card Cover Image

Narrative Weaver

Narrative Weaver - Design Tool

Engine Used: Unity

Language Used: C#

Role: Tools Programmer

Purpose: University Project

Collaboration Type: Solo

CLICK TO LEARN MORE

Balkan Horror Tales Project Card Cover Image

Balkan Horror Tales

Engine Used: Unity

Language Used: C#

Role: Programmer

Purpose: University Project

Collaboration Type: Group

CLICK TO LEARN MORE

Pogo Parkour - Recipe for Adventure Cover Art

Pogo Parkour - RfA

Engine Used: Unity

Language Used: C#

Role: Gameplay Programmer

Purpose: University Project

Collaboration Type: Group

CLICK TO LEARN MORE

Staport Control Cover Art

Starport Control (WebGL)

Engine Used: Unity

Language Used: C#

Role: Developer

Purpose: University Project

Collaboration Type: Solo

CLICK TO LEARN MORE

Procedural Terrain Generation Project Card Cover Image

Procedural Terrain Generation

Procedural Terrain Generation

Engine Used: Unity

Language Used: C#

Role: Developer

Purpose: University and Individual Project

Collaboration Type: Group

CLICK TO LEARN MORE

L-System Renderer Project Card Cover Image

L-System Renderer

L-System Renderer

Engine Used: WPF

Language Used: C#

Role: Tool Programmer

Purpose: University Project

Collaboration Type: Solo

CLICK TO LEARN MORE

Advent of Code Project Card Cover Image

Advent of Code Projects

Language Used: Python

Role: Programmer

Purpose: Personal Project

Collaboration Type: Solo

CLICK TO LEARN MORE

Narrative Weaver - Narrative Design Tool

Engine Used: Unity

Language Used: C#

Role: Tools Programmer

Collaboration Type: Solo

Purpose: University Project

Date: 08/09/2024

Project Information

  • Visual based narrative design tool to aid designers in implementing a game’s narrative within engine
  • Noticed a gap in the market for an advanced narrative design tool integrated in a powerful engine
  • Used Unity Graph View API to create the tool
  • Tool is based around planning tools like Miro to make the tool easier to use for designers
  • The tool helps reduce some of the complexities associated with branching narratives within games
  • Tool was used to implement the narrative found within Balkan Horror Tales
  • Planning to release the tool on the Unity Asset Store at a later date

Responsibilities as a Tools Programmer:

  • Writing efficient, maintainable code.
  • Creating user-friendly interfaces for the designer to use without altering the code.
  • Ensuring the tool would integrate seamlessly with existing systems
  • Providing technical support during integration within the game
  • Using feedback to improve existing and implement new features
Narrative Weaver Screenshot
Narrative Weaver Screenshot
Narrative Weaver Screenshot
Narrative Weaver Screenshot
Narrative Weaver Screenshot

Balkan Horror Tales

Engine Used: Unity

Language Used: C#

Role: Programmer

Collaboration Type: Group

Purpose: University Project

Date: 08/09/2024

Project Information

  • First-person narrative-driven horror game, where the player’s choices impacts the outcome of the story.
  • Developed using Unity 2022 and C# with asset packs for the art.
  • Sole programmer on the project, collaborating with an aspiring game designer.
  • Completed as part of my Final Project with a colleague.
  • Gained experience in working within a team and focusing on implementing the various systems and mechanics.
  • Developed Narrative Weaver alongside the project to aid in implementing the narrative for the game.
  • Used a studio-like workflow, focusing on efficient and maintainable code.
  • Game is available to play on itch.io with source code due to be released.

Responsibilities as a Programmer:

  • Writing efficient, maintainable code.
  • Using source control for project management.
  • Collaborating with a game designer to implement mechanics and systems.
  • Working to deadlines.
  • Maintaining a log of work completed for reference within thesis.
  • Creating user-friendly interfaces for the designer to use without altering the code.
Balkan Horror Tales Screenshot
Balkan Horror Tales Screenshot
Balkan Horror Tales Screenshot
Balkan Horror Tales Screenshot
Balkan Horror Tales Screenshot

Pogo Parkour - Recipe for Adventure

Engine Used: Unity

Language Used: C#

Role: Gameplay Programmer

Collaboration Type: Group

Purpose: University Project

Date: 02/01/2024

Project Information

  • Third-person platformer where the player uses a pogo stick to find missing ingredients for a recipe.
  • Developed using Unity 2022 and C# with asset packs for the art.
  • Sole programmer on the project, collaborating with an aspiring game designer.
  • Completed as part of the Approaches to Play module coursework with a colleague.
  • Gained experience in working within a team and focusing solely on implementing gameplay mechanics.
  • First exposure to a studio-like workflow, focusing on efficient and maintainable code.
  • Project available on GitHub and itch.io

Responsibilities as a Gameplay Programmer:

  • Writing efficient, maintainable code.
  • Using source control for project management.
  • Debugging and fixing code issues.
  • Collaborating with a game designer to implement mechanics.
  • Creating user-friendly interfaces for the designer to use without altering the code.
Pogo Parkour Recipe for Adventure Screenshot
Pogo Parkour Recipe for Adventure Screenshot
Pogo Parkour Recipe for Adventure Screenshot
Pogo Parkour Recipe for Adventure Screenshot
Pogo Parkour Recipe for Adventure Screenshot

Starport Control (WebGL)

Engine Used: Unity

Language Used: C#

Role: Developer

Collaboration Type: Solo

Purpose: University Project

Date: 02/01/2024

Initial Release

  • Coursework done for the Games Programming 1 module
  • Implemented the core gameplay loop
  • Designed five levels
  • Designed three different ships each with their own characteristics

Personal Improvements

  • Reworked the ship movement to improve gameplay and add polish
  • Fixed bugs which affected gameplay
  • Improved visuals to make it more cohesive
  • Source code available on GitHub
  • Game can be played in the browser on itch.io

Future Work

  • Porting the game to mobile
  • Designing more levels
  • Designing and implementing new mechanics

Responsibilities as a Developer:

  • Designing levels
  • Designing and implementing mechanics
  • Designing the core gameplay loop
  • Using source control for project management.
  • Debugging and fixing code.
Starport Control Screenshot
Starport Control Screenshot
Starport Control Screenshot
Starport Control Screenshot
Starport Control Screenshot

Procedural Terrain Generation

Engine Used: Unity

Language Used: C#

Role: Developer

Collaboration Type: Group

Purpose: University and Individual Project

Date: 30/04/2024

Procedural Terrain Generation Comparison

  • Coursework for the Mathematics for Games and V/AR module, completed with a partner.
  • Compared procedural terrain generation techniques: mid-point displacement and Fast Fourier Transform (FFT) filtering.
  • Developed using Unity 2022 and C# to showcase both techniques.
  • Personally implemented the FFT algorithm and mesh generation.
  • Produced a paper comparing both techniques.

Personal Improvements to the Project

  • Revisited the project in personal time to improve upon the original implementation.
  • Enhanced UI and added mesh colouring for more visually appealing terrain.
  • Implemented additional generation features inspired by academic papers.
  • Focused on creating a user-friendly application (FFT only, no longer comparing techniques).
  • Original version available on GitHub.
  • Improved version available on GitHub and itch.io.

Responsibilities as a Developer:

  • Writing efficient and maintainable code.
  • Using source control for project management.
  • Debugging and fixing code.
  • Working to deadlines and following a project brief.
PTG Screenshot
PTG Screenshot
PTG Screenshot
PTG Screenshot
PTG Screenshot

L-System Renderer

Engine Used: WPF

Language Used: C#

Role: Tools Programmer

Collaboration Type: Solo

Purpose: University Project

Date: 21/01/2024

Project Information

  • Developed using Windows Presentation Foundation (WPF) and C#.
  • Created as part of the Mathematics for Games and V/AR module for MSc Computer Games (Programming).
  • Application renders Lindenmayer systems (L-systems).
  • Features include loading presets, stepping through system iterations, creating/modifying custom systems, and adjusting system display settings.
  • Further personal development included bug fixes and quality of life improvements after the coursework submission.
  • Both versions of the application are available on GitHub.

Responsibilities as a Developer:

  • Writing efficient and maintainable code.
  • Using source control for project management.
  • Debugging and fixing code.
  • Meeting deadlines and working from a project brief.
L-System Renderer Screenshot
L-System Renderer Screenshot
L-System Renderer Screenshot
L-System Renderer Screenshot
L-System Renderer Screenshot

Advent of Code

Language Used: Python

Role: Programmer

Collaboration Type: Solo

Purpose: Personal Project

Date: 2021, 2022, 2023

About Advent of Code

  • Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels. The puzzles can be completed within any programming language the user likes. You can find more information about Advent of Code on their about page.
  • I have participated in this challenge for the last three years in which I’ve used Python as my language of choice.
  • If you want to take a look at my solutions for you can find them all on my GitHub: 2021, 2022, 2023.

Contact Me

Controller taken apart

Get In Touch

If you would like to look at my projects in more detail or have some questions you would like to ask me then please don't hesitate to get in touch!

You can reach me by sending me an email or sending me a message on LinkedIn