charliehart.dev

Site is currently a work in progress! Welcome to charliehart.dev! Read the below posts to find out about my recent projects, or click here to search for posts by keyword tag, such as C++ or Gamejam!

Creating a Gameboy Emulator - Part 2 - Ongoing

This is part 2 of an ongoing project in C++ to create an emulator of the Nintendo Gameboy. Since the last post, I have added a GUI for debugging, including inspectors for the CPU state, the Gameboy’s Memory, a visualization of Graphics Memory, and a ROM loader. Github Repository https://github.com/CharlieHart0/GameBoyEmu (The project is ongoing, and is not yet fully usable) SDL and ImGui ImGui, a C++ GUI library, was used in combination with SDL2 and OpenGL3 to add a GUI to the program, through which different parts of the emulator could be debugged....

October 1, 2024 Â· 5 min Â· Charlie Hart

Realtime Softbody Physics - Postgraduate Dissertation Project

This project was my postgraduate dissertation project, titled ‘Realtime Soft Body Simulation using a Spring-Mass approach’. This post can be considered a condensed summary of the dissertation document, and more detailed information can be found at the following link: The Dissertation document can be found here Soft bodies are physically simulated objects capable of deformation - changing shape in response to forces experienced. Most physical objects in computer simulations are rigid bodies, which do not experience deformation, but soft body physics systems are required in order to simulate complex structures in a physically accurate way, such as clothing....

May 4, 2024 Â· 6 min Â· Charlie Hart

Descending Dudes - Postgraduate 3D Team Project

This project was created for my University team project, and is a 3D platformer game, in which the player has to reach the end of an obstacle course and achieve the fastest time they can. We created the game as a team of a few students working as a ‘Mini-Studio’ at Newcastle University. Our project was created using our own engine in C++, and was based on the ‘Goat Heist’ game I created as a previous coursework project; We expanded the codebase significantly, to add a wider range of features to a new game in the engine....

March 19, 2024 Â· 7 min Â· Charlie Hart

Creating a Gameboy Emulator - Part 1

My first emulator project is to write a Gameboy emulator, in C++, and is a large project with several stages, so more posts will be made as new sections are added. At the time of writing, I have implemented the Gameboy’s CPU, memory bus and instruction set. Update 01/10/2024: Part 2 of this project can be found here. Github Repository GitHub - CharlieHart0/GameBoyEmu: A GameBoy emulator (The project is ongoing, and cannot yet be used as a full emulator)...

March 3, 2024 Â· 4 min Â· Charlie Hart

Modding the PS Vita

I recently modded my PS Vita, using HENkaku and Ensƍ, so that I was able to install unsigned software, and begin exploring the Vita homebrew community, and potentially make my own games/programs for the system! Disclaimers I do not support pirating games, this project was focused on exploring the Vita system and the homebrew created for it! I do not claim responsibility for any consequences if you attempt this with your own device, you do so at your own risk and may void the manufacturer’s warranty!...

February 3, 2024 Â· 6 min Â· Charlie Hart

Goat Heist - 3D Postgraduate Game

The Goat Heist game was my coursework for the module ‘Advanced Game Technologies’, where we were tasked with creating a simple game in C++. We were given a codebase which handled the graphics portion of the game, but needed to add a physics system, some physics related game mechanics, state based AI and pathfinding. The required features for the coursework included: Create a game in which the player must attempt to steal a guarded item from a building inside a voxelised world....

December 14, 2023 Â· 7 min Â· Charlie Hart