Portfolio

Game Boy Emulator - View Project on GitHub

I have always wanted to build an emulator of some sort, especially a PS1 emulator, however, writing a PS1 emulator is very time-consuming, so I decided to choose a simpler emulator to gain more experience in writing emulators and then go back to the PS1 emulator.

I mainly started this project for fun, however, I wanted to improve my knowledge of system programming.

The emulator still contains some missing futures such as the Audio and some issues with the PPU to solve.

While making the Game Boy emulator, I have encountered many issues, some took days or even weeks to solve!
However, I have enjoyed every bit of problem-solving it brought.

The development of this emulator is far from finished and my main goal is to have support for more games, such as the Pokémon games.

In the future, after implementing those futures, I am planning to support the coloured version as well.

PS1 Emulator - View Project on GitHub

This is my first ever emulator that I have worked on, and it isn't completed as it will take a very long time to complete it.

As this is my first emulator, I decided to follow a tutorial(a bad mistake) though I learnt so much from it!

It is obviously missing so many features however it has a fully functioning CPU, and as you can see, the rendering is really messed up!

My plan is once I finish the Game Boy emulator is to return and finish this emulator.

As you can probably see, one of the last futures I worked on was the VRAM and texture rendering, hence the random textures you may see on the screen.

It was so much fun writing this emulator and digging deeper into the world of emulators.

Compiler - View Project on GitHub

This is a runtime compiler that is based on C++ structure.

This compiler is nowhere near finished, but it has most of the fundamentals of a compiler.

When I say it isn't finished, I mean it in a way that as it's based on the structure of C++ and I wanted to add a lot of features, so it'll take a while.

The compiler has a Lexer, TAC, Semantic Analyser, CFG, IR and Code Generation.
I originally wanted this compiler to be an interrupter, but then I switched to a compiler as I wanted to learn assembly.

The code generation is almost completely wrong, I'll admit, however, it was at a time when I barely knew assembly.

The code itself, isn't well-structured as when I started working on the Compiler I had little experience in writing cleaner code.

Game Engine - View Project on GitHub

I started working on this game engine when I was 14, just a beginner that is interested in this field.

I worked on it for a year or so, and I learnt so much.
I worked on so many projects using the game engine, such as, Raytracing, Minecraft clone to see how well my engine will handle a large number of objects.

and many different games especially a game called "RoboFactory", this game is a factory and a simulation game.

At the moment, I'm updating the engine as I believe the original architecture is awful, as I started working on it when I was a beginner.

I am looking to add new features and a new architecture to the engine as well as rewriting the rendering pipeline.

Linker - View Project on GitHub

I made this game for a Game Jam a while ago.

My plan was to create a game where you are in control of a character and you can either fight with it or build a base.

I had a week to make it and while I didn’t finish, I did learn a lot from the experience.

I did everything from the engine to the assets that were used in the game.

I still want to return to this project and finish it as I still have a lot of ideas that I want to implement.