1. Overview

Intrepid is a powerful 2D game library designed to take take of some of the low-level programming related to the development of 2D games.

The authors have noticed that the major part of game libraries available on the internet are just too simple to be any useful, or are too limited on what kind of games they can be used upon.

The Intrepid game library combines the power of object-oriented programming with C++, the versatility of SDL and the efficiency of the OpenGL rendering capabilities.

In order to be able to create any kind of 2D game, every module that makes up the library is designed so they work with each other and not interfering in any way among themselves. This is done by keeping a standard I/O among all modules.

It doesn't matter how the modules are created, as long as they follow the I/O standards established so far.

In its first release, it comes with the following features:

->The library core:
-->Analytical Geometry functions
-->General Object class (describes any object that is used in the scenes. IE. everything is an object, from the Main Character to the clouds in the sky)
-->General Scene class (describes the game environment, interactions between objects, and static background(if any). Scrolling is implemented as well. This is the main abstraction that enables the library to be so versatile. Anything can be a scene, from the Menu to Battle Scenes... )
-->Definition of standard I/O for video handlers

->Basic video handlers:
-->Surfaces (the most basic video handler that covers the static graphical components)
-->A full-fledged sprite engine that defines different animation schemes based on their current state.

-->Collision detection algorithms
--->Pixel-by-Pixel (a very effective algorithm that makes usage of pixel-mapping to determine collisions of two objects by mapping the transparent and opaque regions in the image)
-->Vectorial force simulation (any kind of force, ie. gravity)
-->Some pre-defined physics objects (walls, etc.)

Why is our library so powerful and versatile??

By taking advantage of inheritance, the user can create any kind of object. As an example, the developer may create a Ball class, derived from our physics object class, therefore being able to use any of the pre-defined physics methods, like collision-detection and force simulation.

The physics module itself for an example, is already derived from the scene and object classes...

OOP all the way!

That's it for now. We hope to make it much better than it is already.

The Authors.


intrepid-gl depends on the following libraries in order to compile and run properly:
Back to Home