top of page

SmallCode

Generalist Software Development

Featured Projects

NES
Minesweeper

26/11/2023

Personal Project

This is a project I've been working on for a good couple years on and off, though realistically it was more like a few weeks worth of actual work, maybe a month at most. But it's finally done! Or as done as it's going to be.

Environmental Roguelike

16/11/2021

AIE Cert III Coursework

In the second year of my Cert III at AIE, myself and 3 other students formed a group to design and develop a game from scratch, using the Unity Editor. We had decided on making a roguelike in which the player has no way to directly harm enemies, and must instead lead them into traps to defeat them. I chose to work on AI and gameplay elements such as trap tiles, as well as general optimisation and code cleanup. For the AI, I decided to go with a behaviour tree system, which was a challenging choice for a first shot at AI development, but taught me a lot in the process. We had much higher ambitions than what we ended up with as the final product, but we had managed to make a functional demo that demonstrated the core ideas of our design nonetheless.

NES
Minesweeper

26/11/2023

Personal Project

This is a project I've been working on for a good couple years on and off, though realistically it was more like a few weeks worth of actual work, maybe a month at most. But it's finally done! Or as done as it's going to be.

Options
Menu

31/08/2022

Personal Game Project

Not much to say about this one. A little UI demo made for a school project, this project just demonstrates competent UI design and ability to put together an interface in Unity. The settings don't save to a file, but it wouldn't really be hard to put that in.

Data
Visualisations

19/08/2022

AIE Diploma Coursework

This project was mostly made to show my ability to create certain data structures in code for school, and... well, it certainly does the job! The first structure is a double linked list, which I've depicted as a series of nodes with arrows showing the connections. It's sortable in ascending and descending order, and can be searched for a specific number. The second is a binary search tree, which I've depicted, similarly, as a group of connected nodes, and can be searched for a number, and re-sorts itself if a node is deleted. They're both rather basic, but I think they're solid examples of some fundamental concepts.

Bullet Hell
Demo

26/05/2022

AIE Diploma Coursework

Bullet hell is one of my favourite genres of video game, so when I was tasked with creating a small game demo for my diploma, I thought it would be fun to see how i would do making one! The main spirit of an arcade-style bullet hell isn't exactly here, specifically things like enemies with varying behaviours, scrolling levels to fly over and such, but there's enough of the core mechanics here to call it a successful tech demo.

Initiative Counter (unfinished)

09/10/2022

Personal Utility Project

This tracker was intended to streamline battles in D&D, leading to less downtime where the DM is doing bookkeeping. This current version is pretty barebones, and when I work on it again, I plan on moving it to a different UI framework than Raygui. Currently, it has a few boxes for various key player stats, the ability to create new, empty stat bars, the ability to sort by initiative, a button to delete exiosting stat bars, and finally, a placeholder button which I intend to later turn into some sort of popup menu to inflict status conditions.

Top-Down AI Pathing
& Level Editor

26/08/2022

AIE Diploma Coursework

The AI portion of this project was interesting, and it was good to revisit state machines, behaviour trees, and A* to see where I could improve from my previous attempt, but the main star of the show is the level editor! The levels are stored as binary data, with a header defining the hight and width of the level in two bytes, and a main data portion in which one byte represents one tile. The file size could have potentially been halved if I had decided to use only half a byte to represent each tile. This would still give me a decent 16 tile types to play with, but the level files already took up such a small amount of space that, for this project, it wasn't worth the bother.

Mario
Clone

16/06/2022

AIE Diploma Coursework

One of the projects I was tasked with completing for my diploma course was to create a clone of a classic game. I decided to go all out and make a recreation of Super Mario Brothers for the NES, which was more than what was asked, and needless to say, this was more ambitious than I had the time for, especially given that I spent a lot of the project time experimenting with OpenGL instead of just using Raylib as recommended. The end result isn't much to look at aside from regular Mario, and I've already made a better recreation of that game's mechanics in the past for a roguelike project of mine. The part I'm actually proud of is the sprite and animation system I'd cooked up! If you'd like to learn more about that, this wiki details exactly how it works: https://github.com/EmmaStittAIE/MarioClone

Text-Based
Roguelike UI

14/04/2022

Personal Game Project

In my first semester of my diploma with AIE, I was breezing ahead of the assessments and wanted to try a project to further my C# skills. Inspired by a small bugfixing exercise involving a tiny text-based adventure game map, I set about trying to make a game engine that would run in a computer's terminal emulator. I ended up dropping the project after a while, when schoolwork got harder and took more of my time, but not before making what I consider to be a very well-constructed UI system. A lot of the UI is explained in the image descriptions, but essentially, the menus are all made up of individual modules that affect eachother in different ways, and essentially work like self-contained windows and widgets.

Environmental Roguelike

16/11/2021

AIE Cert III Coursework

In the second year of my Cert III at AIE, myself and 3 other students formed a group to design and develop a game from scratch, using the Unity Editor. We had decided on making a roguelike in which the player has no way to directly harm enemies, and must instead lead them into traps to defeat them. I chose to work on AI and gameplay elements such as trap tiles, as well as general optimisation and code cleanup. For the AI, I decided to go with a behaviour tree system, which was a challenging choice for a first shot at AI development, but taught me a lot in the process. We had much higher ambitions than what we ended up with as the final product, but we had managed to make a functional demo that demonstrated the core ideas of our design nonetheless.

bottom of page