Building a Roguelike in Javascript - Part 16

Help, Examine and Look Screens

This is the twentieth post in the Building a Roguelike in Javascript series. I recommend you start at the beginning unless you've been following along. This part corresponds to part 15 in Trystan's series. All the code for this part can be found at the part 16 tag of the jsrogue repository. At the time of writing, I am still using the d4ea2ab commit for rot.js.

In this post we're going to add new screens to our game to make it easier to play as well as to make the environment more detailed. We'll start by adding a screen to examine the items in our inventory and get more details about them. Then we will add a look screen which effectively allows us to look around the map and get more details about items and creatures laying around. Finally we will add a help screen listing all the game commands!

Demo Link

The results after this post can be seen here.


Creating a Proxy Server with Go

I recently bought a Raspberry Pi to tinker around with and I've been having a blast developing little applications and services for it. I've been wanting to expose some of these services however I'm skeptical about my abilities at doing Linux system administration so I figured I would expose them through another server on my network. As I've mentioned before I've been playing around with Go so I figured it'd be a fun project to build a small TCP request proxying server with it. Ideally the server would listen for TCP requests and forward them to another host and/or port. Note that this post was heavily inspired by this gist by vmihailenco. The complete code for this blog post can be found at the jokeofweek/gotcpproxy repo.


Building a Roguelike in Javascript - Part 15

Event-Based Entities and a Final Boss

This is the nineteenth post in the Building a Roguelike in Javascript series. I recommend you start at the beginning unless you've been following along. This part does not correspond to a part in Trystan's series. All the code for this part can be found at the part 15 tag of the jsrogue repository. At the time of writing, I am still using the d4ea2ab commit for rot.js.

In this point we're going to make two major changes to our game. First we are going to make our entities be more event-driven. What this means is that mixins will be able to subscribe to certain events, say when an entity dies or gains a level, and react accordingly. The second change will be adding a new final level to the game. This will allow us to have different map objects and will add a nice bit of variety to our game. As I said, this post does not correspond to a part in Trystan's series, but I do think this is the right time for this post.

Demo Link

The results after this post can be seen here.


Building a Roguelike in Javascript - Part 14

Experience Points and Levels

This is the eighteenth post in the Building a Roguelike in Javascript series. I recommend you start at the beginning unless you've been following along. This part corresponds to part 14 in Trystan's series. All the code for this part can be found at the part 14 tag of the jsrogue repository. At the time of writing, I am still using the d4ea2ab commit for rot.js.

In this post, we're going to make it so that our entities can level up! Currently the only real differentiating factor between our entities is that they have a strength and defense value. We want our entities to be able to grow over time! We'll start out with a basic system in which an entity will gain experience when they kill another entity. Once enough experience is accumulated the entity will level up. In our game, we'll heal an entity when they level up and give them the choice of increasing one of their stats (max health, attack value, defense value, or sight radius). Note that entities other than our hero will also be able to level up!

Demo Link

The results after this post can be seen here.


Building a Roguelike in Javascript - Part 13

Aggressive Monsters

This is the seventeenth post in the Building a Roguelike in Javascript series. I recommend you start at the beginning unless you've been following along. This part corresponds to part 13 in Trystan's series. All the code for this part can be found at the part 13 tag of the jsrogue repository. At the time of writing, I am still using the d4ea2ab commit for rot.js.

In this post, we are going to make our monsters more aggressive by making some chase down the hero! We're also going to do something a little bit different from Trystan's tutorial and add speed to the entities, so that some entities act faster than others!

Demo Link

The results after this post can be seen here.