Love2D WebPlayer (WebGL)

Discuss any ports of LÖVE to different platforms.
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: Love2D WebPlayer

Post by Jasoco »

Man. If this were 0.8.0 with LuaJIT it'd be amazing. The only problem is bandwidth. Though it'd be neat if a deal could be made with NewGrounds to support Löve games like they do Flash and HTML5.
User avatar
ghoulsblade
Party member
Posts: 111
Joined: Sun Oct 31, 2010 6:11 pm

Re: Love2D WebPlayer

Post by ghoulsblade »

it is "html5" actually, webgl and javascript are both standard html features now afaik.
luajit : not possible since the webplayer works without a browser-plugin, so it cannot run compiled code, rather lua is "translated" to javascript and then run
love 0.8 : well hurry up and make it stable then =P i have to reimplement the löve api in javascript so it'll take a while to become fully functional,
i go by the api docs in the wiki rather than digging through löve source. webgl is a bit minimal but does support shaders, so might well be possible to implement all 0.8 stuff, i'd appreciate some help tho ;)
love-android - gamejams
User avatar
TechnoCat
Inner party member
Posts: 1611
Joined: Thu Jul 30, 2009 12:31 am
Location: Milwaukee, WI
Contact:

Re: Love2D WebPlayer

Post by TechnoCat »

coffee wrote:I'm using OSX. For now only working in Chrome. For my surprise not working in updated Safari. Also not working in Firefox 3.6 and Opera. In Chrome seems good.
http://dev.opera.com/articles/view/an-i ... mentations
You should be good if you have an up-to-date Safari. But, it does require the alpha version of Opera 12.
Works great for me on Chrome 17 and Firefox 12.

I mean really, my Android phone can run the demo.
coffee
Party member
Posts: 1206
Joined: Wed Nov 02, 2011 9:07 pm

Re: Love2D WebPlayer

Post by coffee »

TechnoCat wrote:
coffee wrote:I'm using OSX. For now only working in Chrome. For my surprise not working in updated Safari. Also not working in Firefox 3.6 and Opera. In Chrome seems good.
http://dev.opera.com/articles/view/an-i ... mentations
You should be good if you have an up-to-date Safari. But, it does require the alpha version of Opera 12.
Works great for me on Chrome 17 and Firefox 12.

I mean really, my Android phone can run the demo.
Hmmm, I went looking why wasn't working. My Developer Enable WebGL was turned off. Getting now constant MyCheckGLError : gl.getError() : 1280 : INVALID_ENUM stack=undefine errors popping up (need to Force Quit Safari). About Firefox I prefer keep an old version for now but It's good to know then that is working in new versions.
User avatar
tsturzl
Party member
Posts: 161
Joined: Fri Apr 08, 2011 3:24 am

Re: Love2D WebPlayer

Post by tsturzl »

You're interpreting an interpreted language in an interpreted language. This seems crazy..

Perhaps compile lua to javascript? This should take away some of the load on the users end. Though, I'm not sure if its an easy implementation.

I was considering doing a project similar to this, some of the ideas I had are as follows. I'll also list some pros and cons:
  • Love2D in the cloud. Execute the Lua code on the server, draw to frame buffer, get imageData, send string via HTTP, get and draw imageData with Ajax.
    -Super Slow, requires tons of bandwidth, hard on the server.
    -Probably just an all around bad idea..
  • Plugin, use SELove as an engine for a browser plugin.
    -Requires you to install a plugin.
    -Possible security flaws. Even in a sandboxed environment.
    +Native execution speed.
    +A bulk of the work is done, just requires porting.
  • Run Lua in the Java VM. (Kahlua implementation)
    -/+They did this with Android for love at first, it ran decently. Performance may be an issue at first glance, but you have to realize running Java on a desktop/laptop is going to be much faster.
    + Java is typically already a browser plugin on most computers.
    - Java's 2D graphics libraries aren't that great, would be a pain to port to Java. Not to mention that I hate java..
  • Adobe Alchemy(C++/C flash compiler), port Love2D to compile in Adobe Alchemy.
    +Most people have flash.
    +Flash is pretty fast, Alchemy is even faster.
    +Flash has a pretty good engine for 2D graphics.
    +Box2D has already be ported to Flash.
    -Flash is slower than native execution.
    -Almost all graphical code will need to be rewritten.
    -No support for Shaders, in fact no direct access to underlaying graphics libraries (DX or ogl).
  • Run lua in a Javascript environment
    -You're interpreting an interpreter for an interpreted language, with an interpreted language. Sounds painful :death:
    -Networking will be pretty difficult...
    +Box2D has been ported to jscript.
    +all modern browser have javascript.
    +HTML5 is the way of the future.
