2D Platformer
Forknight
Made in the Game Assemblies in house c++ engine, Forknight is a game project that I am very proud of.
Level Loading from Tiled
I was in charge of reading data from our level editing software of choice Tiled, for this project. I was also a direct line of comunication for what features the other diciplines expected from this system.
The Loader Allows for the following Features:
-
Two stage loading from Tiled exported json level files. First pass to parse the file in to generic objects and then a second pass to parse them in to spesific objects in the scene.
-
Loading of multiple tilemaps and layers.
-
Loading of object references, where an object may point to the id of another object
-
This is used for moving platforms, where they point to their next position to move to in a linked list.
-
-
The addition of new objects to load is easy, a function that takes a generic object as an input can be added with a string identifier to a map and then the set up of the object can be handled by the appropriate factory.
Particle System & Editor
I developed a quick and easy particle editor that allows users to edit particle emitters in levels while the game is running.
The System allows for the following features:
-
One button click to add a new particle type.
-
Easy editing of particle's base setting such as direction and life time with Dear ImGui's dragable fields.
-
A basic animation system which allows the particles to go through multiple color stages with a different amounts of randomness.
-
Supports both additive and Alpha based blend modes.
-
Allows for an area sensitive mode, with adjusts the spawnrate based on the area of the emitter. Making the spawnrate count per square unit of the emitter.