C# Asteroids (monogame)

Final Class Project (AGGP 247)

See Project on GitHub


Project Summary

This was a final project for my "Math and Physics for Game Programming" class at NHTI. For this project we had to recreate a simple game using the monogame framework in the C# programming language. While this framework allows for things such as drawing sprites to the screen, audio, and player input, we still had to handle certain features like collision detection and player physics on our own.

Development & Challenges

The challenges faced with this project had to do with implementing our own player physics, and collision detection capabilities to our projects. Collisions had to be handled with certain math checks which I wrote into a collision check function to handle this. Given that this project used a more basic library, I also had the challenge of structuring my game code into something much more extendable and maintainable rather than just putting everthing in an update function for example. For this I leveraged OOP principles such as inheritance and encapsulation to make life easier. This ended up making adding new features and debugging more manageable when it came to revisiting code I wrote earlier as well. Due to time constraints on the project, I opted to leave the asteroids as circles since it still ended up working well and didn't impact gameplay that much.