JimmyGod Engine is my custom game engine in C++ language with Direct3D rendering. The name JimmyGod comes from my vision that it will be a high quality and popular game engine. The game engine was started in November 2019, and continues to be updated and improved. The game engine consists of various libraries:Input, Math, Graphics, AI, Machine Learning, and Physics. Input library has support for mouse and keyboard. The Graphics allows me to easily use GPU shaders to render 3D models with support for dynamic lighting, shadows, post processing, and animation. The math has support for 3D geometry and linear algebra components. Moving on, the AI library has pathfinding, steering, finite-state-machine for simulating autonomous agents. For machine learning, I implemented K-means, Genetic Algorithm, Neural network, and linear regression to solve various problems. For the physics part, it includes a Verlet particle system with constraints to model object dynamics. I have utilized various components for different projects, and am actively adding improvements to the engine.
Earth Project is to showcase various graphics components I have implemented in my Graphics library. The main highlight is to display planets that have texture, normal, and specular. Overall, it is motivated by the solar system. Additionally, four post-processings are included to Radial blur, Gaussian Blur, Negative, and grayscale.
The AI project is to showcase various AI components I have implemented in my AI library. The main highlight is the steering system with behaviors including seek, flee, arrive, pursuit, evade, wander, alignment, separation, cohesion, and obstacles and wall avoidances. The user can toggle individual or group behaviors separately to see how they work with one another. Additionally all entities have a perception module with sensors to detect nearby neighbors.
Batman simulator is to showcase both particle systems and animations I have implemented. The project is inspired by Batman who is the most popular superhero. The simulator provides an experience for the character with five animations: idle, walk, jump, kick, and throw. Also The character can wear the cloak as Batman, and use a rope and a bomb. Finally, it would change vision for the skeleton, and debug UI for shapes.
Instructor: Peter Chan