NES abuse.
group project
6502 Assembly / hardware interaction / Systems Programming / Memory
Optimization
group project
6502 Assembly / hardware interaction / Systems Programming / Memory
Optimization
research
custom 3d rasterization / terrain construction / data structures
research collection
pipeline experimentation / custom triangle hit test / resource handeling / raytracing /
rasterization / vulkan
group project
systems / gameplay / unity / tools / tech support
I was the main programmer on cattlefield with 3 artists, a generalist and a sound designer, responsible for creating the tech-doc, project setup, technical suport and the majority of the programing.
- scenes
- ui
- player joining
- player count adaptations
- inventory
- item usage
- item spawning
- events
- game progression
gamejam - 2 days
procedural animation / gameplay / godot (/ art)
we were a group of 3 programers, one artist and a sound designer.
With a time crunch of just 2 days we each woked on our own sections, mine was the enemies as I wanted to try my hand at proceduaral animations and behaviour.
procedural animation: making use of inverse kinimatics and goal positions, the arms and legs of the enemies continuously "step" as the enemie moves through the level.
behaviour: For the sake of game design, the enemies have their own navigation zones and always look downwards. They make use of a nav mesh to navigate to diferent points at a moderate speed, but upon seeing the player, they start chasing.
art : as we had just one artist, I did a bit of art suport, making the initial sketches used as inspiration, the assets for the enemies, and some enviroment assets.
engine research
multi threading / event system / game loop / controller input / object composition / lifetime management / ...
A small game engine made from start to finish, making use of many programing patterns and learning what probelms they solve. As well as implementing multi threading and learning the standard library more extensively. The engine is capable of drawing 2d sprites and playing sound as well as suporting multi player through several input systems.
To stress test my engine, I made a small remake of the digger game.
research
oct-trees / A* / tools
Reasearch on 3D navigation using oct-trees to divide up space and cleanly traverse it using agents of diferent sizes. It includes a tool that can be used to visualize the diferent steps needed to partition the space and debug it.
gamejam - 3 days
gameplay / npc-ai /unity
we were a group of 3 programers, 3 artists, 2 animators and a sound designer
the game 1 vs X, where the majority of the players need to diffuse mines and one player needs to eat the other players.
With a group of 9 and less than 3 days the main chalenge was keeping up with the artists to get everything implemented.
My main focus was to program the NPC's. They had to behave roughly like a player would, but not quite, so that a player could try and complete their tasks wihtout making the antagonistic player suspicious.
This makes use of blended steering behaviours and diferent behaviour states to achieve the desired behaviour.
plugin
Ai agent / steering / behaviour tree / unreal
A little plugin that creates a survivor for a zombie infested environment. The survivor Searches for weapons, food, health, flees zombies, and searches for towns.
On the c++ side, all the decision making happens, after which the necesary information is passed through the unreal blackboard for the behaviour tree to perform the correct actions.
I first made this as intended, and then I dug a little deeper, finding that it was incredibly easy to cheat. So, while my survivor is perfectly capable of searching the area doing what he needs to do, should he have bad luck in finding food or health, he will cheekily heal himself anyways.