Skip to content

magnimel/fantastic-bits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Fantastic Bits Game Project

This project is a simulation-based game inspired by Quidditch, where players control wizards to catch snaffles and score points. It's built with Java, emphasizing object-oriented programming, simulations, and strategic AI development.

What I Learned

Throughout the development of the Fantastic Bits game, I've gained a wealth of knowledge and skills, including but not limited to:

Object-Oriented Programming (OOP)

  • Encapsulation: Organizing the game into classes with private fields and public methods to safely manage the game state.
  • Inheritance and Polymorphism: Using abstract classes and interfaces for game entities to promote code reuse and flexibility.

Algorithms and Mathematics

  • Pathfinding: Implementing algorithms to navigate wizards effectively around the playing field.
  • Simulation: Simulating game dynamics to predict the outcomes of various actions, which is crucial for AI decision-making.
  • Geometry and Trigonometry: Calculating angles, distances, and velocities to handle movements and collisions accurately.

AI and Strategy

  • Multi-agent Systems: Designing an AI that manages multiple agents (wizards) with coherent strategies that adapt based on the game state.
  • Predictive Modeling: Anticipating opponents' moves and the future positions of objects to make informed decisions.
  • Decision Trees: Evaluating multiple possible actions each turn to select the optimal strategy.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

  • A special thanks to my professor for introducing me to this amazing game !

Feel free to explore the code, and I hope it serves as a learning resource or inspiration for your own projects!