{"id":13663894,"url":"https://github.com/ollelogdahl/ConsoleGameEngine","last_synced_at":"2025-04-25T18:31:40.938Z","repository":{"id":49557884,"uuid":"158952592","full_name":"ollelogdahl/ConsoleGameEngine","owner":"ollelogdahl","description":".NET Console Graphics Engine","archived":false,"fork":false,"pushed_at":"2021-06-14T18:23:44.000Z","size":414,"stargazers_count":350,"open_issues_count":5,"forks_count":46,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-08-03T05:19:56.161Z","etag":null,"topics":["console","console-framework","console-graphics","consoleengine","draw","game-loop","graphics","graphics-library","hacktoberfest","unlicense"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ollelogdahl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-24T16:09:47.000Z","updated_at":"2024-08-02T09:38:25.000Z","dependencies_parsed_at":"2022-08-19T20:31:40.063Z","dependency_job_id":null,"html_url":"https://github.com/ollelogdahl/ConsoleGameEngine","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollelogdahl%2FConsoleGameEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollelogdahl%2FConsoleGameEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollelogdahl%2FConsoleGameEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ollelogdahl%2FConsoleGameEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ollelogdahl","download_url":"https://codeload.github.com/ollelogdahl/ConsoleGameEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224011798,"owners_count":17241010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","console-framework","console-graphics","consoleengine","draw","game-loop","graphics","graphics-library","hacktoberfest","unlicense"],"created_at":"2024-08-02T05:02:40.174Z","updated_at":"2025-04-25T18:31:40.927Z","avatar_url":"https://github.com/ollelogdahl.png","language":"C#","readme":"# ConsoleGameEngine\n### C# Graphics Library for drawing graphics in Windows Command Prompt\nOlle Logdahl, 24 November 2018\n\n![downloads](https://img.shields.io/github/downloads/ollelogdahl/ConsoleGameEngine/total)\n![release](https://img.shields.io/github/v/release/ollelogdahl/ConsoleGameEngine)\n![licence](https://img.shields.io/github/license/ollelogdahl/ConsoleGameEngine)\n![issues](https://img.shields.io/github/issues-raw/ollelogdahl/ConsoleGameEngine)\n\n---\n**ConsoleGameEngine** is a C# library that wraps around the `System.Console` class, adding enhanced \nfunctionality for displaying graphics. Implements a new ConsoleGame abstract, a custom buffer, custom \ncolor palette, fullscreen capabilites, input handling and more.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/ollelogdahl/ConsoleGameEngine/blob/master/Media/monkeyspin.gif\" /\u003e\n\u003c/p\u003e\n\n## Installation / Getting Started\n- [Download Lastest Build](https://github.com/ollelogdahl/ConsoleGameEngine/releases/)\n- Clone git repo and build yourself\n\u003e git clone https://github.com/ollelogdahl/ConsoleGameEngine.git\n\n\u003cbr /\u003e\n\nAfter installing you'll have to:\n1. Import `ConsoleGameEngine.dll` to project.\n2. Reference the namespace `using ConsoleGameEngine;`\n\n---\n\n## Why?\nI created this Library to make graphics more available for beginners and hobbyists alike. The first programs \nyou create are usually made in the console, but when users want to migrate to actual graphics there is a steep \nlearning curve. My ambition with this library is to depricate the need for psuedo-graphics in the console, \nusually done by moving the cursor, writing a short string and clearing the actual screen. Not only is that \nsolution unintuitive in the long run, but also highly inefficient.\n\n#### Uses\n- retro-terminal-styled games and applications\n- easy-to-use graphics library for basic and advanced graphics in games and applications\n- ~~Creating heavy 3D graphics running in 4K~~\n\nDoes the last apply to you? Then sorry, *this is not the library you are looking for.*\n\n## Usage / Features\nLibrary contains two main classes, `ConsoleEngine` and `ConsoleGame`\n\n- Custom character screen buffer, allows clearing and blitting to console window\n- Console colors with full rgb capabilities\n- Custom \u0026 premade Palettes, used for changing console window palette\n- Accessing and setting pixels individually\n- Functions to draw basic shapes and primitives (Triangles, Rectangles, Lines etc.)\n- Writing characters to screen using plain-text and FIGlet fonts\n- Multiple game loops, including fixed framerate and deltatime settings\n- Point and Vector class, for int and float positions\n- Setting console window settings, changing window size and running console borderless\n- Input handling\n\n#### ConsoleEngine\nIs used to draw to the screen, replacement for the `System.Console` class *(kind of)*\n\n```c#\nusing ConsoleGameEngine;\n...\nEngine = new ConsoleEngine(windowWidth, windowHeight, fontWidth, fontHeight);\n\nEngine.SetPixel(new Point(8, 8), ConsoleCharacter.Full, 15);\n\n```\n\n#### ConsoleGame\nKeeps an instance of the `ConsoleEngine` and implements game loops.\n\n**Note** *Not neccessary, you could use the ConsoleEngine as is*\n\n```c#\nusing ConsoleGameEngine;\n...\n\nnew AppName.Construct(windowWidth, windowHeight, fontWidth, fontHeight, FramerateMode.Unlimited);\nclass AppName : ConsoleGame {\n  public override void Create() {\n  }\n  \n  public override void Update() {\n  }\n  \n  public override void Render() {\n  }\n}\n```\n\n##### Try out some example games over [here](https://github.com/ollelogdahl/ConsoleGameEngine/tree/master/Examples)\n\n## Notes\n- 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))*\n- Only **ONE** reference to a `ConsoleEngine` is allowed per session\n- Press *Delete Key* to close application if running in borderless\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/ollelogdahl/ConsoleGameEngine/blob/master/Media/cave.gif\" width = 512 heigth = 384 /\u003e\n\u003c/p\u003e\n\n## Links\n\n- [Repository](https://github.com/ollelogdahl/ConsoleGameEngine/)\n- For reporting errors, visit [Issue Tracker](https://github.com/ollelogdahl/ConsoleGameEngine/issues)!\n- Related Projects:\n  - [olcConsoleGameEngine (c++)](https://github.com/OneLoneCoder/videos/blob/master/olcConsoleGameEngine.h) by Javidx9\n  - [ColorfulConsole (C#)](http://colorfulconsole.com/) by Tom Akita\n- Special Thanks to:\n  - [pinvoke.net](http://www.pinvoke.net/) by Redgate Software, for windows api documentation\n  - [ScreenToGif](https://www.screentogif.com) by Nicke Manarin, for making screen-gif capturing easy :)\n\n## Licensing\n\nThis project, and all code it contains, is licensed under *The Unlicense* and can be read [here](UNLICENSE).\n","funding_links":[],"categories":["C\\#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follelogdahl%2FConsoleGameEngine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Follelogdahl%2FConsoleGameEngine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Follelogdahl%2FConsoleGameEngine/lists"}