Skip to content
AMZG edited this page Feb 16, 2023 · 4 revisions

Quick Links

Learn about different concepts below:

Beginner

  • Setting Up
  • Shape Drawing
  • Keyboard & Mouse Input

Intermediate

  • Managing Time
  • Colors
  • Centered
  • Setting Getters
  • Extensions

Advanced

  • Areas (Images)
  • Spaces
  • Space Functions
  • System Functions
  • OOP

Why was ACREngine created?

ACREngine was created because as a beginner, I couldn't find any easy way to make graphical programs. Therefore I made ACREngine for all my graphical needs. ACREngine uses the windows console for graphics, so whether its created programs like Vim, or like games like Mario, ACREngine can be used!

What is ACREngine?

ACREngine is an engine for all sorts of graphics. It's built in a way, that if you don't care about the console, you can use this like a normal game engine, with pixels exclusively. You can also use ACREngine as a wrapper for the console that provides extra features, such as color, and high speeds.

Where to get documentation?

First things first, every release comes with a demo program, which you can look at, to understand ways to use ACRE. Further on in this wiki is documentation for every function.

How does it work?

Since ACRE uses the console, every character has a foreground color (the color of the text itself), and a background color (the highlighted color). Therefore, for every "pixel" or character on the screen, ACRE needs to save 3 things:

  • the foreground color.
  • the background color.
  • the character itself (meaning what letter)

It has 3 buffers to store these things.

Every time the screen is rendered, ACRE turns all the data of the buffers into one really long string of text. It uses ANSI escape sequences (little strings that change the color of characters after it). After the string is created, it gets "printed" onto the console.

Read more: https://en.wikipedia.org/wiki/ANSI_escape_code (note this is way there are only 256 colors)

Pixels in the game are really just the character space (" "), with a highlighted color. making it look like a pixel.