Skip to content
Martin Poiroux
Language : Français
Projects · CodeCode · Prototypes · 2023

School projects

The ENSIIE projects, from first to third year: an Android app, an Operation game that contracts your muscles, Arduino gamepads, agents, and a multiplayer online game.

A computer science engineering school in Évry, with a final-year major in games and interactive systems. Projects there are almost always in pairs or teams, on a set subject; this page says which ones, and what they contained.

Cemantix (third year, mobile development, in a pair). An Android app in Kotlin for the word game of the same name: you look for the secret word of the day by getting closer in meaning, not in spelling. Each guess gets a temperature and, if it is among the thousand closest words, a progress index. The app queries the original site’s API directly, keeps the history of guesses, and holds a profile with a photo taken from the phone and statistics.

Cemantix on Android: the words tried, sorted by temperature, with their progress index out of a thousand.

The final-year project (third year, as a team). A massively multiplayer online game, set in space. The architecture was split into services: an Angular interface with Keycloak authentication, Java services for events, scheduling and real time over WebSocket, deployed to a virtual machine by scripts, and a C# AI module that brought non-player factions to life, each with a personality (pacifist, warmonger, trader) and a reputation scale from hostile to ally, all wired together with RabbitMQ and MongoDB. Playtests with players were prepared for January 2023, with a questionnaire and an observation grid. The part handled here, within the team, was the AI module.

The heat equation (second year, in a pair). Simulating how temperature spreads through a material, in C++ with SDL2 for display: a bar then a plate, four materials, copper, iron, glass and polystyrene, with their conductivity, density and specific heat, and a colour scale to read the temperatures.

The copper bar mid-simulation: heat spreads from two heated zones, from blue, the coldest, to red.

Operation (second year, electronics tinkering course, as a group). A game made with whatever was at hand: cardboard, copper sheets, cables, batteries, a transformer and conductive gel. As in the board game, you remove items from a patient’s body without touching the edges. Here, the player wears electrodes on the forearm: touching the edge closes the circuit, and the transformer, wired backwards to step the voltage up, sends a pulse whose frequency was tuned to contract the muscle rather than give a plain shock. The arm tenses at once, and the tweezers with it.

The Operation board: copper-lined cavities in cardboard, and the items to remove without touching the edge.
The principle: the tweezers close the circuit on touching the edge, and the discharge goes to the electrodes on the arm.

Multi-agent systems (second year, in a pair). In NetLogo, collective sorting: ants that move at random, remember the last cells they saw, and pick up or drop objects with a probability that depends on that memory. With no leader and no plan, the objects end up grouped by type.

Collective sorting, figures from the report: objects of five kinds scattered at the start, then gathered by kind, with no leader and no plan.

Computer graphics (second year). In three.js and GLSL: a textured Sun, Earth and Moon system, then hand-written shaders, from plain colour up to textures and the lighting of a teapot.

Two hand-written shaders: the textured Earth, and the teapot lit in flat bands, cartoon style.

OCaml. A library of directed graphs with its path searches, breadth-first and depth-first, its interfaces and tests; and, for the artificial intelligence course, in a pair, a generic minimax that plays Nim and Connect 4 against a human.

Agents (third year, team of four). A team of robots for Warbot, a multi-agent simulation environment written in Processing, where each unit type follows its own behaviour and communicates with the others through messages.

Warbot, a screenshot from the report: the two robot teams and their perception radii, with each side’s energy over the game at the bottom.

First year. A multiplayer console game in C, with its score table; a website in PHP and PostgreSQL, as a team of three, the school’s society calendar, where the part handled here was the database and the hosting.

PIMA (second year, as a group). A film quiz in PHP on the OMDb API: free play, timed games, a question of the day, rankings and statistics. The version kept stops at the skeleton, thirteen question types written, the answers still to be wired to the API.

HyperTomatoGirl and its gamepads (third year). The human-computer interaction course project, in a pair, was a Unity platformer designed for a gamepad. The work carried on in the connected-objects course: gamepads built around an Arduino, with a joystick, arcade buttons and a display, on which the same game was played. The game, like the shoot ’em up from the game development course, is playable on the itch.io games page.

One of the third-year Arduino gamepads, joystick and arcade buttons, playing HyperTomatoGirl.

Private project, no public link