Personally I like the idea of love2d for the flash and the JVM a lot. I like your idea, but I see a lot of performance issues..
User avatar
TechnoCat
Inner party member
Posts: 1611
Joined: Thu Jul 30, 2009 12:31 am
Location: Milwaukee, WI
Contact:

Re: Love2D WebPlayer

Post by TechnoCat »

I did many of the joystick functions. I have not done love.joystick.joystickpressed/joystickreleased yet.
https://github.com/Pindie/love-webplaye ... oystick.js


You can try out my live development site assuming my desktop doesn't go to sleep: http://home.pindie.org:8889/
Hopefully you have a gamepad capable browser. If you are using Chrome, you need to enable it in chrome://flags
tsturzl wrote: -You're interpreting an interpreter for an interpreted language, with an interpreted language. Sounds painful :death:
-Networking will be pretty difficult...
http://dev.w3.org/html5/websockets/
I don't think the interpreted part should be a problem. It converts the Lua into js and then runs it at js speed. The two languages are almost 1-to-1 in syntax it seems to me. Javascript is just missing metatables.
Last edited by TechnoCat on Tue Mar 20, 2012 5:42 am, edited 4 times in total.
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: Love2D WebPlayer

Post by Jasoco »

This is awesome. I didn't know it was HTML5. How is the framerate with projects that are bigger than just the clouds demo?

What does it currently support and not support. I don't suppose Canvas/Framebuffers are in yet. Or are they?
User avatar
slime
Solid Snayke
Posts: 3162
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: Love2D WebPlayer

Post by slime »

Google NaCl! </fanboy>
Last edited by slime on Tue Mar 20, 2012 4:13 am, edited 2 times in total.
User avatar
TechnoCat
Inner party member
Posts: 1611
Joined: Thu Jul 30, 2009 12:31 am
Location: Milwaukee, WI
Contact:

Re: Love2D WebPlayer

Post by TechnoCat »

Jasoco wrote:What does it currently support and not support. I don't suppose Canvas/Framebuffers are in yet. Or are they?
Almost nothing is in, newImage and draw pretty much. But the thing is, canvas is definitely possible.
slime wrote:Google NaCl! </fanboy>
If you get something up and running as a proof of concept, that'd be cool.
User avatar
ghoulsblade
Party member
Posts: 111
Joined: Sun Oct 31, 2010 6:11 pm

Re: Love2D WebPlayer

Post by ghoulsblade »

tsturzl wrote: [*]Run Lua in the Java VM. (Kahlua implementation)
-/+They did this with Android for love at first, it ran decently. Performance may be an issue at first glance, but you have to realize running Java on a desktop/laptop is going to be much faster.
i'm the one who made the love-android java part, i'm going to reuse a lot of the code for javascript ;)
java isn't known as the fastest language tho, i actually think javascript+webgl might be faster than java gui.
Also not everyone has java enabled in browser, i think the "target audience" that can use games in javascript+webgl out of the box will be substantially bigger.
tsturzl wrote: [*]Adobe Alchemy(C++/C flash compiler), port Love2D to compile in Adobe Alchemy.
+Most people have flash.
+Flash is pretty fast, Alchemy is even faster.
+Flash has a pretty good engine for 2D graphics.
the lib i used to compile lua to js code also supports compiling to actionscript(flash).
I hate flash, but if you're interested in that part and think you'd get better performance, it might be worth a look :
https://github.com/mherkender/lua.js
love-android - gamejams
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests