LÖVELINESS a LÖVE Chrome Extension

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

LÖVELINESS a LÖVE Chrome Extension

Post by binji » Fri Apr 26, 2013 10:10 am

Hi all!

I wanted to show you some LÖVELINESS. Particularly, letting you play love games on the web!

Download LÖVELINESS
Examples + documentation
github project

There's lots more to say, but for now, just check out the links above. :ultraglee:

Enjoy!
-binji

EDIT:
It looks like I've made a mistake by not actually trying out the extension from the webstore... I'm looking into it, but for now you have to turn on the "native client" flag to test. :cry:

EDIT:
* OK, looks like Chrome Stable (v26) works without the flag. If you run Chrome Beta or Canary, you might need to turn the flag on.
* Chromium 25 for Ubuntu seems to not have Native Client plugins installed by default...? So make sure to try other Native Client examples first to see if they work. (e.g. https://chrome.google.com/webstore/deta ... ipaephckkd)
* If the extension is not working for you, please file a bug on github! You can get information about your Chrome version by going to "about:version" and "about:gpu"... please include that info with your bug report!
Last edited by binji on Fri May 03, 2013 4:49 pm, edited 2 times in total.
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page

User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by Robin » Fri Apr 26, 2013 12:29 pm

Very neat. One tiny nitpick: have you made sure that the licenses of all of the examples you hosted on your website allow for that? If they are open source, it's okay, but otherwise it might not be.
Help us help you: attach a .love.

User avatar
SiENcE
Party member
Posts: 753
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by SiENcE » Fri Apr 26, 2013 1:02 pm

binji wrote:Hi all!

I wanted to show you some LÖVELINESS. Particularly, letting you play love games on the web!

Download LÖVELINESS
Examples + documentation
github project

There's lots more to say, but for now, just check out the links above. :ultraglee:

Enjoy!
-binji
Oh ... unexpected & nice!

Is this going to be official supported? LÖVE really needs official Web and Mobile support :).

User avatar
bartbes
Sex machine
Posts: 4943
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by bartbes » Fri Apr 26, 2013 3:31 pm

That looks pretty cool, what kinds of things did you have to do make it work with NaCl?
Also, I'd like to note I'm falsely credited, while the repository with the GLES2 port is on my account, the actual porting was done by someone else (slime).

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 » Fri Apr 26, 2013 3:48 pm

Robin wrote:Very neat. One tiny nitpick: have you made sure that the licenses of all of the examples you hosted on your website allow for that? If they are open source, it's okay, but otherwise it might not be.
Good point! Currently I am just hosting the love-0.8.0 demos, two from stabyourself.net, and IYFCT. I'm not certain about the licenses, does anyone know? If there are any complaints I'll take them down. If is unfortunately hard to demo some of these examples with the direct links... (they need to be .love files)

--- SECOND POST ---
SiENcE wrote: Is this going to be official supported? LÖVE really needs official Web and Mobile support :).
... depends what you mean by official... ^^ I plan to support it for now, and the source is on github. Hopefully that is enough. :D

--- THIRD POST ---
bartbes wrote:That looks pretty cool, what kinds of things did you have to do make it work with NaCl?
Also, I'd like to note I'm falsely credited, while the repository with the GLES2 port is on my account, the actual porting was done by someone else (slime).
Thanks for mentioning, I'll fix the credits. :)

As for how much was needed to port to NaCl... less than you think. I needed to add a few libraries to (naclports) mostly. Then a large part was integrating the OpenGL ES 2.0 code (fortunately already done). Finally, there was integrating with PPAPI (the plugin API for NaCl to communicate with Chrome). Mostly that work was just glue code (creating a new graphics context, listening for input, etc.) -- the SDL port should have worked, but it isn't quite complete enough so I used PPAPI directly. I can get into more details if you're curious.

Honestly what took the most work was backporting OpenGL ES 2.0 to love 0.8 and fixing all the bugs I made in the process. Everything else was pretty straightforward (full disclosure, I work on Native Client).
Last edited by bartbes on Fri Apr 26, 2013 4:09 pm, edited 1 time in total.
Reason: Merged
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page

User avatar
bartbes
Sex machine
Posts: 4943
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by bartbes » Fri Apr 26, 2013 4:13 pm

Could you please not double(/triple) post, or quote entire posts unless absolutely needed (the last one goes for you too, SiENcE)?
binji wrote: I needed to add a few libraries to (naclports) mostly.
I always hate cross-compiling all the dependencies..
binji wrote: full disclosure, I work on Native Client
Ah, familiar with the API, I can imagine that helps too, I could never figure out where to start.

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 » Fri Apr 26, 2013 4:29 pm

bartbes wrote:Could you please not double(/triple) post, or quote entire posts unless absolutely needed (the last one goes for you too, SiENcE)?
Sorry about that. :)
bartbes wrote: I always hate cross-compiling all the dependencies..
Yes, for now I've checked the dependencies into the repo. It definitely simplifies things.
bartbes wrote: Ah, familiar with the API, I can imagine that helps too, I could never figure out where to start.
Well, we're always trying to improve it! If you have any suggestions, I'd appreciate it. My hope is that having concrete, working examples to crib from will help.
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page

User avatar
kikito
Inner party member
Posts: 3142
Joined: Sat Oct 03, 2009 5:22 pm
Location: Madrid, Spain
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by kikito » Fri Apr 26, 2013 4:34 pm

This looks amazing! :nyu: well done!
When I write def I mean function.

User avatar
slime
Solid Snayke
Posts: 2770
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: LÖVELINESS a LÖVE Chrome Extension

Post by slime » Fri Apr 26, 2013 5:15 pm

This is really really cool. :)

About the shaders, GLSL ES 1.0 (OpenGL ES 2.0's shader language) is mostly based on GLSL 1.10, whereas LÖVE specifies GLSL version 1.20 for its desktop version. GLSL 1.10 (and consequently GLSL ES 1.0) is lacking some useful features you'd expect in a language, like the int-to-float conversions for literals that you mentioned on the website.

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 » Fri Apr 26, 2013 5:37 pm

@slime Ah, thanks for clearing that up. I was wondering why so many shaders were broken...
another common failure is assigning default values to uniforms. Usually it works to just remove it, but it does feel a bit icky. :)
[[LÖVE Chrome Extension]]
LÖVELINESS
Examples page
Github project page

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests