Hello, my name is Krystal Hallett, and I am studying Computer Games Programming at Staffordshire University. I take pride in my knowledge and experience in the Game Development industry, and very much enjoy what I do.
In my spare time, I like to participate in Game Jams, as well as work on side projects involving game development and programming. I am eager to develop new skills and further enhance the skills I have already obtained!
– C# / .NET
– Python 3
– Game Maker Studio
– Dear ImGUI
|– Greybox Prototyping|
– Engine and Tools Development
– Gameplay Mechanics
– Procedural Generation
– Data Management
- Presentational Skills – I am a confident speaker and enjoy presenting in front of large audiences.
- I am quick to pick up and adapt to new software suites. In my time working at Brambletyne, I was given a couple of weeks to learn Unity from knowing very little of it, and managed to jump into a contract following the first week, and was comfortable working on projects for this company. I am also proficient with Microsoft Office and OpenOffice, and have a basic understanding of Adobe Photoshop.
- Spelling, punctuation and grammar – English is my native language, and I am a confident speaker and writer.
- Communication – Whilst working at Brambletyne, I was often called to work at the stand at MCM London Comic Con. This involved pitching and selling comics and presenting our work-in-progress video game projects to wide, diverse audiences. I also have experience managing growing streaming communities through Twitch and Discord.
- Working under stress – previous roles, such as my time as an Associate Tools Engineer at Playground Games and as bar staff at The Werkroom, an LGBTQ+ friendly bar in Stoke-on-Trent, has had me work under fast-paced conditions, and this has increased my confidence in working under stressful situations
Planetoid Plains was made for a Game Jam hosted on the Unofficial Staffordshire University Discord server which took place over a month. It was a sandbox survival game in a similar vein to Terraria, except rather than a long continuous landmass, it took place on small planetoids suspended in the air. Each planetoid was unique in size, biome type and resources, and you had to make your way across planets to survive harsh micro-environments.
The game featured mechanics typically seen in games such as Minecraft and Terraria, featuring block breaking, an inventory system, hazards and several creatures with a variety of different AI techniques.
Whilst Planetoid Plains was created in Game Maker Studio 1.4, I am looking to one day port it to a custom written engine using C++ and OpenGL, and hope to improve and expand on it taking in the skills I’ve learned at University. This is however currently on hold in order to keep up to scratch on work at University and look for further work opportunities within Software Development and Games Programming.
The game didn’t turn out to be in a state that I would call playable. Whilst it had plenty of content, the combat system was poor and the resolution of the graphics is too small to see easily, especially on widescreen or high resolution monitors. However it has a lot of potential to be improved and can be turned into a very fun game!
Outer Edge is a unique project I’ve been working on that falls slightly outside of my comfort zone and skill set. Outer Edge is a work-in-progress physical tabletop role-playing game consisting of a Game Master and a number of players. Each player has the option to either pilot their own spaceship or join the crew of another player’s spaceship, forming a fleet. The goal is for the players to make a name for themselves, through exploration, trade, industry, bounty hunting, piracy – whatever they desire. The game master’s job is to narrate the players through a storyline consisting of tasks. The goal of Outer Edge is to capture the storytelling and interactivity of Dungeons and Dragons, the strategy and ship management of games such as FTL: Faster Than Light, and the open ended nature of games such as Elite: Dangerous, EVE Online and No Man’s Sky.
This project is a prototype I put together in Unity demonstrating “Portals” in Augmented Reality, where you could have two separate environments based on whether or not you had walked through one of these portals.
A small Augmented Reality Project myself and a couple of friends put together in Unity before University started. ARBrix is an Android app on the Google Play Store in which you can build in Augmented Reality using coloured blocks.
Marching Squares Algorithm
This concept work was made using C++ and OpenGL, and demonstrates a simple Marching Squares Algorithm, which generates contours from points on a 2D grid.
Written in C++ and Modern OpenGL, this was a piece of software capable of generating and rendering chunks of voxels very efficiently, of different colours.
My highest scoring university assignment was a project called RetroZone, which I completed for my Fundamentals of Game and Graphical System Development module in my first year. The assignment was to use a graphics library created by the University to create a clone of a 2D game from the ground up in C++, and the tutorial content took you through making a clone of Pac-Man. However, I wanted to push myself to go above and beyond the scope of the assignment to ensure a high mark. I created a project called RetroZone.
In order to get a handle on the graphics library, I started off with a game of Pong, with all the classic features and a basic AI to act as a second player. It featured loading in graphics and animated sprite sheets, collision detection algorithms and basic AI that moved based on the trajectory of the ball.
The second game was called Infiltrate, and is a 2D metroidvania style platform shooter. It featured a large multi-room map, a health system, platform-style movement, ladders, a multi-phase final boss battle and 3 different endings.
This project scored me 98%, with the last two marks being due to lack of a solid scoring system other than trying to finish with as much health left as possible. Whilst the graphics are less than admirable and my programming skills have greatly improved, I am very proud of this project.
Realtime Rendering Techniques
My second highest scoring assignment was for the first semester of the Advanced Graphics and Realtime Rendering module in my third and final year of my undergraduate degree. This assignment had us take a textured cube and use realtime graphics and rendering techniques to make it look more realistic and visually appealing.
I implemented the following rendering techniques:
- Bump mapping using normal maps
- Parallax Occlusion Mapping with Per-Pixel Raytracing
- Self-Shadowing with Per-Pixel Raytracing
- Several Post-Processing techniques, including greyscale, colour inversion and UV transformations
- Deferred Rendering
- Realtime Shadow Mapping
All of the above features are toggleable and the scene elements can be translated, rotated and scaled where appropriate, including cameras and lighting.
Animation and Terrain Rendering Techniques
For the second semester of Advanced Graphics and Realtime Rendering, I am currently working on an assignment project that covers heightmap and voxel terrain generation techniques, as well as 3D animation and inverse kinematics. I’ve currently implemented terrain generation through heightmap images, as well as heightmap generation through the Diamond-Square Algorithm, the Fault Displacement Algorithm and the Circle/Hill algorithm. I wrote my own implementation for these algorithms.
Download – Please keep in mind this is a midpoint submission and not the final product.
Relevant Work Experience
- Playground Games – Associate Tools Engineer – Fable, Forza Horizon 5
- Brambletyne – Greybox Prototyping Mobile Apps with Unity Engine
- Staffordshire University – Student Ambassador
- The Werkroom, Stoke-on-Trent – Bar Staff