SDL 2.0 released

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
clofresh
Citizen
Posts: 87
Joined: Sun Jul 26, 2009 4:21 pm
Contact:

SDL 2.0 released

Post by clofresh »

Hey, looks like SDL 2.0 got released: http://forums.libsdl.org/viewtopic.php?t=9375

I remember from a past post slime saying that SDL 2.0 is the future, mentioning among other things, iOS and Android support. Now that it's out, what needs to get done to move towards LÖVE using SDL 2 and eventually getting iOS and Android support?

I ask because I'd like to help out if possible.
----------------------------------------
Sluicer Games
User avatar
Eamonn
Party member
Posts: 550
Joined: Sat May 04, 2013 1:29 pm
Location: Ireland

Re: SDL 2.0 released

Post by Eamonn »

SDL 2.0 supports iOS and Android? Would this not make the Android port easier to write?

About iOS support: Apple are very locked down, so maybe an iOS port wont happen(you can write iOS games in C I believe, if not you can always call the C from Obj. C I think(I've played around with Obj. C, but never used it for anything because it's one of the languages I hate(along with REBOL and VB))). If it did, I'd be over the moon happy! I'd be over the LÖVElyMoon(hehe...)!

I would assume that the Android Port of LÖVE would have to be rewritten. Also, I don't know if there's much point in porting it over, since 0.9.0 is pretty close from what I've heard. Maybe when that comes out there port will be worked on again.

An interesting question though. I just wanted to say It'd be awesome if it happened, especially for iOS, but I don't know if it'll happen.

Then again, LibGDX allows you to make iOS games in Java, but I think that Xamarian.iOS does something funny there and converts it to native iOS code.
"In those quiet moments, you come into my mind" - Liam Reilly
User avatar
slime
Solid Snayke
Posts: 3170
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: SDL 2.0 released

Post by slime »

So first, SDL 2 makes it possible to implement several long-wanted features that aren't related to Android / iOS. LÖVE will probably have official support for Android and iOS in the future, but not the immediate future. SDL 2 isn't just a stepping stone towards mobile, it's a big thing on its own. :)

For a while it wasn't certain whether LÖVE 0.9.0 or SDL 2.0 would release first, so I have been keeping an experimental branch of LÖVE 0.9.0's code which has several changes now possible with SDL 2, but the main 0.9.0 code doesn't have any of those changes yet.

Unless something goes horribly wrong, those changes will make it into 0.9.0, but there are still a couple minor things to work out before I'm satisfied with them enough to merge the stuff into the main repository.

You can check out the commits I've made for the experimental SDL 2 branch here: https://bitbucket.org/bartbes/love-expe ... ranch/SDL2 (you may need to go back several pages to see all of them.)

Not all of SDL 2's new features are a good fit for LÖVE right now, for example multiple windows is a niche feature for games and would probably add more complexity and issues than it's worth.
Haptic (force feedback) support is not in the SDL 2 branch of LÖVE right now, partly because the API is complex and difficult to integrate nicely into LÖVE's style, partly because many joystick drivers can't do force feedback very well at all, and partly because there were still important bugs in SDL 2's haptic code when I last looked at it (although many have been resolved by now.)

Some of the features that are in the SDL 2 branch of LÖVE:
  • Display-choosing and 'fullscreen-desktop' for love.window.setMode
  • Setting and getting system clipboard text
  • Proper unicode text input support
  • Custom hardware cursors
  • Completely reworked Joystick API, complete with true hot-plugging and integrated SDL_GameController support (so it's way easier to do gamepad input across platforms and gamepads.) Pretty much all of love.joystick has changed significantly.
There are a few other minor changes I've integrated as well, but those are the biggest ones.

Android and iOS support will come when we're ready to actually support the platforms. The biggest two blocks to having LÖVE on mobile is an OpenGL ES 2 backend (although I did some work on that already) and the fact that providing a quality tool for two platforms which are very different from the currently supported ones goes way beyond just making most of it work.


EDIT: Here is a blog post by Ryan Gordon (an SDL developer and Mac/Linux game porter, AKA icculus) talking about SDL 2's development and its future: https://plus.google.com/103391075724026 ... erid=gplp0
Great read. :)
Attachments
Fx8Fttq.jpg
Fx8Fttq.jpg (146.14 KiB) Viewed 901 times
User avatar
clofresh
Citizen
Posts: 87
Joined: Sun Jul 26, 2009 4:21 pm
Contact:

