Start of a tutorial |
michelleC
|
I started a blog/tutorial on iphone sdl integration.
Not much yet but will grow shortly. Sam, you may want to make this a sticky at some point. http://web.me.com/cannonwc/Site_4/Blog/Archive.html |
|||||||||||
|
Game plan |
Start of a tutorial |
mattmatteh
Guest
|
On Sun, 28 Feb 2010, michelleC wrote:
visited that link and i did not see a blog, there is very little there. matt _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
michelleC
|
As I said its just getting started.
But there are 5 pages with code examples, so I don' t know what you mean by little content. It is responding kind of slow for a mobile me site today, I noticed. blame apple. typically mobile me sites are really fast, which is why I like using them for tutorials. But I looked at some site stats and it looks like I may of gotten more than a hundred hits in the last couple hours, I guess sdl is more popular than you think Lots of hits from the playon site because of the flow storyboard showing using playon to access hulu. Hulu was especially chanlleging as it can take a minute for the video to show, the lag is caused by the server, other servers don't seem to exhibit this behavoir. Typically if a user leaves a view controller the objects associated with that controller are destroyed, but the view controller here is tied to the sdl app player, so if you navigate off the view , ie onto the tableview the video will still try to play. I had two choices. Send a mouse_down event to the c app , which is the typical way a user closes the player and the event loop. Or Put up a activityIndicator and lock the navigation controls. The delay is a minute or less, so locking the navigation seems resonable. But some users will complain anyway. |
|||||||||||
|
nfries88
|
A few criticisms:
1) The layout's pretty ugly. If you're going simple, use a single color for background and its complementing color for text. 2) The images at the top of each entry have nothing to do with the topic of the entry -- trash them. 3) It was pretty slow when I accessed it. :/ 4) It didn't seem to have any material useful to anyone but an iPhone developer interested in what SDL has to offer them. Which I'm guessing is your purpose anyway, but my point is that it's not useful to most of SDL's userbase (which is developers for PC platforms where SDL already works fine). |
|||||||||||
|
michelleC
|
1) I did not create the layout, its a iweb page, I may play with the styling later for now I am just concentrating on content. 2) The format follows a textbook with random images starting each section, many people do like this. Find something of your own to trash. 3) I see its slow, but there were a lot of hits today seems like a lot of people think the content is useful. Apparently I sparked a lot of interest when I demonstrated that the app can utilize servers that preset Hulu content. There is something about Hulu that brings the masses out. 4) There are a lot of tutorials on sdl on pc's, macs and linux, those for the iphone you can count on one hand. My target user base is the iphone community , I am sharing it here because the app uses some sdl. And I am aware of a few posters here who will be interested in the articles and demos. All the content going forward will be centered around iphone development, so you may want to look elsewhere. |
|||||||||||||
|
Start of a tutorial |
Donny Viszneki
Guest
|
I like it :)
On Sun, Feb 28, 2010 at 11:52 PM, michelleC wrote:
-- http://codebad.com/ _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
Start of a tutorial |
Jonny D
|
Yeah, I like it too... Except that I think I saw some Obj-C... :P
Jonny D On Mon, Mar 1, 2010 at 8:17 PM, Donny Viszneki wrote:
|
|||||||||||||||||
|
Re: Start of a tutorial |
michelleC
|
Thanks
but you're going to see a lot more objective-c, I am a big fan of smalltalk. smalltalk was long dead and buried before I came on the scene, but I experienced in artificial intelligence classes in college and fell in love with it. I'm working on the network aware mixer demo now. When I first saw sdl I thought the mixer was kind of cool, but the graphics were a bit simple and there wasn't any way to add new wave files. The little demo will have an embedded server which will allow posting of wave files to the iphone, these can than be added to a particular instument, and played on the mixer. Sorry the graphics still won't be anything to write home about. But I think it will be a fun demo, and nicely bridge the gap between both worlds.
|
|||||||||||||||||||
|
michelleC
|
Thank for the replies , I'm glad someone finds it useful.
I also will be updating the previous examples I gave. These were my earliest attempts and I had to make some compromises that I now corrected. In this version I physically remove the uikit folder from the static library before building it. But this is not necessary. Also in this version to get from the sdl app to the iphone ui I destroy the window with SDL_DestroyWidow, This works and had the added benifit of stopping the eventloop but I now just swap between the two frameBuffers rather than destroying the windows. This means I only need to do the opengl initializations once because the view is still available. Also I only use tabs here, if I used a tableView I would have to also call my iphonePumpMessages function with runs a seperate cfrunroop New version will be out soon. flow here http://web.me.com/cannonwc/Site/Photos_7.html and the small sample project here. http://sol3.typepad.com/tagalong_developer_journa/2010/02/sdl-and-coaca-revisted.html Comments on the layout. Aside from color etc. what do you think of the format. I kind of use this a lot. A few pages of explanation Followed by a usecase flow. For the flows I've been using iweb, because in case you haven't noticed you can scrub through the photos and also play as a slideshow. Which is pretty nice for storyboarding. The 6 lines of text allowed with each photo is just barely enough to describe a use case. We use usecase methodogies a work quite a bit, I've seen use cases span several pages. But I like to keep mine short, basically just what the user see, interacts with and expects as output. The photos in kind of a storyboard fashion compensate for the text I think. |
|||||||||||
|
michelleC
|
I found this, its a discussion about porting a game to the iphone, its pretty cool. and the game is too.
http://www.wesnoth.org/forum/viewtopic.php?f=6&t=26193&start=0&sid=16210fbb6fc8f54df9d6cfa56e2b7631 [ |
|||||||||||
|
michelleC
|
SDL use in the iphone community is pretty low.
Why, 1) Not many developers have heard of it 2) The only real demos available are those included with the distribution 3) the few sdl games available do not favorably compare to open gl counterparts 4) hard to make it support open gl es2 5) No trackrecord in the app store Changing that perception I don't know if it is going to help but we are going to do 3 youtube videos some time next week. 1) Launchpad demo showing all the current sdl examples in a normal ui 2) networked aware mixer 3) (maybe) facebook access from with an sdl game 4) video player with demo of accessing hulu content The last one will also be meant to get some feedback on our ui design for our video app. |
|||||||||||
|
nfries88
|
Not too many projects use SDL on PC either. One could probably count the well-known commercial ones with their fingers. SDL's biggest use, and biggest attraction, is portability. That's the primary reason I use it in my own projects -- to be fair, Win32 APIs provide all the functionality I need if I just want to write a windows program. Gdk or Qt provide all I'd want for a Linux program. On Mac I'd probably still prefer to use SDL just because I don't care for writing/reading Obj-C code. However, when I write programs aimed for any combination of the systems SDL is supported on, I'd certainly choose SDL. It also isn't frequently used outside the open-source community, or at least 99% of the products I've seen using it were open-source. Also, SDL doesn't provide a GUI like Qt or wxWidgets do, which probably dissuades people from using it. Although certainly the reasons you've listed are a part of it as well, at least on iPhone. |
|||||||||||||
|
Start of a tutorial |
Erik Yuzwa
Guest
|
It's used in World of Goo. They just slapped on a Direct3D layer for the windows ports.
It's used in quite a few popular commercial Indie games which are not mentioned on the SDL website either. It might be cool to have a showcase section on the website. I don't mind helping out there if that's needed.. cheers, Erik On Wed, Mar 3, 2010 at 8:56 AM, nfries88 wrote:
-- Erik Yuzwa I'd love to help out! Find me on: http://www.wazooinc.com http://www.erikyuzwa.com http://www.twitter.com/eyuzwa |
|||||||||||||
|
Re: Start of a tutorial |
michelleC
|
We can discuss that. The way I see it since Android can support sdl, the iphone can support sdl and I read something that web os has sdl built in. It makes some sense to use sdl over just opengl. And yes I think it is the unusual runloop, event model and lack of gui that turns most developers off. These can be managed. I always have to be the radical girl on the block, But my idea is to develop a set of procedures with some minor mods to sdl, that allows easy integration with the sdk and still keep as much cross platform as possible. The sdl port includes a number of classes only for the iphone port so those are open to mod. Also I recommend creating a common.m , which contains the new interfaces, and a common.h with the c prototypes, together those become the interface between sdk and sdl. I don't think the license fee is a factor, because one thing most iphone developers want is a simple route to those accounting matters. unclear or confusing licensing policies are much more of a turnoff. As well as per seat licenses. |
|||||||||||||
|
Start of a tutorial |
goumba2k5-web
Guest
|
--- On Wed, 3/3/10, nfries88 wrote:
To me, that's its biggest attractor as well. However unlike you my days of GTK+ are behind me, and I have no desire to learn Win32. So SDL gives me the ability to develop a game for those platforms without having to get into native platforms. For non-graphical apps I use wxW.
One of my favorite SDL games is Neverball (and I keep swearing one day when I get the time I'm porting it to the PSP and look into tweaking the linux version for the PS3 so I can use SIXAXIS which will make it pretty damn cool). Why do I bring it up? Well, if not for Linux, and likewise SDL I'd probably have never learned of Neverball. I only found it browsing Debian's repositories. Open source helped me find something I really like, and probably never would have looked for otherwise. Now I'm getting too far off-topic... The point simply was that open source brings diversity. Maybe not as importance to some as commercial viability, however. MichelleC noted a lack of demos other than those included in the distribution, she should instead look at applications that use it. I have never seen anyone play with Win32 demos included with VisualC++ or GTK+ demos with Linux and decide that it was a poor platform just because demos were subpar.
Which the whole discussion of SDL on the iPhone lead me to wonder, I just never had time to contribute my $0.02. Doesn't wxWidgets have a widget where you can run SDL inside of an SDL widget and still use wxW for the main GUI? I can't see why the same can not be done for the iPhone too. Forgive me if I missed it, but I didn't see this mentioned before. -- Anthony T. _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||||||
|
Re: Start of a tutorial |
michelleC
|
Comparing apples and oranges. But the tone of the discussion is encouraging. There is no true concept like a component on the iphone, the ui is basically windows, views and components , but those are conceptually different than there windows or xwindows conterparts. sorry. But the idea is to encapsulate the sdl elements into the sdk in a way that keeps portablity (or as much as possible ) and ideally doesn't change the base code in the static library. Sdl is best managed at the window/view level. And treat it the created sdl_window similarly to a eaglview. |
|||||||||||||||
|
michelleC
|
I like the showcase idea, and I would be willing to contribute to an iphone section.
I am already putting together a tutorial. However I know little and don't have time to explore other platforms, although I think an xbox showcase would be sweet , not sure sdl could complete with direct3d. And a showcase that only included the iphone would be very unbalanced and not much use alone considering sdl's current user base. I think our ambitions are clear, mooncatventures is clearly focused on the iphone, we expect to port apps to android latter this year, considered palm but the market is too small. |
|||||||||||
|
Start of a tutorial |
KHMan
Guest
|
michelleC wrote:
I second what nfries88 says -- and I'd say let's not oversell SDL. Users must be aware that it is an Open Source project, albeit a good and mature one, but to talk about directly comparing or competing against DirectX is just missing the point completely. Many Open Source games use SDL for good reasons, but these reasons may not be for everyone. Why, not very long ago you were slagging on SDL for all the wrong reasons... I am reminded of a well-known tech reporter that did a story on Lua for a tech site that caters to business enterprise IT. Lua does not even fit into that; it has its niche areas. But that did not dissuade this reporter, and the end result was this weird dissonant story. This kind of overselling invites backlash and ridicule. Slow down, cut the hype. SDL does not compete against any of those other libraries. You consider your application and you just pick the best tool given a set of circumstances. In a social media culture, there is an unconscious tendency to overdo the hype. I don't think SDL's cause will be helped by use of hype. -- Cheers, Kein-Hong Man (esq.) Kuala Lumpur, Malaysia _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
Re: Start of a tutorial |
nfries88
|
I second this notion. Drawing too much attention to SDL may be a bad thing. However, I certainly think it's fine when opening the idea of using SDL to a community that probably have heard little to nothing of it before (iPhone devs) to show successful use cases on other platforms. Going beyond that, and especially comparing it to other APIs to a community that knows near-nothing about SDL, could be disastrous to SDL's reputation. SDL provides no 3D APIs. It uses 3D APIs for accelerated rendering, but it doesn't provide them at all -- the developer using SDL must provide his own 3D engine. Comparing it to Direct3D or OpenGL would be harmful and *wrong* for that reason. Comparing it to Allegro or SFML, however, would be fair -- but iPhone devs have probably heard about as much of those as they have of SDL, perhaps even less (since SFML is fairly young and neither have an iPhone port yet), so it's probably a bad idea. If I were you, I would just stick to teaching how to use SDL effectively** on the iPhone, and also providing code for generic SDL use-cases. There aren't really any SDL 1.3 examples or tutorials out there, as you've mentioned, so it'd be great for you to provide them. Especially with the perspective of a newcomer to SDL, you might be able to explain the API's use more effectively to another newcomer than an SDL "expert" could. ** - in a way that would seem familiar to an iPhone developer |
|||||||||||||||
|
Re: Start of a tutorial |
michelleC
|
I didn't mean to over hype it. You took my direct3d remark out of context.
I said, an xbox port (which I understand there is already) would be cool to talk about but I doubt sdl could compete against direct 3d> And yes I think if the iphone community knew more about sdl they would find more uses for it. Many of us are doing or planning to do dual platform development, and anything that makes it easier to go between iphone, android and maybe palm is worth exploring.
|
|||||||||||||||||
|
Start of a tutorial |
Jeremiah
Guest
|
Isn't there java on these platforms? A complete virtual machine. Can't beat that for portability.
|
|||||||||||||
|
Start of a tutorial |
Vittorio G.
Guest
|
On Thu, Mar 4, 2010 at 5:20 AM, michelleC wrote:
SDL will surely be popular because it will allow many ports of already existing games, but i sincerely doubt that iphone developers will leave the simplicity of objc and the documentation of cocoatouch anyways i can't wait to read the following chapters of your tutorial, i do like it bye Vittorio |
|||||||||||||
|
Re: Start of a tutorial |
michelleC
|
Only time will tell, but I know a lot of developers who will want to give it a try. As far as I know and I have the only working port of ffplay and that is because of sdl. And there are quite a few developers who will try that in itself. For many developers revenue is the major thing, and if there is a library or code that will give someone an advantage than they will embrace it. There is an awlful lot of existing sdl code. on other platforms. Bottom line there is enough mystery about sdl at this time that it excites that crowd. Someone here described the iphone environment has a lawless frontier , like in the pioneer days, that is very accurate and what makes it exciting. I really got heavy into some tasks for work so haven't been able to work on any demos but hope to resume the tutorial and demos this week. At the request of some other developers I've agreed to put out a water down version of my video player so that will probably take presidence, but that is sdl code. |
|||||||||||||||
|
Re: Start of a tutorial |
michelleC
|
Only time will tell, but I know a lot of developers who will want to give it a try. As far as I know and I have the only working port of ffplay and that is because of sdl. And there are quite a few developers who will try that in itself. For many developers revenue is the major thing, and if there is a library or code that will give someone an advantage than they will embrace it. There is an awlful lot of existing sdl code. on other platforms. Bottom line there is enough mystery about sdl at this time that it excites that crowd. Someone here described the iphone environment has a lawless frontier , like in the pioneer days, that is very accurate and what makes it exciting. I really got heavy into some tasks for work so haven't been able to work on any demos but hope to resume the tutorial and demos this week. At the request of some other developers I've agreed to put out a water down version of my video player so that will probably take presidence, but that is sdl code. |
|||||||||||||||
|
michelleC
|
Today as part of an ongoing tutroial series into sdl / sdk integration for the iphone , we start something new.
StreamX is our application to play content from upnp servers, it is nearing completion. StreamX requires content to exist on upnp media servers. We thought it might be fun to write a simple open source demo app showing the integration of sdl within the iphone uikit framwork. We call this webstream. And we will over the next few weeks be detailing and expanding webstream. In addition to providing a solid base for an sdl / uikit integration, webstream maybe the only application we can play any content from a hulu's user queue. Several communities are interested in both the code and the tutorial, and these will be cross posted across these. The source will be hosted on our svn server as weill as the ffmpeg4ipone google site. The flow has already been added to our tutorial flow page here. http://web.me.com/cannonwc/Site_4/Blog/Entries/2010/2/3_A_Walk_Thru_of_a_Typical_Use_Case.html |
|||||||||||
|
michelleC
|
Looks like the code finally made it to the svn. http://99.139.107.194/svn/test/sdldml/WebStreamx/src/ |
|||||||||||||
|
Re: Start of a tutorial |
michelleC
|
More content samples posted |
|||||||||||||||||
|
Re: Start of a tutorial |
michelleC
|
More samples have been posted. |
|||||||||||||||||||
|
iampeteandrews
|
michelleC -
i'd absolutely LOVE to get to an example iphone/ipad xcode project (i've been trying to follow your blog(s) )... is the streamX project available anywhere? that svn link seems to be not working... thanks! pete |
|||||||||||
|
iampeteandrews
|
just to follow up - i was able to find the webstreamx project on the ffmpeg4iphone site:
http://code.google.com/p/ffmpeg4iphone/ (in case anyone else is looking). -pete |
|||||||||||
|
michelleC
|
Sorry That is a very small precursor to streamX, but you might learn something from it. Last time that svn server crashed, I just didn't bother with it. I've been meaning to transfer that to a better machine, the 1st gen mac mini just couldn't take the number of download requests it was getting. all these projects were written more than an year ago and a lot has changed. I know streamPad and possibly webstreamx will run on iphone 0s 4.2 but I haven't tried it in a while. I've been involved with a lot of contract hire video/audio work on the iphone and ipad (yes using sdl on iphone and Android) so I just didn't have time. I supposed if there is really some interest I may look at putting that svn up again. Sorry MichelleC |
|||||||||||||
|