About this project
SadConsole is a C#-based .NET cross-platform terminal, ASCII, console, and game engine. It simulates traditional console programs and allows developers to create ASCII-styled games for modern platforms. At its core, it is a tile-based game engine with an object model conceptually similar to a traditional console application.
The library itself is generic and does not provide rendering; instead, host libraries add renderers. The two hosts provided are SadConsole.Host.MonoGame and SadConsole.Host.SFML. When using a host, you do not need to reference the base SadConsole package directly. For MonoGame, an additional rendering package like MonoGame.Framework.DesktopGL is required.
SadConsole currently targets .NET 8, .NET 9, and .NET 10.
Key features include:
- Displaying any number of consoles of any size.
- Using graphical tile-based images to build ASCII-character fonts with support for more than 256 characters.
- Fonts are sprite sheet tilesets tied to ASCII codes; full graphical tiles can be used.
- Support for multiple font files, though each console is restricted to a single font.
- A full GUI system for interactive controls such as list boxes, buttons, and text fields.
- Importers for DOS ANSI files, TheDraw text fonts, RexPaint, and Playscii.
- Animated consoles and an instruction system to chain commands.
- String encoding system for colors and effects while printing.
- Entity support for drawing thousands of movable objects.
- Translating images to text blocks.
- Keyboard and mouse support.
- Highly customizable framework.
The project includes examples of string display/parsing, GUI library, and scrolling consoles. It is available on NuGet and has an active Discord community.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.