Re: SDL 2.0 released

Post by clofresh »

Awesome, thanks for the detailed update! Is there a particular area of work for 0.9.0 or beyond that needs attention but neither you nor the other core contributors have the bandwidth to work on?
----------------------------------------
Sluicer Games
jjmafiae
Party member
Posts: 1331
Joined: Tue Jul 24, 2012 8:22 am

Re: SDL 2.0 released

Post by jjmafiae »

better android support would make my year.
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: SDL 2.0 released

Post by Davidobot »

slime wrote:Display-choosing and 'fullscreen-desktop' for love.window.setMode
What does that mean? And copying to and from the clipboard is awesome.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Ranguna259
Party member
Posts: 911
Joined: Tue Jun 18, 2013 10:58 pm
Location: I'm right next to you

Re: SDL 2.0 released

Post by Ranguna259 »

You can have more than one screen connected to you computer, display choosing is (I guess) changing between displays that are connected to you computer, like dual monitors setup and such

EDIT: OMG clipboard integration, my jimmies are officially rustled, can't wait for mobile support (and if you have trouble with iOS then just forget it and go full Android, just sayin')
LoveDebug- A library that will help you debug your game with an on-screen fully interactive lua console, you can even do code hotswapping :D

Check out my twitter.
User avatar
Murii
Party member
Posts: 216
Joined: Fri Jul 05, 2013 9:58 am
Location: Arad, Romania
Contact:

Re: SDL 2.0 released

Post by Murii »

When Android comes then I`ll come back to love otherwise I just waste time!
ki
Prole
Posts: 16
Joined: Tue Oct 09, 2012 10:23 am

Re: SDL 2.0 released

Post by ki »

slime wrote:Android and iOS support will come when we're ready to actually support the platforms. The biggest two blocks to having LÖVE on mobile is an OpenGL ES 2 backend (although I did some work on that already)
SDL 2.0 seems to support both OpenGL ES 1 and 2. (There's a folder "src\render\opengles2" in the SDL 2.0 Zip file.) Do you intend to use SDL's backend, or write a new one?
User avatar
slime
Solid Snayke
Posts: 3170
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: SDL 2.0 released

Post by slime »

clofresh wrote:Awesome, thanks for the detailed update! Is there a particular area of work for 0.9.0 or beyond that needs attention but neither you nor the other core contributors have the bandwidth to work on?
I'm not sure, looking at the issue tracker there's a suggestion for reworking ImageFonts, a suggestion for SpriteBatch-like objects for shapes and lines, one for getting microphone input support working with OpenAL, and one for video playback (although I think rude has "claimed" that one for when he has the time.)

It might also be interesting to test out whether a nice unobtrusive API could be made for multiple mouse support (via ManyMouse probably.) It could also potentially be useful to have a sort of "shared memory" object for accessing and storing the same data in multiple threads, as long as it can be proven to have significant advantages over Channels in at least some use cases.
Davidobot wrote:
slime wrote:Display-choosing and 'fullscreen-desktop' for love.window.setMode
What does that mean? And copying to and from the clipboard is awesome.
It means you can detect how many monitors are connected to the computer and what fullscreen resolutions they support, and choose which one to show the window in, so you could have a menu in your game for selecting what monitor to use when going fullscreen.
ki wrote:
slime wrote:Android and iOS support will come when we're ready to actually support the platforms. The biggest two blocks to having LÖVE on mobile is an OpenGL ES 2 backend (although I did some work on that already)
SDL 2.0 seems to support both OpenGL ES 1 and 2. (There's a folder "src\render\opengles2" in the SDL 2.0 Zip file.) Do you intend to use SDL's backend, or write a new one?
SDL 2's Render API is a very high-level abstraction over OpenGL, Direct3D, and OpenGL ES. LÖVE won't use it, it's much more basic than LÖVE's current graphics API.
SDL 2 also has backends for creating an OpenGL ES 2 context and letting the program (LÖVE) use it as it sees fit, similarly to how SDL already does this for regular OpenGL. That is what LÖVE will (eventually) take advantage of, but it means LÖVE's graphics module will need to be made to work with OpenGL ES 2 as well as regular OpenGL. :)
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests