Crate gemini_engine
source ·Expand description
Introduction
Gemini is a monospaced ASCII rendering engine, capable of 2D and 3D rendering. This is a loose port of GeminiEngine which was made in Python but was scrapped due to performance limitations.
IMPORTANT: You HAVE to use a monospace font in the terminal for the engine to render the view properly.
Go to elements
for a quick start guide.
Crate Structure
This library is made up of three main crates:
gameloop
, which handles the gameloop. See thegameloop
documentation to see how to structure the usual Gemini project.elements
, which handles the printing of various objects to aView
, the central object in a Gemini project.elements3d
, which handles everything 3D-related. Objects thatelements3d
converts to a 2d object will then be printed to the screen by aView
Modules
- Gemini’s core elements module. This and the
view
module make up Gemini’s core rendering system. - Gemini’s implementation of 3D rendering. Experimental
- The gameloop is one of Gemini’s most important features. If you read the Quick Start guide, you’ll have seen that the example there didnt have a fully written gameloop. When you begin building larger projects with Gemini, this is what your code should look like
Macros
- You can use the
fps_gameloop!
macro to avoid writing a lot of boilerplate code. Take this block of code from a program written with gemini