Skip to content
fallahn edited this page Jun 1, 2022 · 14 revisions

About

crogine was designed to be a relatively lightweight SDL2 based game engine, aimed at Android mobile devices, written in C++. While the original aim has drifted in recent years (it has been a long time since the Android version was tested and probably requires some work to build), crogine is still regularly developed and maintained for Windows, Linux and even macOS. The main feature of crogine is its easily extensible ECS, built-in primitive rendering for quick prototyping with 2D sprites and text, as well as providing full access to the OpenGL 4.1 and OpenGLES 2.0 API for advanced usage throughout. The repository contains several samples (see below) and crogine is the game engine behind VGA Golf, available on itch.io.

Building

The crogine directory in the repository contains a cmake file for building and optionally installing the crogine library on Windows, Linux and macOS. Linux and macOS users should first install SDL2, FreeType and OpenAL from their package managers, as crogine depends on these. Running the cmake install command will install crogine to /usr/local/lib and /usr/local/include on unices, where the included FindCMAKE file will then look for subsequent projects. This is optional of course, and the library can be installed anywhere the user desires.

On Windows the cmake file is untested with MinGW, though the repository does contain a solution for Visual Studio, as well as a copy of all the dependencies. It should suffice to just open the solution in Visual Studio and click 'build'.

crogine can be built both as a static or dynamic library, with dynamic being the default choice. See the cmake file for options on how to build static libraries.

Getting Started

While there is currently no specific getting started guide for crogine, the ECS and general API is almost identical to that of its sister project, xygine. The xygine wiki should give some insight into how the API was designed and intended to be used. Of particular note are the MessageBus and CommandSystem, both of which are functionally identical.

Samples

Each sample requires that the crogine library first be built and optionally installed. Then each sample has its own subsequent cmake file to build it. Some samples require further dependencies, such as Bullet Physics or tmxlite. See their respective cmake files for more information.

Golf Game

The mod kit - also available from itch.io
Some guides on creating your own content for VGA golf:

File Format Information

General
Golf