Difference between revisions of "User:TsT"

(lovemake.sh)
m (style change)
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Start playing with löve in 2009 (v0.5.0)
+
== Introduction ==
Is back in 2011 on löve 0.7.1.
 
  
Projects is to rewrite my "jail" project (see [[http://love2d.org/forums/viewtopic.php?f=5&t=733 love-master project (jail, ...)]])
+
I started to play with LÖVE in 2009 (with the v0.5.0)
 +
 
 +
I was back in 2011 on löve 0.7.1.
 +
 
 +
I done a new break until the end of 2014.
 +
We are now in 2015, I'm back again! (v0.9.1).
  
== My work done ==
+
Enjoy !
  
Currently done (not yet released) :
 
  
* stringimprove (lib) (released : [http://love2d.org/forums/viewtopic.php?f=4&t=2886 here]) finally prefer using the BlackBulletIV's [http://love2d.org/forums/viewtopic.php?f=5&t=2893 strong.lua lib]
+
= My 2015 Projects =
Goal: Like [http://love2d.org/wiki/String_exploding String_exploding string.explode()], be able to split string as separated arguments in table.
 
Improved String exploding Snippet  see http://love2d.org/wiki/String_exploding .
 
New string.split and string.join functions
 
  
Conflict: [String_exploding http://love2d.org/wiki/String_exploding String_exploding]
+
I released some work done on [https://github.com/tst2005/ my github account].
 +
* [https://github.com/tst2005/dragoon-framework/ dragoon-framework]
 +
** my Lua Framework (with LÖVE support)
 +
* [https://github.com/tst2005/lua-minimal/ lua-minimal] The bootstrap of my framework.
 +
** [https://github.com/tst2005/lua-newmodule/ lua-newmodule], https://github.com/tst2005/lua-provide/ lua-provide] and [https://github.com/tst2005/lua-minimal/blob/master/pathfix.lua pathfix])
 +
* [https://github.com/tst2005/lua-classcommons2/ lua-classcommons2]
 +
* [https://github.com/tst2005/lua-jsoncommons2/ lua-jsoncommons2]
 +
* ... and more! [http://xkcd.com/537/ \_o<]
  
Compatible: [http://love2d.org/wiki/String_extensions String_extensions]
 
  
* glob (lib)
 
  
Goal: be able to support a string matching with glob pattern (like "*.txt").
+
= My 2011 Projects =
  
* tablesort (lib)
+
Projects is to rewrite my "jail" project (see [[http://love2d.org/forums/viewtopic.php?f=5&t=733 love-master project (jail, ...)]])
  
Goal: be able to make a for loop with keys on arbitrary/custom order.
 
  
* bench (lib)
+
* LOWS : Löve On Web Server
 +
** Status : in progress
 +
** Goal: Provide a Löve and LUBE compatible interface on server side to support (massively) multiplayer network games.
 +
** Require:
 +
*** server side :
 +
*** + nginx ([http://openresty.org openresty.org])
 +
*** + [http://openresty.org/#LuaNginxModule lua support], better: [http://openresty.org/#LuaJIT luajit support]
 +
*** + hua: my hardened modular lua approach
 +
*** + faked-cgilua-rpc-support (TsT)
 +
*** + lua-rpc-server [https://github.com/luaforge/json/blob/master/trunk/json/rpcserver.lua lua json rpcserver part] (modified version)
 +
*** + json support : [https://github.com/luaforge/json/blob/master/trunk/json/json.lua json in lua], [http://www.kyne.com.au/~mark/software/lua-cjson.php faster C json], [http://www.eharning.us/wiki/luajson/ lua json over LPEG] ... see also [http://www.json.org/ json.org] [http://www.kyne.com.au/~mark/software/lua-json-performance.html benchmarks] [http://www.kyne.com.au/~mark/software/lua-cjson-manual.html manual]
 +
*** + love support [https://love2d.org/forums/viewtopic.php?t=230 LUBE server]
 +
**** over custom protocol ...
 +
*** server databases :
 +
*** + redis (with [http://redis.io/commands/eval lua and json support])
 +
*** client side :
 +
*** + ssl or https support (...) see [[https://github.com/brunoos/luasec/ LuaSec] ([https://github.com/brunoos/luasec/blob/master/samples/ samples], [https://github.com/brunoos/luasec/wiki/LuaSec-0.4.1 ssl options], ...)]
 +
*** + http keep-alive support (TsT)
 +
*** + love support [https://love2d.org/forums/viewtopic.php?t=230 LUBE client]
 +
**** over custom protocol  ...
 +
*** both :
 +
**** UTF-8 support (maybe usefull)
  
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)
+
* UTF-8 support for lua (in pure lua)
 +
** Status: released
 +
** URL: [https://love2d.org/forums/viewtopic.php?f=4&t=11656 forum] [https://github.com/tst2005/lua-utf8 github]
  
Goal: run a start, some code, stop, see the time between the start and stop (in microseconds, milliseconds, seconds, ...)
+
* bit64 : 64bits bit-wise emulation for Lua 32bits environment
 +
** Status: Done, not released yet
 +
** URL: ...
  
  
== My Todo list ==
+
* crypto.akiss3-1 : random generator algorithm named AKISS v3.1
 +
** Status: Done, not released yet
 +
** URL: [https://github.com/tst2005/akiss3 github]
 +
** Deps: require bit64
 +
** Orig: http://besides.us/posts/5 (dead link)
  
* repair 2nd computer and run the [http://love2d.org/forums/viewtopic.php?f=3&t=2907 test] on windows and linux
 
  
* script to package directory to .love file my [http://love2d.org/forums/viewtopic.php?p=30549#p30549 lovemake.sh]
 
  
from ruby to lua or bash version, see http://love2d.org/forums/viewtopic.php?p=26001#p26001
+
* lova ; Love API
 +
** Desc: provide a layer to abstract the love primive
 +
** Goal: provide an easier interface, fix bug, manage alternative
 +
** Sample:
 +
*** - lova.random(*) -- I just want random things ! without thinking about seed and bug -- never re-seed() ! [http://www.cigital.com/papers/download/developer_gambling.php sample of security break due to reseed]
 +
*** - lova.class(*)  -- I just want a class ! ... don't care about what class implementation
 +
*** - lova.screen* -- a simple way to change settings !
 +
*** - lova.sound*  -- sound manager !
 +
*** - strict
 +
*** - lova.gui    -- !
 +
*** - lova.debug
 +
*** - lova.require(*) -- the require() to use for love modules !
 +
*** lovapi.module.load("alternatives") -- like require("alternatives")
 +
*** lovapi.module.unload("anothermodule") -- remove and clean a module
 +
*** lovapi.module.load("lova.import"):init()
 +
*** lovapi.module.init("lova.import")
 +
*** lovapi.provide("import", lovapi.module.get("import"))
 +
*** lovapi.configure("class", require("class-commons"))
  
* random lib
 
  
A simple random generator with safe (re-)initialization.
 
Inspired from http://love2d.org/forums/viewtopic.php?f=3&t=2748
 
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)
 
  
* jailfunc (lib)
+
* LCE : Löve Callbacks Enforcer
 +
** Status : released (obsolete?)
 +
** See : [http://love2d.org/forums/viewtopic.php?f=4&t=3113 LCE forum thread]
  
Goal: be able to allow/deny access of library or function (like os, io, require ...)
+
* [http://love2d.org/forums/viewtopic.php?f=4&t=2883 fakelove]
 +
** Status : frozen
 +
** Goal: Build a compatible lua environment in pure lua
  
* jailfs (lib) / jailnet (lib)
+
* luajail and lovejail
 +
** Status : frozen
 +
** Goal: made a secure (jailed) environment for running löve's games.
 +
** TODO: test the crack*.love attacks [http://love2d.org/forums/viewtopic.php?f=3&t=2541 see this thread]
 +
** Goal: be able to allow/deny access of library or function (like os, io, require ...) for the LUA part, and some love functions for the LOVE part
  
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)
+
* jailfs (lib)
 +
** Status : in progress
 +
** Goal: be able to filter that is allowed to read (and write) on file system access
 +
** 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...)
  
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...)
+
* jailnet (lib)
 +
** Status : nothing done yet
 +
** Goal: like jailfs but with the network connections (filter the ip:port like simple firewall)
  
 
* gameconf (lib)
 
* gameconf (lib)
 +
** Status : frozen
 +
** Goal: having easy function to manage game settings
 +
** (FIXME: I don't remember what exactly but I have part of code about that...)
  
Goal: having easy function to manage game settings
+
* LUSE : Löve User Settings Enforcer
 +
** Status : frozen
 +
** 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.
  
(FIXME: I don't remember what exactly but I have part of code about that...)
 
  
* LUSE : Löve user Settings Enforcer
+
* 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 example:
 +
*** debugging (see memory usage, variable values, ...)
 +
*** profiling (see stats about most called function) [http://lua-users.org/wiki/ProfilingLuaCode 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 ...
  
Goal: always keep control! be able to choose and enforce my user settings,
+
* launcher
allow or deny change on resolution/input grabbing/window-or-full-screen mode/no sound/etc.
+
**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.
 +
 
 +
* random lib
 +
** Status : Done, not released yet
 +
** A simple random generator with safe (re-)initialization.
 +
** Inspired from http://love2d.org/forums/viewtopic.php?f=3&t=2748
 +
** 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)
 +
 
 +
* love strict framework
 +
** Goal: show warning or raise error when we do something ugly like :
 +
*** require("module.lua") --> must use require("module")
 +
*** use of draw functions outside of the love.draw (strict way = disable draw function outside of love.draw)
 +
*** abuse of global variables (Use strict module and declare global variables)
 +
*** use of module() deprecated use (recode your module!)
 +
*** use of file name with cases, prefer full lower case (rename your file!)
 +
*** use of creation of new object every frames. How detect that ?
 +
*** ...
  
* input layout
+
* ACL lib
 +
** Status: idea
 +
** Goal: be able to use Access Control List configuration
 +
** Usefull for lot of my security projects
  
Goal: be able to manage keyboard : French, English, ...
+
ACL API of VLC :
also maybe manage mouse with more than 3 ou 5 buttons.
 
  
* love-master
+
<pre>
 +
local a = vlc.acl(true) -> new ACL with default set to allow
 +
a:check("10.0.0.1") -> 0 == allow, 1 == deny, -1 == error
 +
a("10.0.0.1") -> same as a:check("10.0.0.1")
 +
a:duplicate() -> duplicate ACL object
 +
a:add_host("10.0.0.1",true) -> allow 10.0.0.1
 +
a:add_net("10.0.0.0",24,true) -> allow 10.0.0.0/24 (not sure)
 +
a:load_file("/path/to/acl") -> load ACL from file
 +
</pre>
  
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) [http://lua-users.org/wiki/ProfilingLuaCode 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
+
=== Others idea projects ===
  
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.
+
* love API patch (see love.screen ...)
 +
** - newFrameBuffer internaly catch error (return nil on error).
 +
** - add missing screen/graphics functions (getFsaa, getVsync, ...)
 +
** - add missing filesystem functions (getIdentity)
 +
** - and more ...
  
* fakelove (see [http://love2d.org/forums/viewtopic.php?f=4&t=2883&p=30075#p30075 here])
 
  
Others idea projects :
+
* input layout
 +
** Goal: be able to manage keyboard : French, English, ... also maybe manage mouse with more than 3 ou 5 buttons.
  
 
* multi-love (lib)
 
* multi-love (lib)
 
+
** Goal: be able to run multiple (windowed) love program and link them together.
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.
Goal: be able to link (over network/LUBE?) multiple love program and share actions.
 
  
 
* input layer (lib)
 
* input layer (lib)
 +
** Goal: be able to virtualise inputs (to have more than one mouse, one keyboard) see multi-love.
  
Goal: be able to virtualise inputs (to have more than one mouse, one keyboard) see multi-love.
 
  
 +
== Experimentation in Future ==
  
== Experimentation ==
+
* AI project
 +
** Play with simple Artificial Intelligence, see [http://love2d.org/forums/viewtopic.php?p=30779#p30779 UnLöve: Zombie Survival]
  
 
* drawing with z index (see Snippers Skip list and Skip list Drawing Order)
 
* 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 ==
 +
 +
* lovemake.sh
 +
** Status : Done, released
 +
** Description: script to package directory to .love file my [http://love2d.org/forums/viewtopic.php?p=30549#p30549 lovemake.sh]
 +
** from ruby to lua or bash version, see http://love2d.org/forums/viewtopic.php?p=26001#p26001
 +
 +
 +
Currently done (not yet released) :
 +
 +
* stringimprove (lib)
 +
** Status : Aborted, [[strong]] is better.
 +
** (released : [http://love2d.org/forums/viewtopic.php?f=4&t=2886 here]) finally prefer using the BlackBulletIV's [http://love2d.org/forums/viewtopic.php?f=5&t=2893 strong.lua lib]
 +
** Goal: Like [http://love2d.org/wiki/String_exploding String_exploding string.explode()], be able to split string as separated arguments in table.
 +
** Improved String exploding Snippet  see http://love2d.org/wiki/String_exploding .
 +
** New string.split and string.join functions
 +
** Conflict: [String_exploding http://love2d.org/wiki/String_exploding String_exploding]
 +
** Compatible: [http://love2d.org/wiki/String_extensions String_extensions]
  
* collision with circular zone
+
* glob (lib)
 +
** Status : aborted (seems useless)
 +
** Goal: be able to support a string matching with glob pattern (like "*.txt").
  
* drawing only if in zone : defined a target zone, exclude outside objets from drawing process
+
* tablesort (lib)
 +
** Status : Done, not released yet (still buggy)
 +
** Goal: be able to make a for loop with keys on arbitrary/custom order.
  
* proof of concept of webradio player
+
* bench (lib)
 +
** Status : Done, not released yet
 +
** 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)
 +
** Status : Done, not released yet
 +
** Goal: run a start, some code, stop, see the time between the start and stop (in microseconds, milliseconds, seconds, ...)
  
 
== Others ==
 
== Others ==
  
 
* english-french translation of documentation/tutorials/...
 
* english-french translation of documentation/tutorials/...
 +
  
 
= Forum =
 
= Forum =
Line 123: Line 247:
 
== My threads ==
 
== My threads ==
  
* fakelove project : http://love2d.org/forums/viewtopic.php?f=4&t=2883
 
 
* symlink support and require usefull hack : http://love2d.org/forums/viewtopic.php?f=4&t=2896
 
* symlink support and require usefull hack : http://love2d.org/forums/viewtopic.php?f=4&t=2896
  
 
* GUI ask : http://love2d.org/forums/viewtopic.php?f=4&t=2901
 
* GUI ask : http://love2d.org/forums/viewtopic.php?f=4&t=2901
* stringimprove : http://love2d.org/forums/viewtopic.php?f=4&t=2886
 
  
 
* API discuss : http://love2d.org/forums/viewtopic.php?f=4&t=2884
 
* API discuss : http://love2d.org/forums/viewtopic.php?f=4&t=2884
Line 135: Line 257:
  
 
* thrusted loader : http://love2d.org/forums/viewtopic.php?f=4&t=2758
 
* thrusted loader : http://love2d.org/forums/viewtopic.php?f=4&t=2758
 
* random number : http://love2d.org/forums/viewtopic.php?f=3&t=2748
 
  
 
* love built-in changes : http://love2d.org/forums/viewtopic.php?f=3&t=2922
 
* love built-in changes : http://love2d.org/forums/viewtopic.php?f=3&t=2922
Line 150: Line 270:
 
* debug way : http://love2d.org/forums/viewtopic.php?f=5&t=2473
 
* debug way : http://love2d.org/forums/viewtopic.php?f=5&t=2473
 
* testing framework : http://love2d.org/forums/viewtopic.php?f=4&t=2744
 
* testing framework : http://love2d.org/forums/viewtopic.php?f=4&t=2744
 +
* testsuite with telescope : https://github.com/norman/telescope
 
* module discuss : http://love2d.org/forums/viewtopic.php?f=3&t=2542
 
* module discuss : http://love2d.org/forums/viewtopic.php?f=3&t=2542
 +
* ascii colors : http://love2d.org/forums/viewtopic.php?f=5&t=3061
  
 
* cpu : http://love2d.org/forums/viewtopic.php?f=4&t=2763
 
* cpu : http://love2d.org/forums/viewtopic.php?f=4&t=2763
Line 164: Line 286:
 
* translate wiki doc : http://love2d.org/forums/viewtopic.php?f=4&t=2757
 
* translate wiki doc : http://love2d.org/forums/viewtopic.php?f=4&t=2757
 
* tutorials for beginners : http://love2d.org/forums/viewtopic.php?f=3&t=2921
 
* tutorials for beginners : http://love2d.org/forums/viewtopic.php?f=3&t=2921
 +
* tutorial for cameras : http://love2d.org/forums/viewtopic.php?f=4&t=2895
 +
 +
== My steps to learn lua and love ==
 +
 +
* [[TsT way to learn to Beginners]]
 +
 +
 +
== Personal reminder ==
 +
 +
* repair my 2nd computer and run the [http://love2d.org/forums/viewtopic.php?f=3&t=2907 test] on windows and linux
 +
** Status : in progress

Latest revision as of 17:13, 9 February 2015

Introduction

I started to play with LÖVE in 2009 (with the v0.5.0)

I was back in 2011 on löve 0.7.1.

I done a new break until the end of 2014. We are now in 2015, I'm back again! (v0.9.1).

Enjoy !


My 2015 Projects

I released some work done on my github account.


My 2011 Projects

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



  • UTF-8 support for lua (in pure lua)
  • bit64 : 64bits bit-wise emulation for Lua 32bits environment
    • Status: Done, not released yet
    • URL: ...


  • crypto.akiss3-1 : random generator algorithm named AKISS v3.1


  • lova ; Love API
    • Desc: provide a layer to abstract the love primive
    • Goal: provide an easier interface, fix bug, manage alternative
    • Sample:
      • - lova.random(*) -- I just want random things ! without thinking about seed and bug -- never re-seed() ! sample of security break due to reseed
      • - lova.class(*) -- I just want a class ! ... don't care about what class implementation
      • - lova.screen* -- a simple way to change settings !
      • - lova.sound* -- sound manager !
      • - strict
      • - lova.gui -- !
      • - lova.debug
      • - lova.require(*) -- the require() to use for love modules !
      • lovapi.module.load("alternatives") -- like require("alternatives")
      • lovapi.module.unload("anothermodule") -- remove and clean a module
      • lovapi.module.load("lova.import"):init()
      • lovapi.module.init("lova.import")
      • lovapi.provide("import", lovapi.module.get("import"))
      • lovapi.configure("class", require("class-commons"))


  • LCE : Löve Callbacks Enforcer
  • fakelove
    • Status : frozen
    • Goal: Build a compatible lua environment in pure lua
  • luajail and lovejail
    • Status : frozen
    • Goal: made a secure (jailed) environment for running löve's games.
    • TODO: test the crack*.love attacks see this thread
    • Goal: be able to allow/deny access of library or function (like os, io, require ...) for the LUA part, and some love functions for the LOVE part
  • jailfs (lib)
    • Status : in progress
    • Goal: be able to filter that is allowed to read (and write) on file system access
    • 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...)
  • jailnet (lib)
    • Status : nothing done yet
    • Goal: like jailfs but with the network connections (filter the ip:port like simple firewall)
  • gameconf (lib)
    • Status : frozen
    • 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
    • Status : frozen
    • 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.


  • 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 example:
      • 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.
  • random lib
    • Status : Done, not released yet
    • A simple random generator with safe (re-)initialization.
    • Inspired from http://love2d.org/forums/viewtopic.php?f=3&t=2748
    • 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)
  • love strict framework
    • Goal: show warning or raise error when we do something ugly like :
      • require("module.lua") --> must use require("module")
      • use of draw functions outside of the love.draw (strict way = disable draw function outside of love.draw)
      • abuse of global variables (Use strict module and declare global variables)
      • use of module() deprecated use (recode your module!)
      • use of file name with cases, prefer full lower case (rename your file!)
      • use of creation of new object every frames. How detect that ?
      • ...
  • ACL lib
    • Status: idea
    • Goal: be able to use Access Control List configuration
    • Usefull for lot of my security projects

ACL API of VLC :

local a = vlc.acl(true) -> new ACL with default set to allow
a:check("10.0.0.1") -> 0 == allow, 1 == deny, -1 == error
a("10.0.0.1") -> same as a:check("10.0.0.1")
a:duplicate() -> duplicate ACL object
a:add_host("10.0.0.1",true) -> allow 10.0.0.1
a:add_net("10.0.0.0",24,true) -> allow 10.0.0.0/24 (not sure) 
a:load_file("/path/to/acl") -> load ACL from file


Others idea projects

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


  • input layout
    • Goal: be able to manage keyboard : French, English, ... also maybe manage mouse with more than 3 ou 5 buttons.
  • 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.


Experimentation in Future

  • 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) :

  • glob (lib)
    • Status : aborted (seems useless)
    • Goal: be able to support a string matching with glob pattern (like "*.txt").
  • tablesort (lib)
    • Status : Done, not released yet (still buggy)
    • Goal: be able to make a for loop with keys on arbitrary/custom order.
  • bench (lib)
    • Status : Done, not released yet
    • 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)
    • Status : Done, not released yet
    • Goal: run a start, some code, stop, see the time between the start and stop (in microseconds, milliseconds, seconds, ...)

Others

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


Forum

My threads

Bookmarks

wiki doc TODO list

My steps to learn lua and love


Personal reminder

  • repair my 2nd computer and run the test on windows and linux
    • Status : in progress