LÖVELINESS a LÖVE Chrome Extension

Discuss any ports of LÖVE to different platforms.
User avatar
binji
Prole
Posts: 32
Joined: Fri Apr 26, 2013 9:43 am
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page
User avatar
easy82
Party member
Posts: 184
Joined: Thu Apr 18, 2013 10:46 pm
Location: Hungary

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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. :)
User avatar
easy82
Party member
Posts: 184
Joined: Thu Apr 18, 2013 10:46 pm
Location: Hungary

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
User avatar
Jasoco
Inner party member
Posts: 3725
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
User avatar
slime
Solid Snayke
Posts: 3132
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
User avatar
binji
Prole
Posts: 32
Joined: Fri Apr 26, 2013 9:43 am
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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!
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page
User avatar
clofresh
Citizen
Posts: 87
Joined: Sun Jul 26, 2009 4:21 pm
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
----------------------------------------
Sluicer Games
User avatar
T-Bone
Inner party member
Posts: 1492
Joined: Thu Jun 09, 2011 9:03 am

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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.
User avatar
qaisjp
Party member
Posts: 490
Joined: Tue Sep 04, 2012 10:49 am
Location: United Kingdom
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by qaisjp »

Wow.. it's really cool :D
Next we'll be designing websites in Lua :D
Lua is not an acronym.
User avatar
binji
Prole
Posts: 32
Joined: Fri Apr 26, 2013 9:43 am
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post 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).
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests