Page 4 of 13

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Mon Apr 29, 2013 4:04 pm
by binji
T-Bone wrote:Just one question, how big is the difference between NaCl and WebGL for Löve in terms of performance and features?
Not sure if I completely understand your question. NaCl uses WebGL to render -- but it also uses C++ code for all of the logic. Most of the code for the LÖVELINESS is the same as for love 0.8, except for some glue code and the Open GLES 2.0 (which is basically the same as WebGL) code from slime.

Maybe you're asking about the difference between this and Ghoulsblade's Love webplayer? That's quite a bit different, because it is a rewrite of Löve using all web technologies (HTML5, JS, etc.) The benefit is that it will work in all HTML5 compliant browsers, whereas LÖVELINESS only works in Chrome.

As for missing features, check out the issues page. Right now the thing that breaks most games: shaders. Mostly they work, but they often require some tweaking. I've recently added a document to help porting shaders to LÖVELINESS.

Performance is great, I've seen a few hiccups, and I'm sure it can be optimized, but I'm consistently getting 50-60fps on everything I've tried.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Mon Apr 29, 2013 7:44 pm
by easy82
slime wrote:
easy82 wrote:Particles example, IYFCT and Ortho Robot fails on exit with this error message: Unknown event 'q'.
Those were written for 0.7.x. love.event.push("q") was changed to love.event.push("quit") for 0.8.0, but those love programs haven't been updated fully for it.
I see! That doesn't seem too difficult to fix then. :)

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Mon Apr 29, 2013 8:00 pm
by easy82
binji wrote:
easy82 wrote: I wanted to try the player out on Chromium 25.0.1364.160 built on Ubuntu 12.04, but while it installed all right, it does not play .love files. Instead it downloads them. I've even turned on native flag on, but no avail. Maybe it's something related to the fact Chromium is not Chrome?
I don't think so, I test with a version of Chromium that I've built myself. And Chromium is basically the same as Chrome, just missing a few plugins + branding.

My guess is that something I use in the extension isn't supported in older versions of Chrome. Anyway, Chrome 26 is the stable version so you should be using that if you can. Anything older than that is no longer supported by the Chrome team, so could have security issues, etc.

BTW, if it's not too much to ask, could you file bugs on github? That will keep bugs from slipping through the cracks. :)

Also -- don't forget to try random web links, those should work too! For example, I often tested against links on ludumdare or the love2d forums... if they don't, I'd like to know about it. A lot of websites do weird redirects to download files which tricks my extension...

Thanks!
Ok, I'm on Chrome now. Updated to Löveliness 1.3, mouse scrolling works! :P

I have never used github before, but I think I will file bugs if I encounter one.

I'm not sure if it's a bug, so I just note it here: if I click on the "Linux / .love" link here with the left mouse button, nothing happens, but if I click with the right one and open it in a new tab, Löveliness playes the .love file.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 12:13 am
by Jasoco
This is pretty cool. I tested my 3D engine project and it works surprisingly. The only problems are that the Perspective.lua textured polygon library xXxMoNkEyMaNxXx made does not work. A bunch of errors with math symbols or something. So I disabled it temporarily. The other problem is the framerate is really low but that's to be expected since my project works best in LuaJIT.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 2:59 am
by slime
Speaking of, is the JIT portion of LuaJIT allowed with NaCl? Even if it isn't, LuaJIT running in pure interpreter mode is still 2-5 times faster than regular Lua. It should work fine as a straight drop-in replacement with no LÖVE source modifications.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 4:43 am
by binji
slime wrote:Speaking of, is the JIT portion of LuaJIT allowed with NaCl?
Yes, it's possible. There is a port of Mono to NaCl, which uses dynamically generated code. Porting a JIT is considerably more work than recompiling with NaCl's GCC compiler, though. :)
slime wrote:Even if it isn't, LuaJIT running in pure interpreter mode is still 2-5 times faster than regular Lua.
Good to know, I'll give it a shot!

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 1:12 pm
by clofresh
This is so awesome, now Löve is that much closer to being a first class citizen of the web!

Would there be a way for the Chrome extension to read some metadata off of the .love file without fully downloading it? That way we can embed information like the title, description, instructions, changelog, thumbnail, screenshot into the .love file and everything would be self-contained and self-describing.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 5:59 pm
by T-Bone
binji wrote:
T-Bone wrote:Just one question, how big is the difference between NaCl and WebGL for Löve in terms of performance and features?
Not sure if I completely understand your question. NaCl uses WebGL to render -- but it also uses C++ code for all of the logic. Most of the code for the LÖVELINESS is the same as for love 0.8, except for some glue code and the Open GLES 2.0 (which is basically the same as WebGL) code from slime.

Maybe you're asking about the difference between this and Ghoulsblade's Love webplayer? That's quite a bit different, because it is a rewrite of Löve using all web technologies (HTML5, JS, etc.) The benefit is that it will work in all HTML5 compliant browsers, whereas LÖVELINESS only works in Chrome.

As for missing features, check out the issues page. Right now the thing that breaks most games: shaders. Mostly they work, but they often require some tweaking. I've recently added a document to help porting shaders to LÖVELINESS.

Performance is great, I've seen a few hiccups, and I'm sure it can be optimized, but I'm consistently getting 50-60fps on everything I've tried.
Yes, I did indeed mean the difference between this and the Löve Webplayer. Thanks for a very good answer! Löveliness does seem far superior to the webplayer at the moment, although it is limited to Chrome.

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 6:09 pm
by qaisjp
Wow.. it's really cool :D
Next we'll be designing websites in Lua :D

Re: LÖVELINESS a LÖVE Chrome Extension

Posted: Tue Apr 30, 2013 9:04 pm
by binji
I took a look at building LuaJIT in interpreter mode. Again, it is possible, but it is not going to be an easy port. I may look at it later, but there's more low-hanging fruit first. :)

Speaking of low-hanging fruit, 0.1.4 adds support for fullscreen and love.graphics.hasFocus! Also, I wired up lua's print function to display in the Chrome Developer Tools console. You should be able to do some simple debugging that way. (I'd like to do real remote debugging as well, but that's further off...)
clofresh wrote:Would there be a way for the Chrome extension to read some metadata off of the .love file without fully downloading it?
Maybe... a love file is just a zip file. Easiest way would be to try to extract the conf.lua file from inside the zip. I'm not sure how quick you can make that or whether you can do it easily without reading a lot of the file (and performing multiple HTTP requests).