All Projects → ollelogdahl → Consolegameengine

ollelogdahl / Consolegameengine

Licence: unlicense
.NET Console Graphics Engine

Projects that are alternatives of or similar to Consolegameengine

Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+136.28%)
Mutual labels:  hacktoberfest, graphics, graphics-library
Pixieditor
PixiEditor is a lightweight pixel art editor made with .NET 5
Stars: ✭ 210 (-7.08%)
Mutual labels:  hacktoberfest, graphics, draw
Magick.net
The .NET library for ImageMagick
Stars: ✭ 2,071 (+816.37%)
Mutual labels:  hacktoberfest, draw
Aachartkit Swift
📈📊📱💻🖥️An elegant modern declarative data visualization chart framework for iOS, iPadOS and macOS. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. 极其精美而又强大的跨平台数据可视化图表框架,支持柱状图、条形图、…
Stars: ✭ 1,962 (+768.14%)
Mutual labels:  graphics, draw
Skiasharp
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
Stars: ✭ 2,493 (+1003.1%)
Mutual labels:  hacktoberfest, graphics
Awesome Wp Cli
A curated list of packages and resources for WP-CLI, the command-line interface for WordPress.
Stars: ✭ 129 (-42.92%)
Mutual labels:  console, hacktoberfest
Gadfly.jl
Crafty statistical graphics for Julia.
Stars: ✭ 1,724 (+662.83%)
Mutual labels:  hacktoberfest, graphics
Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+910.62%)
Mutual labels:  graphics, graphics-library
Awesome Laravel Zero
👋 START HERE! A curated list of Laravel Zero libraries, resources and projects
Stars: ✭ 84 (-62.83%)
Mutual labels:  console, hacktoberfest
Htop
htop - an interactive process viewer
Stars: ✭ 3,076 (+1261.06%)
Mutual labels:  console, hacktoberfest
Debroglie
DeBroglie is a C# library implementing the Wave Function Collapse algorithm with support for additional non-local constraints, and other useful features.
Stars: ✭ 190 (-15.93%)
Mutual labels:  hacktoberfest, graphics
Compose.jl
Declarative vector graphics
Stars: ✭ 196 (-13.27%)
Mutual labels:  hacktoberfest, graphics
Speculid
Easily Manage Graphics in Xcode Projects
Stars: ✭ 115 (-49.12%)
Mutual labels:  graphics, graphics-library
Bgrabitmap
📜 BGRABitmap graphics library made with Lazarus (Free Pascal).
Stars: ✭ 112 (-50.44%)
Mutual labels:  graphics, graphics-library
Pixelorama
A free & open-source 2D sprite editor, made with the Godot Engine! Available on Windows, Linux, macOS and the Web!
Stars: ✭ 2,535 (+1021.68%)
Mutual labels:  graphics, draw
Cloudcmd
✨☁️📁✨ Cloud Commander file manager for the web with console and editor.
Stars: ✭ 1,332 (+489.38%)
Mutual labels:  console, hacktoberfest
Matplotplusplus
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾
Stars: ✭ 2,433 (+976.55%)
Mutual labels:  graphics, graphics-library
Tldr
📚 Collaborative cheatsheets for console commands
Stars: ✭ 36,408 (+16009.73%)
Mutual labels:  console, hacktoberfest
Monogame
One framework for creating powerful cross-platform games.
Stars: ✭ 8,014 (+3446.02%)
Mutual labels:  hacktoberfest, graphics
Aseprite
Animated sprite editor & pixel art tool (Windows, macOS, Linux)
Stars: ✭ 14,832 (+6462.83%)
Mutual labels:  graphics, draw

ConsoleGameEngine

C# Graphics Library for drawing graphics in Windows Command Prompt

Olle Logdahl, 24 November 2018

downloads release licence issues


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

git clone https://github.com/ollelogdahl/ConsoleGameEngine.git


After installing you'll have to:

  1. Import ConsoleGameEngine.dll to project.
  2. Reference the namespace using ConsoleGameEngine;

Why?

I created this Library to make graphics more available for beginners and hobbyists alike. The first programs you create are usually made in the console, but when users want to migrate to actual graphics there is a steep learning curve. My ambition with this library is to depricate the need for psuedo-graphics in the console, usually done by moving the cursor, writing a short string and clearing the actual screen. Not only is that solution unintuitive in the long run, but also highly inefficient.

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)

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

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() {
  }
}
Try out some example games over here

Notes

  • Color palette limited to 16 colors in a single session (this is an internal limitation, see MDSN)
  • Only ONE reference to a ConsoleEngine is allowed per session
  • Press Delete Key to close application if running in borderless

Links

Licensing

This project, and all code it contains, is licensed under The Unlicense and can be read here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].