Results 1 to 3 of 3

Thread: Clanlib 2 Iphone and other ports possible?

  1. #1
    Join Date
    Sep 2008

    Default Clanlib 2 Iphone and other ports possible?


    We're developing a game for iphone - hopefully it will be out before 2010 - with our own engine. The engine is bare bones and it will hardly be used in next games, because it was tailored for this game only. Our "engine" is crappy( I can say that because I wrote it ).

    Ok to the point. I have used clanlib before in various experiments of my own and I still think it's better than SDL for many reasons (it covers everything needed for making games, license, it really WORKS, etc). Now that you guys have released 1 and 2 which I presume marks somekind of milestone in the clanlib development, I began to think that how hard is to port clanlib to support other devices?

    You have abstracted at least graphical functions, so opengl es port shouldn't be impossible to do, but what about audio, network and input?

    If this is possible, we could use clanlib for the next game and port it to iphone. And with iphone port with opengl es, ps3, etc would come almost naturally.

    I still think there are too few frameworks and libraries for true cross platform development. It would be so cool to develop iphone games using PC to the point that all but the actual iphone controls are implemented.

    So with 80% my post being bullcrap I'll rephrase the question : Is ClanLib easy to port to other devices(IF you know the device)? How deep is ClanLib abstracted?

  2. #2
    Master Sorcerer
    Join Date
    Sep 2006


    Generally ClanLib is very modular in its design. All the different libraries have been designed to be usable in both Windows, Linux and Mac OS X, and therefore only have a few places that needs to updated to target an additional platform.

    The general cross platform support is provided by clanCore, which acts as a portable runtime used by the other modules. In the majority of ClanLib, whenever something is platform specific, there is an abstraction that cleanly separates the code for each platform.

    To illustrate this, the clanGDI target was originally designed to be used for Win32 only. But it only took Rombust a day or two to port it to Linux. So generally it relatively little work to support a new platform in ClanLib.

    However, there may still be special conditions for the platforms you mention (iphone, playstation) that could make it slightly more work to support these platforms. For instance, the playstation architecture may require extra work if ClanLib is to offload work to the cell processors. And while the XBox does support a subset of Win32, it is still a subset and there may be parts that try to use things not available in this subset.

    Overall I'd say that ClanLib is much easier to port to a new platform than most libraries out there. Partly because targetting multiple platforms was a priority when the code was written, and partly because it already targets 3 platforms and therefore already is mostly platform independent in the majority of the code.

  3. #3
    Join Date
    Sep 2008


    Hi, and thank you for your answer!

    That is good to hear, a new benefit for using clanlib.

    You mentioned that with playstation 3 you should load work to the SPEs.
    Does clanlib distribute calculations to many threads internally? Because what I have coded SPEs in ps3, I have always used them for something "less general"(constructing procedural textures for example) than let's say a general usage renderer due to the low abstraction that can be made with SPEs. So it would be no problem just to leave them out of the whole clanlib altogether and let the developer decide what to use them.

    The main considerations of portability with clanlib mainly resides with audio, input and network. If these can be abstracted like the graphics "layer", it shouldnt be a problem.

    How about input - are there predefined input types or could one introduce new kind of input method to core without changing it?

    For example I presume there isn't a "tilt" method within clanlib, so could I introduce a new class that could handle and spawn those events?

Similar Threads

  1. making a game for the iphone
    By Phonetools in forum Novashell Game Creation System
    Replies: 1
    Last Post: 04-09-2009, 10:53 PM



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts