/Computer-Games-Programming-HWU

An assessment I had to do at Heriot Watt University, involving the usage of OpenGL, GLEW & GLM C++ libraries

Primary LanguageHTML

Video Games Programming Assessment

We were free to use any framework to do this proect, but I chose the framework we used in class during the labs : The C++ Template with OpenGL, GLEW & GLM libraries : https://github.com/StfnoPad/GPGameTemplate

For this project, I had four tasks to achieve :

  • a physically driven ball
  • a particle explosion
  • crowd or flockering boids in 3D
  • A* path-planning search

Here's the result (in GIFs & PNG) for the lazy ones who don't want to download the project and run it :)

I've made the project as much as random as possible : the physically driven balls spawn randomly, creating an unique dynamic each time the project is launched. Same for the particles and the A* algorithm.

Projet de Programmation de Jeu vidéo

On était libres d'utiliser le framework que l'on souhaitait pour ce projet, j'ai choisi de le réaliser avec le template fourni durant les TPs : Un Template C++ avec OpenGL, GLEW & GLM libraries : https://github.com/StfnoPad/GPGameTemplate

Pour ce projet, j'avais 4 tâches à réaliser :

  • Une balle soumise à une physique (newtonienne)
  • Une explosion de particules
  • Un mouvement de foule, un essaim (Boids)
  • L'algorithme de recherche dans un plan A*

J'ai rendu tant que possible le projet aléatoire: les balles apparaissent de manière aléatoire, créant ainsi un mouvement et des collisions uniques à chaque fois que le programme est lancé. De même pour les particules & la génération du A*.

Voici le résultat en images (GIFs & PNG) pour ceux qui auraient la flemme de télécharger le projet & le lancer :

Physically driven Balls / Balles soumises à une physique Newtonienne:

physically driven balls

Particles:

my particles

Mouvement de foule / Boids:

my Boids A * : Le début étant la case bleue, la case cyan étant l'arrivée, le chemin trouvé par l'algorithme est tracé en vert.

An A* path generation

A second one

And a third one

PS:

Thanks to https://github.com/NickeManarin/ScreenToGif/ for making the GIFs so easily !