Results 1 to 5 of 5

Thread: ClanLib's future

  1. #1

    Red face ClanLib's future


    Since the last release 9. Dec 2013: ClanLib 3.0.1 passed of more than a year.
    Technically not supported latest versions of compilers (Visual Studio 2013, 2015). May be ClanLib is dead?

    What are developer's plans on a new year?

    Merry christmas!

  2. #2

    Default Exmples

    In order to promote ClanLib for novice prepared an article for the Russian-speaking community.
    Plan presentation with illustrations:
    1. Install MSVS Express 2013
    2. Clone from GitHub
    3. Compile

    With compilation of examples there is problems - 73 errors and 142 warnings. Succesfully only 25 examples from 48 (can build alpha.exe, Basic2D.exe, Bloom.exe, Collision.exe, CpuExt.exe, DisplayTarget.exe, FullScreen.exe, Gaussian.exe, GeometryShader.exe, Language.exe, LayeredWindow.exe, LayeredWindow2.exe, NetworkTestClient.exe, NetworkTestServer.exe, NightVision.exe, Particle.exe, Path.exe, PostProcessing.exe, Shockwave.exe, SineScroll.exe, SpritesRTS.exe, Thread.exe, TileMap.exe, Timing.exe, VertexBuffer.exe).

    As I can see main difference with release 9. Dec 2013: ClanLib 3.0.1 is removing some includes (compute.h, csslayout.h, database.h, gameide.h, gui.h, physics2d.h, physics3d.h, scene3d.h, sqlite.h, swrender.h).

    I'm doing something wrong or remaining examples not yet finalized under the current version?

    And more
    Do you mind against posts about ClanLib on a wellknown Russian forum I'm not affiliate with it administration.

  3. #3
    ClanLib Developer
    Join Date
    Sep 2006


    No, ClanLib isn't dead. At least not in the sense that there are still commits to our github repository. However, ClanLib suffers from a problem where there just aren't enough contributors to support the project at the scale it had reached. In particular the website, the documentation and the examples are all more or less out of date. Add to that there is also the question of what should be the main goal of the project altogether.

    ClanLib is a very old project started back in the late 1990's and a lot of things has happened since its original creation. For one thing computers are much more diversified today (desktop, laptop, console, tablet, phone) and as a result we have a lot more operating systems to target (Windows, Linux, Mac, iOS, Android, Xbox, PS4, Web) if you want to run everywhere. Games also evolved from being mostly 2D games, with some 3D titles, to an age where virtually all games today use a 3D engine.

    The modules you mention that got moved out of ClanLib happened because there didn't seem to be any other interest in them. That leaves ClanLib mostly as a medium level API that helps you drawing basic 2D shapes with audio. It works fairly well for that, if the documentation got updated, but you aren't seeing too many commits from me because my main attention really go to the 3D engine that I pulled out. I'm also improving the new clanUI module (formerly known as UICore) on a need basis when my personal projects demand it.

    Rombust is generally working hard to try make sure the examples are working, but once again he could really need some help. Having two people maintaining a website, documentation, three platforms and 48 examples just isn't realistic. Last I spoke to him it sounded like he wanted to do a new official release one of these days.

  4. #4


    No documentation means no beginners, no beginners means no documentation. Let's break this dead lock
    I posted HOWTO download, build and install ClanLib in Russian. My English is not good, but may be someone wants to translate it. By screenshots there clear what it means.

  5. #5
    ClanLib Developer
    Join Date
    May 2007


    Currently there is only a single major issue that needs fixed before i'm personally happy with ClanLib 4.0.

    That is the clanUI TextureView class (Equivalent to the old clanGUI GUIWindowManagerTexture class). It requires a hook to pass window events from the application to the class.
    It currently is undecided what the best way to achieve this

    Maybe the application can directly call:
    		void on_window_size_changed(); 
    		void on_window_render(Canvas &canvas); 
    		void on_window_key_event(KeyEvent &e); 
    		void on_window_pointer_event(PointerEvent &e); 
    		void on_window_close(); 
    		void on_window_activated(); 
    		void on_window_deactivated(); 
    		void on_lost_focus(); 
    		void on_got_focus(); 
    		void on_resize(int, int); 
    		void on_paint(const clan::Rect &); 
    		void on_key_down(const clan::InputEvent &); 
    		void on_key_up(const clan::InputEvent &); 
    		void on_mouse_down(const clan::InputEvent &); 
    		void on_mouse_dblclk(const clan::InputEvent &); 
    		void on_mouse_up(const clan::InputEvent &); 
    		void on_mouse_move(const clan::InputEvent &);
    Or a "helper function" that uses the current display window to pass the events.

    Once that's done, it's just a matter of fixing the examples, ensuring they are clean and easy to understand.

    (Probably need to port some old clanGUI components to clanUI as well).

Similar Threads

  1. Replies: 7
    Last Post: 08-26-2008, 09:57 PM
  2. Installing ClanLib 0.8 and ClanLib 0.9 on linux
    By rombust in forum Official ClanLib SDK Forums
    Replies: 4
    Last Post: 07-15-2008, 09:51 AM
  3. ClanLib Future
    By dayal3 in forum Official ClanLib SDK Forums
    Replies: 1
    Last Post: 11-22-2007, 08:14 AM



Posting Permissions

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