https://github.com/code-theft-auto/console-game-engine
.NET Console Graphics Engine
https://github.com/code-theft-auto/console-game-engine
console dotnet engine game-engine graphics
Last synced: 5 days ago
JSON representation
.NET Console Graphics Engine
- Host: GitHub
- URL: https://github.com/code-theft-auto/console-game-engine
- Owner: Code-Theft-Auto
- License: unlicense
- Created: 2022-04-25T06:26:36.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-30T10:22:24.000Z (almost 4 years ago)
- Last Synced: 2025-08-17T05:32:02.288Z (6 months ago)
- Topics: console, dotnet, engine, game-engine, graphics
- Language: C#
- Homepage:
- Size: 242 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ConsoleGameEngine
### C# Graphics Library for drawing graphics in Windows Command Prompt




---
**ConsoleGameEngine** is a C# library that wraps around the `System.Console` class, adding enhanced
functionality for displaying graphics. Implements a new ConsoleGame abstract, a custom buffer, custom
color palette, fullscreen capabilites, input handling and more.
## Installation / Getting Started
- [Download Latest Build](https://github.com/BananaBoii600/Console-Game-Engine/releases/)
- Clone git repo and build yourself
> git clone https://github.com/BananaBoii600/Console-Game-Engine.git
After installing you'll have to:
1. Import `ConsoleGameEngine.dll` to project.
2. Reference the namespace `using ConsoleGameEngine;`
---
## Uses
- retro-terminal-styled games and applications
- easy-to-use graphics library for basic and advanced graphics in games and applications
- ~~Creating heavy 3D graphics running in 4K~~
Does the last apply to you? Then sorry, *this is not the library you are looking for.*
## Usage / Features
Library contains two main classes, `ConsoleEngine` and `ConsoleGame`
- Custom character screen buffer, allows clearing and blitting to console window
- Console colors with full rgb capabilities
- Custom & premade Palettes, used for changing console window palette
- Accessing and setting pixels individually
- Functions to draw basic shapes and primitives (Triangles, Rectangles, Lines etc.)
- Writing characters to screen using plain-text and FIGlet fonts
- Multiple game loops, including fixed framerate and deltatime settings
- Point and Vector class, for int and float positions
- Setting console window settings, changing window size and running console borderless
- Input handling
#### ConsoleEngine
Is used to draw to the screen, replacement for the `System.Console` class *(kind of)*
```c#
using ConsoleGameEngine;
...
Engine = new ConsoleEngine(windowWidth, windowHeight, fontWidth, fontHeight);
Engine.SetPixel(new Point(8, 8), ConsoleCharacter.Full, 15);
```
#### ConsoleGame
Keeps an instance of the `ConsoleEngine` and implements game loops.
**Note** *Not neccessary, you could use the ConsoleEngine as is*
```c#
using ConsoleGameEngine;
...
new AppName.Construct(windowWidth, windowHeight, fontWidth, fontHeight, FramerateMode.Unlimited);
class AppName : ConsoleGame {
public override void Create() {
}
public override void Update() {
}
public override void Render() {
}
}
```
## Notes
- Color palette limited to 16 colors in a single session *(this is an internal limitation, see [MDSN](https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-infoex))*
- Only **ONE** reference to a `ConsoleEngine` is allowed per session
- Press *Delete Key* to close application if running in borderless
---
## Credits
This project was heavily inspired by the github user logan dahl
## Licensing
This project, and all code it contains, is licensed under *The Unlicense* and can be read [here](UNLICENSE).