ClanLib is a multi-platform game toolkit written completely in C++. It supports Microsoft Windows, macOS, and Linux, with limited support for mobile platforms. The software development kit (SDK) is defined as a collection of software development tools in one installable bundle for the development of explicit content. They facilitate the developers for creating applications by having a compiler, debugger and perhaps a software framework.
ClanLib comes with full hardware-accelerated graphics support through OpenGL allowing developers to use the hardware capacity to the maximum in graphics rendering for game objects, and also a software renderer. Animation handling is remarkable due to the maximum potential use of hardware components by the software renderer.
ClanLib also deals in the sound department, using the Vorbis or MikMod libraries for creating discrete musical notes positioned in several channels at discrete chronological positions on a vertical timeline. Keyboard and mouse handling classes are built-in, the developer simply needs to configure them for the project. It also has classes for collision detection, GUIs, XML, networking, and other things that might be useful to a game developer.
Further Specifications
- Shader-based render design for best performance
- Complete GUI structure adjustable utilizing CSS
- GUI windows rendered to surfaces or local windows
- Top-notch 2D graphics with textual styles, sprites, and collisions
- Networking libraries with sockets, web, IRC and game interfaces
- SQLite is a major database for storing data
- Sound supporting libraries like Vorbis and MikMod
- Supports Cross-platform runtime (threading, file I/O, XML/DOM, etc.)
- Template-based signal library (type-safe callbacks)
Games Written in ClanLib
Fireball is a free single-player game that features the ClanLib gaming engine, a free multi-stage C++ game SDK. It is a tank shooter 2D game. The player is a battle tank with the target of crushing the meteors that are falling. The player needs to destroy the meteors by shooting them before they demolish the tank. Each wrecked meteor implies a higher score. The game is isolated in 10 levels in which the speed and the amount of the meteors falling will increment.
Introduction to C++ Game Programming
Alan Thorn dedicates full chapter of his book “Introduction to C++ Game Programming”. The book explores the world of game development with a focus on C++.
Alan describes several libraries including “ClanLib” in chapter “Learn how to use the ClanLib library to make 2D games” that can help you manage graphics and audio so that you can get started on the path to making both 2D and 3D games.
Source Code
The latest version of ClanLib is continually available from their Git archive. Visit https://github.com/sphair/ClanLib for the ClanLib setup and documentation. Read the documentation and start using the gaming engine. .