Sobre el proyecto
SadConsole es un motor de juegos de terminal, ASCII, consola y juegos multiplataforma basado en C# .NET. Simula programas de consola tradicionales y permite a los desarrolladores crear juegos con estilo ASCII para plataformas modernas. En su núcleo, es un motor de juegos basado en mosaicos con un modelo de objetos conceptualmente similar a una aplicación de consola tradicional.
La biblioteca en sí es genérica y no proporciona renderizado; en su lugar, las bibliotecas anfitrionas añaden renderizadores. Los dos anfitriones proporcionados son SadConsole.Host.MonoGame y SadConsole.Host.SFML. Al usar un anfitrión, no es necesario hacer referencia directamente al paquete base de SadConsole. Para MonoGame, se requiere un paquete de renderizado adicional como MonoGame.Framework.DesktopGL.
SadConsole actualmente apunta a .NET 8, .NET 9 y .NET 10.
Las características clave incluyen:
- Mostrar cualquier número de consolas de cualquier tamaño.
- Usar imágenes gráficas basadas en mosaicos para construir fuentes de caracteres ASCII con soporte para más de 256 caracteres.
- Las fuentes son conjuntos de mosaicos de hojas de sprites vinculados a códigos ASCII; se pueden usar mosaicos gráficos completos.
- Soporte para múltiples archivos de fuentes, aunque cada consola está restringida a una sola fuente.
- Un sistema GUI completo para controles interactivos como listas, botones y campos de texto.
- Importadores para archivos DOS ANSI, fuentes de texto TheDraw, RexPaint y Playscii.
- Consolas animadas y un sistema de instrucciones para encadenar comandos.
- Sistema de codificación de cadenas para colores y efectos al imprimir.
- Soporte de entidades para dibujar miles de objetos móviles.
- Traducción de imágenes a bloques de texto.
- Soporte de teclado y ratón.
- Marco altamente personalizable.
El proyecto incluye ejemplos de visualización/análisis de cadenas, biblioteca GUI y consolas de desplazamiento. Está disponible en NuGet y tiene una comunidad activa en Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.