summaryrefslogtreecommitdiff
blob: 7e1d30a1f2c865aa152f7d9c91242bb066d65fb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>games</herd>
<longdescription>
A Sprite Engine...
from a Slightly Different Point of View

Kyra is a simple, fully featured, industrial strength Sprite engine written in C++. It is built on 
top of SDL and has been tested on Windows and Linux. It is provided free for open source projects 
under the GPL and LGPL.

What is a Sprite Engine? A Sprite Engine is the drawing and rendering component of 2D and quasi-3D 
games. Examples of this kind of game are Civilization, Donkey Kong (classic arcade), Pharaoh, Zeus, 
Warcraft, Diablo, Frogger, and Pirates!, among many others. It is so called because the "characters" 
or "little men" are referred to as "sprites".

Simple and Easy to Use. Kyra has a clean and simple C++ interface. Or at least as simple as an engine 
can be. It comes with several examples to get you started, as well as full documentation for the API 
and the tool chain.

Fully Featured. It is fully featured, supporting top-down, side, and isometric rendering. It supports 
the 'Sprite' as its basic type, but also supports Tiles and user-drawn Canvases. It can draw to a 
traditional bitmap surface, and supports OpenGL hardware acceleration.

Industrial Strength. Kyra has a complete tool chain including a sprite editor and encoder. It's fast 
and capable, with specialized code for rendering and rectangle updates.

...From a Slightly Different Point of View. But Kyra does some things differently. It supports color 
transformations and alpha blending (!). All objects in Kyra are inserted into a containment 
hierarchy, and children are transformed by their parents. So a complex object can be moved simply by 
changing the coordinates of the top level object, and color transformations and alpha transformations 
work the same way. The alpha blending can be applied at a per-image or per-pixel level.

Objects can be scaled up or down when drawn, or scaling can be pre-cached. The screen can be split 
into sub window views, and each view has its own object transformations.

Use as is. Kyra is currently working and ready for use. You can put it into your programs and start 
using it now. It has been used enough to mature some and be already bug fixed. On the other hand, if 
you're someone who likes to get involved, there are still optimization and feature opportunities in 
the code.
</longdescription>
</pkgmetadata>