Trying to Conceive

Next game I am trying from the 7DRL completed entries is The Conception. At first I did not get the controls for the game. I got a lot of messages stating that I could not move onto myself. What? Then I finally figured it out. Looks like you are a sperm with a tail that extends a couple cells away. You cannot move onto your tail. This is kind of like a snake game, with a very short snake.

Now that I understand the game and the conception bit, I see why the walls of the maze were drawn in some sort of pink color. There are annoying obstacles that move and inhibit your progress. I fought a few enemies along the way. I did like the way the walls of the "dungeon" were drawn in hex shapes with color. That is something a little different.

I laughed at having to fight with the clap. Later in the game, I saw that my tail got smaller when I lost health. That was good because I was not running into it any more. But it was bad because death was near. The mission provided a bit of a chickle as well. You got to "fertilize that egg bro".

This game does not seem that easy. If it was not turn based, I would say it would feel like a low resolution video game.

Playing Rodney

It is about time that all the Roguelike entries should be finished. Now it is time to enjoy the games. I only saw about 10 delcared failures. I guess there are going to be a boatload of games that were finished. First up I tried Rodney. Initially I was a little puzzled on how to proceed. I entered my name. Now what? All I saw was a button to see the leaderboard (high scores).

I ended up playing the "offline version", whatever that means. I got past the name entry screen. There I had to choose one of many special abilities. I went through the first three levels. The ligthing was nice. There was a simplified user input system which had me pressing space for the most common choices.

Funny it seemed that some weapons I wielded must have broke in battle. I encountered a lot of items in the first few levels. Had to already make decisions on whst to drop. Picking up a torch seemed to improve my view. The levels themselves did not appear too huge.

I am not sure what the eventual goal in the game is going to be. Maybe I have to find Rodney who disappeared down there a few years ago. Or maybe my goal will be to find out what my goal is. Either way, I bet I will have fun.

Room Rogue Tactics

I have wrapped everything up for my 7DRL entry Room Rogue this year. Updated the submission site, entering my download link. I put the thing on my DropBox folder just like I did last year. This should be easy since my file is HTML. Anyone should be able to click the link with a browser, and be immediately playing the thing.

Things start out easy in my game. You just have to bump off a bat on dungeon level 1. However monsters get harder and grow in number as you descend. The key is to level up early, and keep your hit points near maximum. I have super regeneration always turned on. So you gain 1HP per turn.

You know what that means? Run when you are low on hit points. You also get a big time increase in maximum hit points for every character level you achieve. Get yourself up to cLevel 8, 9, or 10, and you will be a wrecking machine. The challenge is that most room are open. So the monsters can gang up on you. You just have to play smart.

We Have a Winner

I have finished the minimal set of features to declares this year's roguelike entry a success. I made sure instructions come up in the initial messages at the start of the game. Also added some simple help that repeats these initial messages. Put in a number of different monsters. I cheated a bit at the end. There are around 5 different types of dragons.

Towards the end I was really hacking the code. This was not because I did not have enough time. I am finishing about a day and a half early. I just was not in the mood to design the code the correct way at the end. It has been a long week of coding. Now I should probably get back to studying for my XML college class.

Normally you are supposed to write up a new roguelike for the 7DRL and stop. I think I might continue on with this game after the contest. I could clean up some code. There is a lot of refactoring to do. Might even get into some object oriented JavaScript here. However the first order of business is to put this thing up somewhere on the web and officially declare success.

See you at the finish line.

Introducing Colors

Now that the basic game mechanics are complete for my 7DRL, it was time to implement some colors. The game was just too boring displayed in black and white. Previously I had heard some complaints about complex roguelikes I have made which lacked colors. Well now I deliver.

I actually hacked together the color generator. When transferring the symbols from memory to the screen, I do a quick translation to wrap everything in something that aligns it to a color based on the symbol. I left all the English text in white. The background is always black. Everything else has its own unique color.

Now I should probably provide some help so the user knows which keys control the movement. Then I might start adding some more monster types. However I am getting close to the icing on the cake. Most of the game is complete. I just need to be careful now not to break anything. In fact, I think I might just make a backup of the working code right now.

Monster AI

My 7DRL entry Room Rogue is coming along nicely. Previously I had monsters which were very dumb. They would line up and try to attack the player. However only the first monster in the line would do the attacking. The others would wait behind that monster. I needed these monsters to be a little smarter and move around the other monster. That way they could tag team attack the player. Without this, multiple monsters did not pose much of a challenge.

The trick behind this was to sometimes choose a non-optimal direction for the monsters to move. The optimal direction is the one that takes them closest to the player. However if that spot is inaccessible, the monster should choose another direction. The best direction of the available directions should be taken. I implemented that today.

Now with more monsters acting smartly, I needed to give the player some means of staying alive. Therefore I added leveling up for players. If a player levels up, they get more health. And to implement the level up, I had to implement levels for players, as well as experience for players.

Now tomorrow I must add some color to this game to give it pizazz. Then I might add some more monster types if time allows (right now you only fight orcs).

Battle Mechanics

Today I shored up the battle code for my 7DRL entry Room Rogue. Previously the player and monster always hit each other when they were close enough. They also previously always were awarded maximum damage. Well no more. I implemented a simplistic battle system. You got to roll a die to ensure a hit. And the amount of damage done is random, based on the maximum amount you can do.

At first I thought I could just scale the damage amounts up uniformly. But this new battle system skewed the difficulty of the game. I found myself getting killed on level 1 too often. So I made the monsters (all orcs at the moment) have a little less maximum damage.

