engine

module
v0.0.0-...-c9d8584 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2022 License: MIT

README

GoRogue Engine

A tile based game engine modeled on libtcod

License Go report card

About

TBC

Usage

TBC

Project Todo List

Here you will see what is left to complete before this engine is ready for sharing/production.

Scene/State Items

Each scene/game area can be considered as a scene. The stack can have scenes pushed on to it and in doing so the top most scene is the one executed during the game loop with all else effectively "paused."

  • State Base
  • Working Example of State system

Scene Rendering / User Input

Development of a Rendering Interface; the idea behind this is that the developer can choose the render driver, or develop one of their own. We will provide one for raylib and potentially gdamore/tcell.

  • Render Base Interface
    • Default Raylib Driver Implementation
  • Working Example of Raylib render driver

With the Raylib driver comes the concept of Spritesheets and Tilesets. This is because Raylib will be a "Virtual console":

  • Raylib Tileset
  • Raylib Spritesheet

Maps & Map Generation

  • Map Base
  • Map Camera
  • Map FOV
  • Default FOV implementation (and interface)
  • Map Generation Interface
    • Roguelike Room Generator (example)
  • Map Camera

Entities

  • Entities Base

GUI Todo Items

The GUI system will be based upon that available in afolmert/libtcod-go but modified to work with our render engine implementation.

  • GUI Base
  • GUI Widget Base
    • Button Widget
    • Radio Button Widget
    • Toggle Button Widget
    • Status Bar Widget
    • Container Widget
      • Vertical Container Widget
      • Horizontal Container Widget
    • Toolbar Widget
      • Toolbar Separator Widget
    • Label Widget
    • TextBox Widget
    • Slider Widget
  • Input Handling
    • Keyboard Events
    • Mouse Events
  • Colour Themes
  • Working Examples for all above

Credits

Libraries

The following libraries are used by GoRogue, with gratitude 💕

Developers

Special Thanks

A huge thank-you to Jice, Mingos and others for the libtcod library, Adam Folmert and others for libtcod-go; without either project this one would not exist. Another huge thank-you to /r/roguelikes and their discord community for both inspiration and help. #roguelikedev

Research

The following list of links contains all the webpages I found useful in my quest to build this library.

License

GoRogue is free software, licensed under the MIT LICENSE. We encourage forking and changing the code, hacking around with it, and experimenting.

Copyright (C) 2019-2022 the GoRogue Authors.

Directories

Path Synopsis
examples
gui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL