Add GESTE v1.1.0
This commit is contained in:
committed by
Alejandro R Mosteo
parent
ba62d654b7
commit
a79718f471
@@ -4,11 +4,69 @@ website = "https://github.com/Fabien-Chouteau/GESTE"
|
||||
authors = ["Fabien Chouteau <fabien.chouteau@gmail.com>"]
|
||||
maintainers = ["fabien.chouteau@gmail.com"]
|
||||
maintainers-logins = ["Fabien-Chouteau"]
|
||||
tags = ["game", "nostd", "rendering", "sprite"]
|
||||
long-description = """
|
||||
|
||||
[](https://travis-ci.org/Fabien-Chouteau/GESTE)
|
||||
[](https://codecov.io/gh/Fabien-Chouteau/GESTE)
|
||||
|
||||
GESTE is a sprite and tile 2D render engine designed to run on
|
||||
micro-controllers low performance systems. GESTE also provides a basic math and
|
||||
physic engine using fixed point arithmetic.
|
||||
|
||||
## Creating maps
|
||||
|
||||
GESTE is developed in parallel with
|
||||
[tiled-code-gen](https://github.com/Fabien-Chouteau/tiled-code-gen), a tool
|
||||
that generates code from the [Tiled Map Editor](https://www.mapeditor.org/).
|
||||
|
||||
## Examples
|
||||
|
||||
The crate `geste_examples` contains 3 examples of different game genre:
|
||||
- platformer
|
||||
- RPG
|
||||
- racing
|
||||
|
||||
## Design
|
||||
|
||||
### Layers
|
||||
|
||||
In GESTE, a scene is made of layers. Native layers can be `Sprite`, `Grid` or
|
||||
`Text`. You can implement you own type of layers if you want to.
|
||||
|
||||
- `Sprite` layers display a single tile at a given position
|
||||
- `Grid` layers display a grid of tiles at a given position
|
||||
- `Text` layers display a text at a given position
|
||||
|
||||
Layers have a priority which tells in which order they will be drawn on the
|
||||
screen.
|
||||
|
||||
### Rendering
|
||||
|
||||
The rendering algorithm is somewhat similar to ray casting. Instead of taking
|
||||
each objects of the scene and drawing it on the screen, the engine takes each
|
||||
pixel and tries to find its color from the different objects of the scene.
|
||||
|
||||
For each pixel of the area that is being drawn, GESTE will go through the list
|
||||
of layers and see if the corresponding pixel inside the layer is transparent or
|
||||
not. When a non transparent pixel is found, the pixel is pushed to the screen
|
||||
and the procedure starts again for the next pixel. If all the layers have a
|
||||
transparent pixel, the background color is used.
|
||||
|
||||
The more layers to go through, the more time time it will take to render a
|
||||
pixel.
|
||||
|
||||
"""
|
||||
|
||||
project-files = ["geste.gpr"]
|
||||
|
||||
licenses = ["BSD 3-Clauses"]
|
||||
|
||||
["1.1.0"]
|
||||
origin = "https://github.com/Fabien-Chouteau/GESTE/releases/download/v1.1.0/GESTE-1.1.0.zip"
|
||||
origin-hashes = ["sha512:55da4926a318a664e798131b094711d8eef151c0ff905ae13fbc5d2c116b1c7724d936b6e5a37ace5b72c49980b7c6ae8549a261501b861e4d5af5101931efef"]
|
||||
|
||||
["1.0.0"]
|
||||
origin = "https://github.com/Fabien-Chouteau/GESTE/releases/download/v1.0.0/GESTE-1.0.0.zip"
|
||||
origin-hashes = ["sha512:d87e6472c6b2bda224926fb69809202f9ef8cb644322e55e6e618ac1634458c22b6a3253f558082f9aae9fcd5ebc46e74f4c9b8c57ea353f8fa9ad6812cf31fc"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user