Now I need to allow the multiple monsters on the lower levels to pose a challenge for the player. This means I need to get them to move more intelligently to surround the player. Right now they line up and block access to the player. Then I guess I should also allow the player to level up with experience to get a higher maximum health.

Did I mention that I have not added any color to the game yet? Guess that will have to come through on the last day. That might be a bit difficult. But hey. This is a 7DRL. At least I already added the scrolling messages function.

Introducing Melee

I got the player fighting monsters now in my 7DRL entry Room Rogue. Players hit monsters. The monster hit back. It is a battle to the death. Right now the battle system is very simplified. If you are in range of a monster, you can always hit it. And you always do max damage. Same thing goes for the monsters. If they can reach you, they do hit you with maximum damage every time.

I stacked the odds in favor of the player. They always auto heal. And they do more damage than monsters. The monster also have a very dumbed down navigation. They get jammed up and cannot approach the player in all kinds of scenarios. I was able to move through this unbalanced game and get halfway down the dungeon before getting bumped off.

I need to employ the RNG and check a random number every time somebody tries to attack. And if the number shows there was a hit, I need to compute a random amount of damage. Otherwise things will be too predictable. Now sure if I am going to allow the monsters to regenerate health like the player or not. Maybe they can do it at a much slower rate.

I See Monsters

Today I implemented some gameplay into my 7DRL entry. First I put up a minimal statistics line on the top of the display. For now it only updates the dungeon level the character is on. I also added hit point regeneration for the player. The only problem is that there is nothing that takes away the player's hitpoints. So the hit points stay constant at the maximum amount. All that is going to change shorty. I am slowly coding up the monster portion of the game.

The monsters are really not all that fun. The implementation seems mechanic, like I have done this before many times. I should just come up with a generic library to handle this. Then I can use that library in the future. For now I have monsters being created. The further you are in the dungeon, the more monsters you will see on a level. The monster now blindly follow the player around the room.

There are some limitations I need to overcome. Right now monsters cannot cross over top of items in the way. They also do not attack the player yet. Likewise the player cannot hit any monsters yet. All this will change soon, maybe even tonight if I get the time and energy. I just want a minimal set of monster logic to provide some obstacle from making the game too easy. The real emphasis of the game is the shape of each dungeon room.

Intoducing the Ellipse

Today I banged out the rest of the screens for my 7DRL entry. The major new geometry that I added was the ellipse. This is an elongated circle. Since the shape is drawn in character blocks, the sides are not smooth. But it is good enough for a roguelike. Having gained the power to draw an ellipse, I drew two ellipses on one screen and called it my Mobius strip.

This kind of looks like a figure eight turned on its side. Or it looks like the infinity sign. I actually read up on some newsgroup posts to see how people draw a circle. Turns out you use the x squared plus y squared is less than the radius squared equation. And here I thought I was going to have to dig into the sin() and cos() functions. That would have worked to. But why add trignometric complexity when a simpler technique exists?

7DRL Day 2 Progress

In the afternoon I completed the second room shape for my seven day roguelike entry. This was a diamond, which was easy because I already figured out how to draw a triangle. A diamond is just two triangles joined at a side. Then I went to the next screen which wsa a cross. And when I write cross, I mean the vertical/horizontal cross like the universal symbol of medic.

Finally I came back this evening and implemented what I think will be the final screen for the day - a criss cross. This is just a big letter X. It was tough to line it up to fit proportionally in the maze boundaries. But I think I got it right. Tomorrow I venture into the shapes that involve the circular geometry.

7DRL Day 1 Progress

I have spent an hour or two starting the coding for my Seven Day Rouguelike entry. Before writing the first line of code, I sketched out what each level of the dungeon would look like on a pad of paper. Some ideas are still under consideration. The first room was initially going to just be a normal rectangular room. But where is the fun in that?

So I instead started out with a triangular room. At first it was not that hard. However the screen is wider than it is tall. So the triangle did not take up the entire width of the screen. I tried making the triangle grow in width at twice the original width. However that causes it to botom out too soon. I am satisfied with having some crooked edges, but making the triangle fit the screen better.

I also added display of the player symbol. The user can move around the screen using some keyboard controls. I am also making sure the player cannot walk through walls. I am going to call it a day. Got a lot of other tasks to work on tomorrow. However I want to get at least two more screens put in there. And maybe start adding some stats to the top of the screen. By Monday I hope to spend a lot of time on the game, and maybe even complete all the room shapes.

2013 Seven Day Rogue Begins

I have just declared my intention to participate in the 7DRL for 2013. My info has been entered over on the Rogue Temple site, when entries are submitted. This year my game will be called Room Rogue. I plan to focus on drawing dungeon rooms that are something other than plain rectangles. I have sketched out a dozen interesting shapes. Some will be familiar from other roguelikes. Others might be unique.

Since I have been looking for an excuse to use some programming skills I have studied over the past year, I will be writing the game in JavaScript. That means it should run in a browser. Yes. No install program required. I did a 7DRL in JavaScript once before. However I really did not know much about the language back then. So I struggled. Now I hope I can learn a thing or two. And produce a roguelike.

I am a litle behind in school right now. That means I canot spend the whole week coding this game. Got to ensure studies do not suffer. However I do not plan to go into work this week. That would leave no time for the game. As long as I don't spend too much time hanging out with the friends and playing games this week, I should be able to throw down a playable game. Good luck to all entrants. I saw well over 200 entrants already over on Rogue Temple.