Robot Evolution


Robot Evolution is an application that uses genetic algorithms to evolve and optimize virtual walking poly-pedal robots. The robots are 2D geometric constructions of rectangles that are connected by virtual motors which apply torque to these rectangles, making them move. The programming language used was Java.

Authors: Jan Corazza, Luka Bubalo


  1. Optimizing robot walking capabilities
  2. Visualizing evolution in real time
  3. Interactive UI
  4. Parallelizing simulations
  5. Persisting results
  6. Rich configuration


Video presentation (in Croatian)


Gravity simulator in Python. I used it to predict the proximity of the 99942 Apophis near-Earth asteroid at a point in the future with relative error of 0.505% (according to NASA’s results).


  1. Fourth order Runge-Kutta integrator
  2. 3D geometry
  3. Minimal mode with no graphics
  4. Orbit and vector visualization
  5. Reports (ETA calculation, important dates, timers, extensible via the user module)
  6. An event system, where the user may override various event handlers for information extraction and custom reports


Project Khalio

Project Khalio is a 2D clone of the game Portal. It can be played here: jancorazza.com/khalio. It was created using HTML5 and JavaScript.

In-game screenshot of Project Khalio
In-game screenshot of Project Khalio

The game has lots of levels and puzzle types.



An MMO game I made while I learning JavaScript and Node.js.


  1. Multiplayer with Node.js as backend
  2. Building, and harvesting resources
  3. Combat with multiple abilities
  4. Quests
  5. Chat
  6. Items and inventory
  7. Talents and skills
  8. Automatic terrain generation with towns an NPCs


Edge detection and barcode reader

I’ve recently created two Processing programs for image processing. One is used for edge detection, while the other can read EAN-13 barcodes.

The Sobel method is used for edge detection.