Monday, 2 January 2017

Rogue's Progression

Lots of new stuff in this update! I've been busy on many aspects of Rogue's Redemption.

First of all, I've decide to target Android for this particular game. I'm writing it really as a game I'd like to play myself on the go. Somehow I find most mobile games disappointing in one way or another so would like to make something that's actually good fun to play on a mobile device.

The interface has been developed a bit more with the addition of health and xp bars. Also a profile icon has been added in the top right of the screen. This will be used for various things, the specifics of which have yet to be decided.

Monsters everywhere
The player can actually die now! The game feels more like a real game now that's possible. Combat is still arbitrary with fixed amounts of damage being done on each attack. I'm not familiar with D&D and don't particularly want to be so all the 'chance' combat events will be kept minimal and will behave more as you'd expect. One thing I don't like about some roguelikes is when the random and luck elements seem to often dictate the outcome of a game.

30+ of the planned 60+ usable items in the game now spawn from chests, boxes are as drops from dead monsters. All the code to actually use the various items has yet to be written.

There are a few sound effects now for various events and actions. This really helps build the atmosphere of the game. These will obviously be added to and some suitable music added too.

The line of sight code has been re-written twice now! The latest incarnation uses Bresenham's line-drawing algorithm as suggested by some of the guys here. It's currently much slower than my previous vector based code but it can be optimised greatly. Right now it checks every pixel of the line and really only needs to check about 1 in 4 or even 1 in 8.

There is now a 'ticker' which saves 4 lines of text displaying the last 4 notable events to happen. Most roguelikes seem to have this and I like it so there we go.

The greatest challenge at the moment is collision detection. Defold's collision shape implementation isn't well suited to a grid-based game like a roguelike. I really need a way of just checking a tile for an enemy and act accordingly. With the loosely-coupled nature of Defold, I'm honestly not sure how to do this. I'm sure a solution will present itself soon enough - it always has done thus far!