Skip to content

funnisimo/goblinwerks

Repository files navigation

GoblinWerks

This library helps to get you started writing a Roguelike game in Javascript.

Getting started

Look at the examples folder to find:

  • Life - Shows how to use the canvas in its most basic form
    • Using the canvas.
  • Dungeon - Simple dungeon digging and wandering
    • Digging a dungeon with different room shapes, lakes and bridges.
    • FOV
    • Changing maps as you use stairs
  • Fx - Example special effects
    • Testing some of the FX shapes that can be used
  • Lava - A simple arcade-like game where you jump over a lava pit.
    • Tiles that change as the player walks around
    • Waves of lava
    • jumping over lava (custom command)
  • Escape - A GW version of Escape from ECMA Labs
    • A different way of building the map -- via prefab
    • Items that you can push, pull, slide, bash.
    • Bashing, opening, closing doors, shooting targets, custom bump and ai functions.
  • Beauty - A GW version of Sleeping Beauty
    • Title screen
    • Custom combat screen
    • Random drops from monsters
    • Random treasure generation
    • Fancy dungeon generation - with round shaped levels

FAQ

  • What inspired the project?

    I was trying to do a 7DRL and was a little daunted with some of the basics that I needed to get working in order to have something reasonable -- things like a character building screen, inventory, equipment, etc... All of the basics of a complete Roguelike. I wanted to go beyond those and having to build them every time felt like I was just wasting time doing what somebody else has done over again.

    It turns out that there are a lot of gotchas in these areas and a library to give me a decent version of them would help. The goal is to give you enough to do a full game without limiting you too much to add your custom spin on it. So a nice core with flexibility.

  • Why didn't you build on rot.js?

    Good question. I love rot.js and what it has done for making casual Roguelikes. I originally built on top of rot.js, but for some reason, that code did not make this current version -- differences in canvas being one of the main reasons. I may return to this concept and add rot.js compatability/support again. I just want to get a little more of the examples that are in my head working so that I can have a fuller picture of the project before redoing that integration.

License

MIT.

About

A library to make developing Roguelikes easier

Resources

License

Stars

Watchers

Forks

Packages

No packages published