Skip to content
Dmitry Mamontov edited this page Jan 12, 2020 · 17 revisions

Welcome to the wiki for Saddy engine!

Our main goal is to create small graphics engine, which can be used to create a small native 2D games.

Build order

First, you need to build main library, which is stored in main folder. After building library, you can build freetype plugin, or build game example or physics engine stress demo. After building freetype plugin, you can build IFaceEditor (plugins/ifaceed folder) or multithreading example (examples/multithreading folder). See build instructions for details

NOTE 1 You should check that your current working directory in debug is ..\..\bin, when running examples and IFaceEditor from MSVC,

NOTE 2 (up to v1.5.3) There was some kind of issue with Ruby 2.0 and DevIL gem, required by atlasgen. You can try copy an OpenIL DLLs into atlasgen folder or install Ruby 1.9 and install gem for this version, making things work. Also, for Ruby 2.0 you could check our fork of DevIL gem. Also, you could use Qt version, located in plugins/atlasgenc.

Saddy toolchain

Saddy toolchain consists of few small utilities

  • saddy - is the main engine core and has no requirements to be built.
  • saddy-freetype - is the binding of freetype fonts to saddy. Requires freetype.
  • exporter - a tool for exporting standard fonts into fonts with textures, which can be used with Saddy.
  • atlasgen - a tool for creating texture atlases for saddy, from an xml configs and few smaller images.Requires Qt (Ruby version, which is preseneted to 1.5.3 required DevIL gem or Qt for C++ version).
  • ifaceed - a simple Qt-based editor for screens of a game.

Examples

Saddy has three working examples located in "examples" folder of source tree

  • sad::Game - a simple single-screen shooting game with fixed camera, similar to Asteroids. Game Example (screenshot 1) Game Example (screnshot 2)
  • stress-physics - a small demo to tests built-in physics engine. Physics (screenshot 1) Physics  (screenshot 2)
  • multithreading - demonstrates basic multithreading capabilities for engine. A basic graphic capabilities is also demonstrated. screen 1 screen 2