-
Notifications
You must be signed in to change notification settings - Fork 31
Home
The articles on this wiki are outdated with respect to the 2.x version of GoRogue, and are in the process of being moved to the new documentation website. The articles on the wiki are only present for the sake of preservation in the meantime and will be removed once this is complete.
Welcome to the GoRogue wiki! This wiki is designed to provide some getting started instructions, as well as overviews and examples that should help you get started with GoRogue. While the wiki examples are not comprehensive overviews of all functions of every feature (the API docs can be helpful in this regard), the pages are generally meant to provide you with a basic understanding of the feature they cover, and some examples that will help you get started using the library. The Table of Contents sidebar shows all the pages available on this Wiki.
If you are a GoRogue 1.x user looking to upgrade to 2.0, a wiki page detailing the changes and upgrade process can be found here
In addition to this wiki, GoRogue has a few other forms of documentation.
The API docuementation for GoRogue is hosted online here. While the API documetation generally does not contain extended usage examples, it provides a useful source for comprehensive documentation of the capabilities of a feature.
GoRogue has a subreddit r/goroguelib. Feel free to post there with questions, improvement suggestions, etc.
GoRogue does not have its own discord server (yet), however for SadConsole users, SadConsole's discord does have a gorogue-integration channel that can be useful for getting questions answered or problems solved.
Generally, GoRogue is designed to provide a set of tools that are minimally intrusive upon your own architecture. More specifically, there are two basic categories of GoRogue features -- "core" features, and "game framework" features.
The majority of the library falls under the core category. This category is composed of the root GoRogue
namespace and all sub-namespaces except GoRogue.GameFramework
. These core features are designed to provide generic data structures and algorithm implementations that may assist you in creating your game. These features, by design, work without asserting much of anything about what your game is or how it works, or what your code architecture looks like. While some data structures, like ISpatialMap
implementations, can be used to hold data related to a map or game, they purposefully avoid relying concrete data structures for maps, objects on maps, or even game data. This ensures that these features can be used in the widest possible array of use cases, without the library needing to "specify" what your game architecture must be and how your data is stored. These structures and algorithms have corresponding wiki articles.
The second category of features is the game framework category. These features are all contained within the GoRogue.GameFramework
namespace. Unlike the core features, their purpose is to combine GoRogue core features into a coherent, concrete structure that can be used as a framework for your game, and build upon those features to create functionality that may apply to many use cases. These features are detailed in the corresponding wiki article.
- Home
- Getting Started
- GoRogue 1.0 to 2.0 Upgrade Guide
- Grid System
- Dice Rolling
- Effects System
- Field of View
- Map Generation (docs coming soon)
- Map View System
- Pathfinding (docs coming soon)
- Random Number Generation (docs coming soon)
- Sense Mapping (docs coming soon)
- Spatial Maps (docs coming soon)
- Utility/Miscellaneous (docs coming soon)