Start playing with löve in 2009 (v0.5.0) Is back in 2011 on löve 0.7.1.

Projects is to rewrite my "jail" project (see [love-master project (jail, ...)])

My Todo list

  • repair 2nd computer and run the test on windows and linux
  • DONE. script to package directory to .love file my

from ruby to lua or bash version, see

  • random lib

A simple random generator with safe (re-)initialization. Inspired from Idea: Using a seed with current random try. Sample: function init() math.randomseed(math.random()*os.time()) end Goal: You will be able to re-init it without predictability problem. Note: include it in the jail (and catch the randomseed to forbid re-init)

  • (in progress) luajail and lovejail

Goal: made a secure (jailed) environment for running löve's games.

TODO: test the crack*.love attacks see this thread

  • love API patch

- newFrameBuffer internaly catch error (return nil on error). - add missing screen/graphics functions (getFsaa, getVsync, ...) - add missing filesystem functions (getIdentity) - and more ...

  • AI project

Play with simple Artificial Intelligence, see UnLöve: Zombie Survival

  • jailfunc (lib)

Goal: be able to allow/deny access of library or function (like os, io, require ...)

  • jailfs (lib) / jailnet (lib)

Goal: be able to filter that is allowed to read (and write) on file system access, but maybe also over the network connection (filter the ip:port like simple firewall)

Feature: think about allow a way to load a case insensitive filename (usefull for stupid zip software that push upper case character... seen in some forum topics...)

  • gameconf (lib)

Goal: having easy function to manage game settings

(FIXME: I don't remember what exactly but I have part of code about that...)

  • LUSE : Löve user Settings Enforcer

Goal: always keep control! be able to choose and enforce my user settings, allow or deny change on resolution/input grabbing/window-or-full-screen mode/no sound/etc.

  • input layout

Goal: be able to manage keyboard : French, English, ... also maybe manage mouse with more than 3 ou 5 buttons.

  • love-master

Goal: have a magic key (or sequence) to pause the game and got back to a safe environnement (like the love console?) to be able do ... what you want. For exemple:

  • debugging (see memory usage, variable values, ...)
  • profiling (see stats about most called function) see ProfilingLuaCode
  • access to the safe menu to configure (simple-firewall, jailfs or others settings)

Part of this project is to catch and lock the love callbacks ...

  • launcher

Goal: be bale to run my local love (with love-master, settings enforcement, etc.) have a way to choose what game is available. Run one of them in jail environnement.

  • fakelove (see here)

Others idea projects :

  • multi-love (lib)

Goal: be able to run multiple (windowed) love program and link them together. Goal: be able to link (over network/LUBE?) multiple love program and share actions.

  • input layer (lib)

Goal: be able to virtualise inputs (to have more than one mouse, one keyboard) see multi-love.


  • drawing with z index (see Snippers Skip list and Skip list Drawing Order)
  • collision with circular zone
  • drawing only if in zone : defined a target zone, exclude outside objets from drawing process
  • proof of concept of webradio player

My work done

Currently done (not yet released) :

  • stringimprove (lib) (released : here) finally prefer using the BlackBulletIV's strong.lua lib

Goal: Like String_exploding string.explode(), be able to split string as separated arguments in table. Improved String exploding Snippet see . New string.split and string.join functions

Conflict: [String_exploding String_exploding]

Compatible: String_extensions

  • glob (lib)

Goal: be able to support a string matching with glob pattern (like "*.txt").

  • tablesort (lib)

Goal: be able to make a for loop with keys on arbitrary/custom order.

  • bench (lib)

Goal: a simple way (in pur lua) to run n times the same function and calculate the average time elapsed per iteration. Usefull to compare performance of 2 differents versions of the same function.

  • chrono (lib)

Goal: run a start, some code, stop, see the time between the start and stop (in microseconds, milliseconds, seconds, ...)


  • english-french translation of documentation/tutorials/...


My threads


wiki doc TODO list

My steps to learn lua and love