Presentation of the games to ENSEIRB-Matmeca's partner companies.

I was able to complete many computer projects during my student career. They are not all related to video games, but I decided to include some of them for several reasons:

  • The studied domains are sometimes close to video games (AI, Pathfinding, …)
  • These projects have trained me and they demonstrate my abilities
  • An engineer must be able to work on many fields

Witcher

  • 3 members 
  • Date: 2019
  • Tools: Python, Git, TKinter graphic library, TCP/IP protocol

Creation of a board game called “Witcher” where two players move 1 square by 1 square and place stones to lock up their opponent. In this project, our tasks were to allow players to play together via a server, create the gameplay of the game, and create a tournament system. We also created the sprites for a nice rendering. 

Quoridor 

  • 4 members
  • Date: 2021
  • Tools: C, Git,  draw.io

The goal of this project was to create bots that could play the board game “Quoridor”. This is a game where two players compete against each other. They have to reach the other side of the board and can place walls to slow down their opponents. Each team had to make shared libraries with certain features for the bots to compete against each other.

My best bot finished second in the competition out of over 100 bots.

My strategy was as follows:
– I calculated a path for myself and my opponent via the Dijkstra algorithm.
– If I had less path time than the opponent I would advance (which is not a great way to work; some bots took advantage of this idea to create traps).
– If not, I would calculate each wall that could hinder my opponent and compare them, making sure they didn’t add time to my own course.

Thus, my algorithm was always trying to maximize the time difference between my path and my opponent’s path, whereas most other bots were simply trying to minimize their path time or delay the opponent as much as possible.

Placement of a smart wall, blocking the opponent player but not blocking the player

Bordeaux Bike Travel

  • 3 membes
  • Date: 2020
  • Tools: Python, Git, PyQt graphic library,  geographical data from Open Street Map 

The objective of this project was to create an application that would allow cyclists to be safe on their journeys. It is an online mapping service (similar to Google maps) that allows you to set the safety level: if the safety level is at the maximum, the proposed route uses the small paths and bike lanes as much as possible, even if it means making the route longer.

Conversely, if the safety level is at a minimum, the shortest route is returned. We therefore worked on path finding algorithms like Dijkstra, A*, Weighted A*, …

Makers – Magik Chess

  • 3 members
  • Date: 2022
  • Tools: C++, Git, Rasberry, 3D printer, laser cutter

Makers is a very special class at my school. We are allowed to work on any project, as long as we use tools not often used in a computer science curriculum (3D printers, laser cutters, …).

I decided to work on a robotics project where a mechanical arm would be controllable via a Rasberry and would allow it to play a game. We had first thought about playing the chess game that I particularly like (hence the name Magik Chess), but the arm was not precise enough and big enough. So, we changed our mind and created a Connect 4 game. Then we implemented an AI to be able to play against it!