1. Some other ideas.

    May 12, 2010 by Stone

    Note: I’m still writing MysticRogue (which is my unofficial name for the Mystic Towers Rogue), but I had some other ideas that haven’t been explored in roguelike form yet, a few of which might work a bit better. Who knows, maybe instead of a big roguelike, I’ll produce several interesting small ones.

    Last night, I had a thought about a Jazz Jackrabbit Roguelike. I can sort of see in my head a roguelike with a green color scheme and turtle themed enemies. The platformer had the important things: pickups, enemies, bosses. I might consider it, though speediness isn’t something easy to simulate in rogue form, i imagine.

    Another interesting (IMO) game that would work would be Worms. Seriously, plenty of stuff to pick up. mostly weapons. plentiful enemies (mostly other worms). I dunno. Maybe.

    Off the topic of roguelikes, I’ve been having delusions about taking apart One Must Fall: Battlegrounds. That game was the most fun I think I’ve had with a game that ended up being a failure. I still have my signed box, and I still load it up once in a while. I did at one point have access to the development tools, and if I can find those, it would be interesting to see how a match gets loaded. More importantly, I wonder if that can be changed. If I can modify how the single player matches get loaded, a pseudo-tournament mode would be possible using any language that I could write the info for a match to the game with.

    It’s wishful thinking though, but I can’t remember how far anyone got with those tools. Maybe it could be done.


  2. Further on Towers

    April 23, 2010 by Stone

    Of course, this won’t be a true Roguelike. Since MT was a strategy game primarily, the map layouts are integral. This is actually really helpful for beginning development because if I design the map creator now to grab pre-made maps, once the game is working, it won’t be so bad to implement the same methods to instead make the random maps needed for more rogue-like roguelikes I might make.

    Another thing to consider in MysticRogue(tm) is doors. In the game, they had no thickness. One tile is in one room, the next is the first in the next room. I either need to create walls that can fit between tiles (also non-roguelike), or change the dynamics of the game by allowing one-tile thick doorways. Further, there was no interaction between rooms. I could flip a switch that affected another room, but I couldn’t drag an item through a door. On that note, standing in the doorway (on the tile where the door was) with the monster on the other side was a surefire way to keep it from hurting you. You couldn’t shoot through the door either, so you would have to move eventually, but it was the perfect place to use a heal spell, because you had no urgent need to move most of the time.

    Ultimately, I plan to make this more roguelike anyways, since there should be 8 (not 4) directional movement, and the ability for monsters to chase you between rooms. Ultimately, it would be sort of fun to generate the tower as a series of random rooms, that only have to meet basic standards for inclusion. Then I could have more than 15 monsters per tower, more than one in a room at any given time, and turn this less into a recreation of Mystic Towers in roguelike form, and more like a tribute to it. This would give me a lot more leeway to rearrange the towers, add monsters, add or change spells, remove levitate, and more. I could use the rules of the towers as guidelines (ie: There still must be at least one teleport pad per floor, generator must be on floor 3, at least one bomb must exist to destroy it), and possibly still make a fun game. Of course, writing a map generator adds at least weeks if not months to the development time, so we will see. I may start with Rimm Tower as a recreation to be sure I can handle it, then abstract and change it from there.


  3. On Mystic Towers

    April 22, 2010 by Stone

    Of the early PC games I played, Mystic Towers remains one of my favorites still. Likely it is for the same reason some people still play Doom, or the first Unreal. Back in 1994, games really didn’t have the fancy processor power and graphics they have now. They had to rely on the graphics they had, and the mediocre sound they had, and decent gameplay if they wanted to impress their audience. To create an atmosphere back then was difficult, but like Doom, I think Mystic Towers pulled it off.

    There are systems they had that won’t work so well in a roguelike without careful consideration. Because the game was in isometric 3D (tiles looked at from a corner) there were gameplay elements that won’t work from top-down, such as items being hidden (from the screen) by taller items in front of them. Because you could pick up items next to you rather than on top of them, sometimes items were off the map (such as a fireball spell in a fireplace). I have to ensure I have rules for that. Then of course, there is the levitate spell, which is probably going to be my biggest challenge for this game. In Mystic Towers, everything had a height. When walking around, you could go under some high objects, fit through doors, jump over low objects, and reach the floor to pick up flat items like coins. ect. By levitating, he raised himself up one tile (up to 4 with repeated casts). At one tile, you were off the floor, so tiles with effects were not triggered. At two tiles, the lowest monsters couldn’t attack you, and you can glide straight over short objects, but you can no longer reach the floor to pick things up that were on it. At heights 3 and 4, you could not fit through ground-level doors. Non flying monsters were easy to pick off, since they couldn’t touch you also couldn’t interact with much unless it was high up as well. If there was an item on a high shelf or on top of a pillar, or a high button, you could get to it, but since the levitate spell was fairly rare, you had to be smart about when to use it. Many of the high buttons had a crate nearby you could push over and jump onto to hit it.

    Another interesting item is the attack spells. There were 5 spells, and the only difference was the name, graphic, and damage. The spells firef from you and went up or down first (if the monster was higher or lower than you), then straight along a path. This meant that a) The monster had time, and might move away from the line of fire or closer to you, and b) That items on the ground might block your shot, but you could shoot over items if the enemy would be hit.

    Personally, I would love to see the attack spells have more of a strategy to them, not only doing higher or lower damage, but having other effects. Ice could slow an enemy down. Being strange demonic monsters, maybe one of them could speed up from ice. Lightning could arc, or move faster than a shot of sulfur for example. Overall, there is some creative room here.

    The tough part will be the atmosphere. If you have never played DoomRL, you should. There is a game that captures the atmosphere of the game it emulates. I feel great when playing DoomRL, like it’s an actiony, shooty game. Good times. With MT, I’m going to try to get the creepy atmosphere going. It was mostly the sound, but it was always interesting to walk into a room and realize that it was very dark, and some unseen monster was already gnawing on you. I think I can pull that off.


  4. I’m getting it.

    by Stone

    I think I’m getting the hang of Java. It just took some research to understand what a few of the words I didn’t understand were. For some reason, the book i was using just never explained things like why you start a main class with “public static void main (String[] args) {” (Or whatever it is. I’m typing from memory).

    My new approach is better: I picked a book that wasn’t as dry (I always have luck with O’reilly, and probably should have started with them), and I ask a lot of questions. I’m only now at the beginning of actually creating and using objects, but unlike with the last book, I get it, and I feel compelled to keep going. That is awesome!

    I was asked the other day why I feel compelled to write a roguelike. Honestly, I don’t know. I’m into them to some degree, but I’m not a hardcore player or a fanatic. I don’t know the differences between Angband variants, nor have I ever beaten the more heavy number crunching ones (Nethack).

    I think what I like about playing them though, is that they work for casual and hardcore gamers. If I play World of Warcraft casually, I’m always behind the hardcore players. Even if they have a character at (or lower than) my level, they have heirlooms and gold from the higher level characters that I don’t. This is ok, but it does discourage casual play, since I know that as long as I have a sex-life, I will not have all that cool gear. If I play ADOM casually, I’m part of the general crowd who might have a lucky win or two, but generally isn’t getting their 1000th lawful crown, or slaying the ElDeR ChAoS GoD for the bazillionth time. The random nature of this game means that even those hardcore players won’t have a huge lead over anyone playing as long as them, and the short lifespan of characters coupled with no meta-game or interaction between your other characters means two players at the same level are not severely mismatched.

    I also like the relative freedom. In Crawl, you have tons of options, and the game does have only one ultimate path, but so much of it isn’t linear (I can clear the hive now for the XP, or wait until I need the food and have more poison resistance later). This is why I explored every nook and cranny in Oblivion (I think): because I could. On the other hand, I’m under no delusion that an hour of horse-riding between towns might be considered an hour of gameplay.

    Back on topic though, I still have a lot to do before I can even begin any sort of development. I have to decide how this is going to work, for example: Is the screen just an object that calls a drawScreen() function? That might be best, but that isn’t the only possible way to handle displaying events on screen. Maybe the screen is drawn once, and the entities show up on top of it, only moving themselves when neccessary. I’m like a little kid looking at a huge blank paper, holding a huge box of thousands of differently colored crayons. I can make anything, but the hardest part is drawing that first line. Ruining the perfect cleanness and clarity of that paper in a way that I can only hope makes it better.


  5. So much to do… no time to do it…

    April 14, 2010 by Stone

    Ah, the classic argument. Where will I find the time to do the things I know need to be done? The things that one has to do in life will invariably fall into one of four categories: Things that are both urgent, and important, things that are either one of those, and not the other, and things which are neither urgent nor important.

    This presents a good deal of difficulty in planning.

    On the one hand, some things are urgent. Showing up to work on time. Bathing. Eating. These are things which must be done, and done at or by a specified time.

    Some things are important, but not urgent. Dental Care, for example, would fall into this category for many people. How many of you regularly go to the dentist? How many of you know that you should? See.

    Some things are urgent, but not important. Cleaning my place is like that. If I wait until Saturday, I might get a few bugs, but it won’t ultimately make a difference unless I go a while without doing it.

    The things that are neither urgent or important though, are the problems. This is usually things like dating, like video games, like drinking beer or playing pool. basically, the fun stuff, that sometimes manages to take priority over important things. How many times have I said to myself, “I SHOULD go outside and jog. Maybe after this dungeon.”

    Bah!


  6. Another benefit of the OOP approach. Also, dice.

    February 25, 2010 by Stone

    I just realized at work today that I am not sure how to get the grid to display. This actually means I can try something I’ve wanted to try with OOP: writing the game without a fundamental component, and seeing if it can be added later. I figure that if I can track everything on a grid, having a draw command go over the grid and display what is there shouldn’t be so hard after. It’s quite a change though from what I’m used to. Web design is all about the visuals, and you really can’t work without them. It will be strange not seeing instant gratification on a change, and passing a lot of numbers to the interpreter, but I think that may be the quickest way to get started.

    A friend of mine made an interesting comment the other day at the craps table. We got to discussing RPGs, and he said that nearly all dice rolling is linear, even though it doesn’t have to be. Most RPGs probably have some roots in Pen and Paper (PnP) games, and those are often limited to dice with an even number of sides and modifiers. This didn’t need to be the case, but the alternative was usually more about number crunching than anything interesting. He surmised that it would be interesting if a game could use casino games for rolls. Imaging playing an RPG in which your actions correspond to actions at a table. You get into a battle with an orc. Behind the scenes, you are each dealt two cards for blackjack. You choose to attack. This puts you at the ready and in the blackjack game, signals that you want to stay. The orc takes a defensive stance, the equivalent to taking a hit, then staying. Both of you flip your cards at once! ooh, he busted, and his block fails. You had 21 (and didn’t know it), so you get a critical hit!

    At the very least, it would make an interesting game. I’m not sure how practical it would actually be in practice.


  7. Design Philosophy

    February 9, 2010 by Stone

    If you know my gaming habits, or read some of my posts about roguelikes, you know that I am a big fan of Linely’s Dungeon Crawl, or more specifically, the updated Stone Soup variant. I find the game fun, challenging, and interesting to play. It does not have a few of the flaws (I consider them flaws) of ADoM that keep me from regularly playing. ADoM is fantastic in it’s own right, and is definitely a step above everything else in the realm of roguelikes, but I keep starting and stopping, beginning and not getting far, and I think there are a few reasons why I do this, and can’t possibly be the only one:
    1) Instant Death. Nethack is notorious for this, but ADoM has a huge number of these too. InstaDeaths are a good addition to gameplay within reason, but there is nothing quite as frustrating as losing a character you have been working on for a while, to a threat that you should have been able to handle, regardless of your HP, toughness, resistances ect. I won’t go into details here, (that would be a long rant), but with permanent character death, instadeath sucks, and should only be used sparingly in avoidable situations.
    2) Certain skills are vital, others are pointless. While each character in Crawl only needs certain skills, different characters will need different ones, and they are all therefore useful. Can someone please tell me what your appearance score in ADoM was for? Me neither. On the other hand, I never had a win without the healing skill, which leads to my next issue…
    3) Non random, non choice, linear paths. How many times did I have to rescue that damned carpenter? The only time I had a choice was if I already had the healing skill, and most classes don’t start with it. Choices are only good if they are meaningful, and not a no-brainer. This is a big part of the Crawl philosophy, any time you could choose to do something, you are choosing not to do something else, which makes it tougher to decide. My favorite example from this are the Crawl Gods. There are so many to choose from, each with their own strengths and weaknesses. Do you choose the one that covers your weaknesses so you are more well rounded? Do you choose the one that complements your strengths, turning you into a deadly force to be reckoned with? Do you take the slow and steady god that will have huge rewards later for your patience now, or do you take the god who trusts you early with his power, but never really grows into anything game-changing?

    Bonus point: Good and Evil. This is one that Crawl loses in favor of ADoM. Crawl’s good and evil is bland at best, with “good” gods who help slay undead, and won’t take demon followers. It is there, which is good, but you don’t generally have many actions that slide you one way or the other on the cosmic good and evil scale, other than the act of existing as undead or a demonspawn.

    In ADoM, you could rob stores, kill the innocent, heal the wounded, spare a life, save the mad, gamble, commit acts of cannibalism, donate your money to good (or evil), sacrifice your enemies, sacrifice your friends, save a little girl’s puppy, or eat it in front of her. One of the first things you can be asked to do by the sheriff of the first town is to bring an outlaw leader to justice. One of the first things you can be asked to do by the leader of the criminal town is to slay said sheriff. It’s truly interesting, and your Lawful/Chaotic alignment has an effect on the game.

    So, in summary, I think a good design philosophy for my roguelike is as follows:
    1) No no-brainers. Decisions should be interesting, and have an impact
    2) Said decisions should be plentiful
    3) The player should see sources of death coming with enough warning most of the time to react (ie, you shouldn’t see a message about a monster picking you up and throwing you out a tower window unless you could be expected to know that that monster could do that. It should never happen immediately on the monster coming into line of sight. Also, no monster should do more damage in one turn than the player has HP, unless the player could see it coming)
    4) (duh) The game should be fun. any and all rules can and should be modified if they add tedium, encourage farming or scumming, or inhibit players from enjoying the game.

    With that in mind, I will probably commit a crime against my own philosophy in my first roguelike, and follow the design and layout and predictability of Mystic Towers. I think I might make a goal of mine to eventually move away from pre-defined layout, but to start with, I don’t have to try to code a map generator that way, and I know that the original layout was tailored to the tower, with the right number of spells and location of items to ensure an enjoyable game, and it seems wrong for my tribute to stray from that.


  8. It’s funny, actually.

    January 28, 2010 by Stone

    I have a number of subscribers, and I delete a few spam comments, but it is funny to me how many of you remain anonymous. A few of you probably really do read these, and I would love to get your opinions and comments.

    Please, reply, let other people know that of the 19 users who don’t appear to be spambots, you are real, and you have an opinion.

    And an update: Java is going well, but it has been a rough couple of weeks and I’m a few chapters behind. I just got to the one about making the application run in it’s own window (awesome!), so I will be putting up some samples and some code in the next few weeks.


  9. I am writing a Roguelike.

    December 23, 2009 by Stone

    It’s been a while since I posted. Sorry.

    A roguelike is a computer game based on Rogue, which was one of the first computer games written. These games usually have simple graphics of ASCII characters, an ‘@’ for the player (represents a hero viewed from the top down), and letters representing enemies (such as a ‘D’ for a dragon). These range in complexity up to the likes of ADOM (which is hugely complex, with lots of things to do an explore, lots of skills the player can learn, and several paths through the game). These can also have quite a few themes, rather than just the mythical dungeons and dragons type theme. Notable games in this regard include Gearhead Arena (a roguelike centered around anime-style giant fighting robots, with you the player as an aspiring pilot. Actually, the whole game is even bigger than that, and totally awesome), and DoomRL (Based on Doom. If you’ve never played Doom, you’ve missed out on true gaming legacy. DoomRL is in itself a vast amount of fun).

    Roguelikes, if you can get over the lack of graphics, are really a lot of fun. They can vary in difficulty and complexity, so people of any gaming skill-level can jump into one. Because of some features they share with bigger games (skill points, leveling up, inventory, ect.), creating one is a good way to learn a new language, or test a programmer’s skills. I will be writing this in Java, which I am actually just starting to learn. I understand the concept of Object Oriented Programming, but it is time to see if I can do it (well, that and I have an idea that hasn’t been explored in a roguelike yet).

    More details to come. This isn’t started yet, so don’t expect a mini-site or progress for a while.


  10. Pool playing robot. When can I get one?

    September 22, 2009 by Stone

    Cnet news article

    This is really cool. While I don’t actually see a practical use for it, I have to say that the idea is really cool. The system uses cameras and math to try to predict how shots will outcome, and the ultimate goal is for it to beat the best human players. Personally, I’m holding off on this until it can match the things in videos like this. Still, the idea that it works like the AI in Midnight Pool on my old cell phone, but uses a real pool table is just too cool.

    Oh, and on a side note, after a rather long hiatus, this blog is back, baby!