Portfolio of applications

Florent D'Halluin
2006-2010

Unless othewise noted, these programs were written as a hobby and are free software (GPL).

[Contact]  [Resume]

Contents

2010

The Flocking Dead Zombie simulation made in 7 days for EGP (C++/Qt).
Visual TODO Display information as a 3D tree (Processing).
Pipe game Path-making game, solving heuristics (Processing & Processing.js).
FreSCBot Won tournaments 1 and 2 of the Starcraft AI Competition (C++).

2009

Slideshow Display images (C++/Qt).
CBS C++ Benchmarking suite (C++, SH).
Metaheuristics Simulated annealing demo (Python/Qt).

2006

Da GNIII Project FPS game concept (Pascal).

The Flocking Dead

Technologies: C++, Qt
Techniques: Flocking, Multi-agent, Quadtree

This is a game made in 7 days for the Experimental Gameplay Project (Nov 2010) themed on Day & Night. It is a zombie apocalypse simulation based on flocking. It was made in C++/Qt and involves flocking, space partitioning, multi-agent architecture.

Download (Windows executable)
Download source code (cross-platform Qt project)

Visual TODO v1.1

Technologies: Java, Processing
Techniques: 3D rendering

This is a short program built in Processing that displays information as a tree. I use it as an extended to-do list and to keep quick notes about things. It is cross-platform (Windows, Linux, Mac) and can run as a Java applet in a web browser. It is available as open-source free software on SourceForge.

Below is a one-minute video presentation on youtube:


Demo (read-only)
Download source code & executable on Sourceforge

Processing game (pipes)

Technologies: Java, Processing, ProcessingJS
Techniques: Genetic algorithm, Simulated annealing

This is a quick game built with Processing.  It includes methods to solve automatically (genetic algorithm and simulated annealing). It is compatible with both Processing and Processing.js, which means it can be a Java program on Windows, Linux, Mac, a Java applet in a browser or a HTML5 Javascript script embedded in a canvas tag (not compatible with IE8).

Demo
Download source code

FreSCBot

Technologies: C++
Techniques: Multi-agent, State-machines

This is a simple micromanagement bot made for the Starcraft AI Competition hosted by the Expressive Intelligence Studio at UC Santa Cruz for the AIIDE 2010 conference. It is based on a multi-agent model, where each unit is an independent agent modeled by a state machine. Units react to their environment independently and are coordinated using generic mechanisms. This was a two-person project written in C++.

Our AI system entered and won tournaments 1 and 2 of the competition (micromanagement and tactics).

Below is a youtube video of the tournament 1 finals:


Download source code
What we said about it (French):  [1]  [2]

Slideshow v1.0

Technologies: C++, Qt

Slideshow is a compact tool that displays images from a folder. I was looking for a program to display reference pictures to draw/paint, but didn't find what I was looking for so I wrote one. It is based on Qt 4.6, intended for Windows, but should be portable to Unix/Linux/Mac OS. It is licensed under GPLv3, so feel free to use and redistribute.

Download source code & Windows executable
Qt SDK

CBS

Technologies: C++, Scripts
Techniques: Benchmarking

CBS is a Linux C++ Benchmarking Suite originally developed for Vaucanson. It provides tools to profile C++ code and analyze its performance (CPU time and memory consumption). Developers equip C++ code with measurement macros to locate bottlenecks and generate performance statistics over time.

CBS generates output in several formats:

Part of a CBS benchmark DOT output (processed with dot):

CBS callgraph in dot format

Included in the links are technical reports and slides of the presentations I made about Vaucanson.

Download (latest GIT version)
Technical reports:  [1]  [2]  [3] 

Metaheuristics

Technologies: Python, Qt
Techniques: Genetic algorithm, simulated annealing

This is a simulated annealing demo program. It shows the step-by-step execution of a simulated annealing algorithm on a simple problem (ordering of components on a grid). The GUI was written in Python (PyQt + PyQwt). It works with Python 2.6 on Windows, Linux, Mac OS.

CBS callgraph in dot format
Download

Da GNIII Project

Technologies: Pascal (Delphi)
Techniques: Octree, 3D rendering

DGP is a FPS game concept written in Pascal, also the first project I wrote in engineering school as an introduction to programming and working in teams. It was essentially just an excuse to write something fun and somewhat functional (including fantastic artwork!).

Website (French)
Download
Download source code