Page 1 of 5

Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 3:13 am
by klembot
Hi, I wanted to share Zoetrope, a library I've been working on for some time now. My goal is for it to be a starter kit for LOVE -- something you can plug in and very quickly get everything you need to create a simple game, but is also reasonably extensible. I also designed it to work a lot like Flixel does, partly because that's what I previously used, but also because the community is pretty big and I'm hoping this might lure people into trying LOVE out now that Flash is dead :)

I also tried to make debugging less painful, so it's got an interactive console with a command history and the ability to set watches on variables. It also pops open the console if your game crashes so you can inspect the state of things -- thanks to josefnpat's recent post. You can also record user input to automate testing.

Attached is a demo... I have all this hosted on a Bitbucket repository with downloads, documentation, and couple tutorials. Bugs and pull requests are totally welcome!

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 4:31 am
by Lap
More clicks if you include:
-creating classes, subclassing existing ones, reusing objects
-animated sprites, including alpha fading, color tinting, and rotation
-user input via keyboard, mouse, and gamepads
-framerate-independent physics (velocity, acceleration, and drag)
-collision checking
-static and animated tilemaps, loaded from either CSV or Tiled files
-tweening object properties
-recording user input and debugging

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 6:49 am
by litearc
Wow, this is really awesome - there's so much here. But it crashes in some of the demos when I press a direction key. What version of LOVE was this made in?

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 9:26 am
by SiENcE
Wow, very compact and well done game library!

Recording, not just the user input, but all veriables would be cool.

Keep up good work!

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 10:38 am
by Robin
Tilde is a dead key on my keyboard, so I couldn't activate the debugging console. If you use the unicode argument of love.keypressed, like you did for the UI demo, it works.

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 10:40 am
by Nixola
I don't have it on my keyboard, but pressing '\' worked

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 11:02 am
by coffee
litearc wrote:Wow, this is really awesome - there's so much here. But it crashes in some of the demos when I press a direction key. What version of LOVE was this made in?
I also having same problem in the tests. Clicking in any of arrow keys make an error in key.lua:211 bad argument #1 to char. I'm in OSX if that matters. The multi-feature packed library seems nice in functionality.

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 11:24 am
by bartbes
The API looks really nice, unfortunately I had the same problem as robin, (un)fortunately, you also get dropped into the console on error :P.

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 12:55 pm
by klembot
And so the journey begins to 1.0.1 :)

I coded this against 0.8.0, but it does look like my input modules aren't handling keys correctly on OS X (I'm on Windows)... I think the culprit is this line. Not sure what the right way is to test whether a Unicode value should be considered printable. It looks kind of tricky at first glance anyway.

Robin and bartbes, you can configure what key toggles the console by writing something like this in your source code:

Code: Select all

the.console.toggleKey = 'f4'
I'm super happy people think this looks promising!

Re: Zoetrope, a starter kit for LOVE

Posted: Mon Jun 25, 2012 1:02 pm
by bartbes
Still, it's a tiny fix to check the unicode argument, and it will help everyone with dead keys.

As for the OSX keys, what is the problem, with what keys?

Btw, can I direct your attention to Class Commons, to provide an even better experience when using external libraries?