All Projects → rlofc → cage

rlofc / cage

Licence: Zlib License
Cage (Ain't a Game Engine) - write 2D games using plain C

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
Makefile
30231 projects

Projects that are alternatives of or similar to cage

Pixelvision8
Pixel Vision 8's core philosophy is to teach retro game development with streamlined workflows. PV8 is also a platform that standardizes 8-bit fantasy console limitations built on top of the open-source C# game engine based on MonoGame.
Stars: ✭ 773 (+1832.5%)
Mutual labels:  gamedev, 2d, 2d-game-engine
Fxgl
Stars: ✭ 2,378 (+5845%)
Mutual labels:  gamedev, 2d, 2d-game-engine
Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (+5035%)
Mutual labels:  gamedev, 2d, 2d-game-engine
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (+737.5%)
Mutual labels:  gamedev, 2d, 2d-game-engine
Godot 2d global illumination
2D Global Illumination shader in Godot.
Stars: ✭ 106 (+165%)
Mutual labels:  gamedev, 2d
voltar
WebGL only 2D game engine using Godot as the visual editor
Stars: ✭ 25 (-37.5%)
Mutual labels:  2d, 2d-game-engine
Gizmo
2D Pixel Destruction Game written in Go.
Stars: ✭ 114 (+185%)
Mutual labels:  gamedev, 2d
Trivial Gamekit
Simple framework for making 2D games
Stars: ✭ 127 (+217.5%)
Mutual labels:  gamedev, 2d
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (+222.5%)
Mutual labels:  gamedev, 2d-game-engine
Kaetram Open
An open-source 2D HTML5 adventure based off BrowserQuest (BQ).
Stars: ✭ 138 (+245%)
Mutual labels:  gamedev, 2d
Py3ODE
Port of PyODE for Python 3
Stars: ✭ 29 (-27.5%)
Mutual labels:  2d, 2d-game-engine
Bytepath
A replayable arcade shooter with a focus on build theorycrafting made using Lua and LÖVE.
Stars: ✭ 1,119 (+2697.5%)
Mutual labels:  gamedev, 2d
Ct Js
Ct.js is a desktop game engine that makes learning programming fun and game development easy by its visual editors and well-documented code library
Stars: ✭ 831 (+1977.5%)
Mutual labels:  gamedev, 2d-game-engine
binocle-unity
Binocle is a simple 2D code-based framework for Unity
Stars: ✭ 23 (-42.5%)
Mutual labels:  2d, 2d-game-engine
ArchGE
A 2D and 3D C++ Game Engine using SDL2 and OpenGL
Stars: ✭ 15 (-62.5%)
Mutual labels:  2d, 2d-game-engine
Coffee
An opinionated 2D game engine for Rust
Stars: ✭ 771 (+1827.5%)
Mutual labels:  gamedev, 2d-game-engine
framework
The exomia/framework is used for building 2D and 3D games and more inspired by the XNA/Mono framework.
Stars: ✭ 21 (-47.5%)
Mutual labels:  gamedev, 2d
Ruby2d
🎮 The Ruby 2D gem
Stars: ✭ 427 (+967.5%)
Mutual labels:  gamedev, 2d
Grid Sdk
The Grid SDK - Game engine for Lua
Stars: ✭ 612 (+1430%)
Mutual labels:  gamedev, 2d-game-engine
Gdevelop
🎮 GDevelop is an open-source, cross-platform game engine designed to be used by everyone.
Stars: ✭ 3,221 (+7952.5%)
Mutual labels:  gamedev, 2d-game-engine

CAGE (CAGE Ain't a Game Engine)

CAGE is an elementary game development library, written in the spirit of less is more (or worse is better). CAGE favors readability over flexibility and ease-of-use over a rich set of features (read: it's barely usable).

CAGE Screenshots

CAGE makes it easier to write 2D games using C by adding a very thin layer on top of SDL2. CAGE has just enough to help you build your game faster, but if you want to, it lets you to reach inside and hack anything you need.

I initially wrote CAGE to help me teach my kids game development using C. I wanted to have a native library by which I can introduce them to the nuts and bolts of software engineering. While still trying to do so, I'm now also using the library to write actual games, the first being Spy Game Over.

Highlights

  • Plain C - No abstractions, no distractions.
  • Easy to learn - Simple, readable and well documented code.
  • Useful samples - Code you can learn from and use in your own games.
  • It's just a library - You are in control. Hack, mix-in, and bring your own libraries. It's your code.
  • SDL2 inside - Runs on Windows, Linux, Mac/OSX, iOS and Android, can potentially do anything SDL can

Library Features

  • Sprite animation - Animate sequences of frames in image files.
  • Timelines - Sequence Time-driven event callbacks for story-telling and effects.
  • Game states - Helps your game have a scalable internal structure.
  • Bitmap fonts, sound playback, file reading and writing, yada yada.

Getting Started

First, clone the repo:

git clone https://github.com/rlofc/cage.git

To use CAGE you will need SDL2, SDL2_Image and SDL2_Mixer.

For Windows, run getSDL2.bat inside the 3rdparty folder.

If you're using Mac OS/X, you can use brew:

brew install SDL2 SDL2_Image SDL2_Mixer

In Arch Linux, use pacman:

sudo pacman -S sdl2 sdl2_image sdl2_mixer

Once you have SDL2, SDL2_Mixer and SDL2_Image, you can build CAGE and run the Wizard sample.

In Windows, open the Visual Studio 2013 project inside the vc folder of CAGE and build the solution. You will find the Wizard executable inside vc\Debug or vc\Release.

In Mac OS/X or Linux, simply:

cd cage && make

Documentation

The docs are still work-in-progress:

http://rlofc.github.io/cage/docs

All samples are written using using literate programming.

For a not-so-basic example, check out the Wizard sample code: http://rlofc.github.io/cage/docs/wizard.html

License

CAGE is licensed under the zlib license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].