Page 2 of 21
Re: Love2D WebPlayer
Posted: Mon Mar 19, 2012 8:09 am
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.
Re: Love2D WebPlayer
Posted: Mon Mar 19, 2012 9:17 am
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
Re: Love2D WebPlayer
Posted: Mon Mar 19, 2012 5:12 pm
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.
Re: Love2D WebPlayer
Posted: Mon Mar 19, 2012 5:43 pm
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.
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 1:41 am
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
-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..
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 3:57 am
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
-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.
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 4:04 am
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?
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 4:12 am
by slime
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 4:13 am
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.
If you get something up and running as a proof of concept, that'd be cool.
Re: Love2D WebPlayer
Posted: Tue Mar 20, 2012 8:51 am
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