Joseph C. Ash →

Game Design Portfolio




About Me





See Below for Projects ↓

Hello I'm Joe, a Computer Science Graduate

I have been making games casually for 5 years.


Previous work includes ↓


Current Personal Project

Currently developing a video game. I am working independently, creating artwork, designing and programming.

Game Jam Projects

I have entered several game james in the past, completing 5 published games on itch.io. I came 164th place out of 5 thousand people in LD46 & 8th in PB Game Jam 4.

University Dissertation

For my final year dissertation, I created a hierarchical pathfinding solution for a tower-based agent simulation.

Experimental Projects

I have experimented with Javascript, C#, Java and Lua languages. I have used Godot 3, UE4, Unity, Game Maker and Construct; making dozens of games over the years.

Pocket Life


Personal Project

Life Simulation Game


"Pocket Life" is a simulation game I have been working on since 2021. I started development just before my final year at university. The game is turn-based, and has simulated AI.

To document the development, I created a blog. Development has been swift, despite only working part-time. The game should be released Q1 2023.


Roles

→ Game Developer
→ Programmer
→ Art Designer



Artificial Intelligence

The game takes place in a town with simulated agents. Each agent has the ability to carry out actions.

This includes the ability to find a job, get married, have children and move around town. I developed a system of personalities and ambitions, which simulate differences in human temperament.



Character Generation

To generate characters in the town on startup, I created a tool called "Peep Creator".

After the initial characters have been generated, genetics at runtime take over. A system of gene inheritance creates new characters from existing characters when they have children.

Family Tree Generation

To create family relationships, the game generates a family tree at runtime.

I documented this here.

Hierarchical Pathfinding Solution


University Project

JavaScript A* and BFS Implementation


In my final year at university, I wrote a paper on A* pathfinding, comparing it to breadth-first search. The primary goal was to produce an efficient solution to a simulation game with 1000s of agents.

Inspired by Project Highrise and SimTower, I set out to use a hierarchy to section of the graph. This sped searches up by up to 4x.

After my initial goal, I created a finite-state machine for action selection. This created a time-based schedule for agents to follow.

The project was created fully in JavaScript.


Skills Used

→ JavaScript
→ Pathfinding Algorithms
→ Finite-state Machine Logic
→ Building Tools and UI



A* Implementation

The A* algorithm was used on a waypoint graph. Agents navigate in a 2D space, traversing the floors using lifts.

This was paired with an action selection system, and contained a buildable tower for dynamic graph generation.

Game Jam Games


I have been entering game jams since 2017. My skills as a developer have greatly increased. All of my jam games have been made independently by me, which includes: game design, artwork and programming (intermittently sound).

Ludum Dare 50 - 'Goblin Escaspe'


In April of 2022, I participated in the 50th anniversary of Ludum Dare. This became the 4th time I entered into LD. The game came 156th, scoring 25th in graphics.

The game is available here.

Skills Used

→ User Interface Design
→ Enemy AI
→ Task Queueing



Concept

The game is a real-time strategy, with resource management and role assigning.

You can build buildings and recruit people to work in them. Eventually, waves of goblins attack, becoming a quasi-tower defence game.

PB Game Jam 4 - 'Room Sneaker'


In August of 2020, I participated in the 'PB Game Jam'. The game came 8th place.

The game is available here.

Skills Used

→ Turn Based Strategy
→ Enemy AI
→ Puzzle Design



Concept

This game was my first take at turn-based strategy. I combined elements of stealth and puzzle to make a game that fit the theme of the jam.

Ludum Dare 46 - 'Fish Escaspe'


In April of 2020, I participated in the Ludum Dare 46. The game received 94th place in the fun category.

The game is available here.

Skills Used

→ Physics
→ Platforming



Concept

This game is a physics platformer, where you play as a fish in a tank. The aim is to escape out of the room.

There are 5 levels, each with their own theme.

Ludum Dare 43 - 'The Cure'


In December of 2018, I participated in my second game jam.


Skills Used

→ Art
→ Puzzle Design



Concept

This game is a puzzle game based on finding a cure. The objective is to test out diseases on patients to see which environments give immunity. The environment traits can then be used in the cure.

Ludum Dare 40 - 'Sheep Chaos'


In December of 2017, I participated in my first game jam, publishing my first game. For me, it started my new interest in game creation jams. I had no experience at the time and had just left secondary school.

From these beginnings my passion in game development was created.



Experimental Projects


I have experimented with tools, engines, languages, and techniques.



3D Experiment

I experimented with making the game Goblin Escape in 3D. This was a prototype.

LD51 Card Game

For LD51, I experimented by making a card game. I never finished the game, as it became too complex. The game had AI which would try to deceive each other and the player.

Bridge Physics

I made a bridge building demo using trigonometry. This clip shows a more rope like physics with smaller segments of bridge.

NetLogo

In my Artificial Life module in university, I experimented with cellular automata.

KS2 Educational Game

I made a learning tool for children. This tool was used in a class with KS2 students.

LD45 Element Game

For LD45 I was making an element puzzle game, where you try to get points from a having specific tiles. This game was never published.