Archive for category UnderKeep
Caverns of Underkeep : The Road to Alpha 2 Entry #1
Posted by Joshua Smyth (Admin) in UnderKeep on December 17, 2007
After getting some good feedback from the alpha demo and a continously running demo that a few people have access to, I’ve got a big list of stuff to complete for the next public demo.
The target date for alpha 2.0 is Jan 15, 2008 and will contain 5 levels of the dungeon.
Over the last couple of days I’ve been tidying stuff up, fixing bugs that have been there for ages (and adding new ones in the process) making minor graphics changes and just generally tweaking and proding around. Mostly uninteresting stuff, but it all has to get done sometime.
I’ve also added a restart button so when you die, you don’t have to hit refresh on your browser if you want to play again – Yay!
I really want to get onto the mini-games – I’ve got two different styles of puzzle chests planned and I think they’ll be quite a hit. There is also going to be some kind of gambling in the Inn (which doesn’t exist at the moment) and maybe somekind of ‘flirt with the barmaid’ game, but I can’t quite imagine how that one would work
Perhaps I should stick a dinner-dash component in, where you have to serve customers dwarven ale in order to earn some extra gold. And if you get their order wrong they’ll start to pummel you?
Maybe not…
I’ve also drawn some new graphics, probably the best I’ve done so far. The character on the far left is an option for the players avatar, but the others are going to be bad guys.
More on classes
Posted by Joshua Smyth (Admin) in Game Design, UnderKeep on December 14, 2007
In a previous post I explained how Caverns of Underkeep will not have any classes.
Well, I lied.
I just added a character creation screen to the current build and I implemented some character classes.
However, I still claim that Caverns of Underkeep is not an RPG, so the classes represent game options rather than roleplaying options.
So far I have added six vocations:
- Adventurer - Normal, the default. Pretty boring.
- Beserker - Cannot wear any body armour or equip any shields. In return there is a 5% chance that they do double damage in Hand to Hand combat. They can still wear helmets – They’re not that stupid.
- Frail Mage – Starts with +4 MP and -4 HP
- Merchant - Starts with 250 GP but loses -2 Dexterity due to being a book reading economics nerd.
- Ogre - Big and strong. Starts with +3 Strength and +3 Endurance. Unfortunately Ogres are banned from all the shops in town.
- In Debt Big Time – You start with -1000 GP. If you can pay it off you get a score bonus.
That’s it so far, I’ll add more as I think up some. Basically I want something that gives a strength but also gives a weakness. Or perhaps provides some alternative playing styles. Post ideas if you have ‘em.
Caverns of Underkeep – Still not a roleplaying game since 2007
Random Dungeons
Posted by Joshua Smyth (Admin) in Game Design, Game Programming, UnderKeep on December 10, 2007
I’ve been working on algorithms for randomly generating dungeons.
My project Caverns of Underkeep is a Roguelike, and one of the features of all roguelikes is that they have randomly generated dungeons. There are two different flavors of dungeon generation and I’ll explain how they work in this article – Surprisingly the simplest algorithms can often produce the best results.
Here is a screenshot from a typical Cave map
The way this type of dungeon is generated is as follows:
- Start with a completely unwalkable surface, then draw some randomly sized circles in random places – These circles are going to be water areas.
- Perform a couple of random walks from the centre of the map, if we fall off the side of the map stop walking.
- Locate tiles that are dead ends. (Any tile that has only one walkable tile as a neighbour) At these dead ends place a circular style room. Use a basic turbulence* algorithm to alter the shape of the room.
- Locate a few other tiles that are part of a corridor – And not part of a room (To do this just work out how many unwalkable tiles are in the area immediately surrounding the tile you selected – If the number is greater than 2, then the tile must be part of a room and not part of a corridor) and randomly place some more circular rooms at these locations.
*A basic turbulence algorithm for drawing a shape is if say – You are going to draw a rectangle, then draw it as normal but determine randomly if you are going to draw N more rectangles with slight x and y offsets to give a more interesting shape to your rooms. See the image below for an example.
The second type of map is a Citadel – A typical screenshot is bellow.
This algorithm is pretty much the exact opposite of the one above.
- Instead of starting with some random walks, I divide the map into 10×10 sections. Doing this gives it that more deliberate man made look to it.
- Determine if I want to place a room here – If I do, note it’s location in a big list of rooms.
- Draw a random rectangular room (with turbulence)
- Once all the rooms have been drawn, consult my list of rooms. For each room draw a corridor between that room and the nearest room. Once a corridor has been drawn from a room, remove it from the list of candidates for nearest neighbour (otherwise we could get stuck in an infinite loop)
Both algorithms are guaranteed to be completely connected – Which is a really important thing to have in a roguelike. There’s nothing worse than not being able to complete the game because of the random generator – Bad computer, no biscuit!
In Caverns of Underkeep I also take a hybrid approach to generate the sewer levels. Basically I combine the two algorithms to produce another style of dungeon – See if you can work this one out for yourself
Lions and Tigers and Sound Effects, oh my!
Posted by Joshua Smyth (Admin) in UnderKeep on December 9, 2007
Plugged the first load of sound effects into the game today, and for the most part they work quite well.
In the weekend I went around to a friends house and we used a microphone and an audio effects processor to create a bunch of sound effects.
It was my first time creating sfx from scratch – And well, we didn’t have much of a clue really. We just banged stuff together and pitch shifted a bunch of vocals. My favorite noises were the Orc sounds, which aren’t in the game yet but when we were recording them the dog took exception and started growling at our down-pitched grunts.
Getting the SFX to sound decent whilst not blowing up the filesize has been a bit of a problem. To tackle this I’ve made all the SFX mono and most are 22khz 16 bit, with the occasional 11Khz sample. The sound effects that have the least ‘going on’ are more suited to downsampling – I’d suggest avoiding 8bit samples as much as possible, as they can introduce a nasty hiss, which really affects the sound quality.
So far I’ve added about 200kb to the download size with the small number of SFX I’ve added. Bringing the total filesize of the game to 700kb – I’d still like people on dialup to be able to play, but surely they’re used to waiting for everything by now
I’m going to try to make the game less than two megabytes, but it’s gonna just get harder the more stuff I add.
Underkeep Alpha 1.0 Released
Posted by Joshua Smyth (Admin) in UnderKeep on December 6, 2007
Ok, the time has come to unleash a public preview of my new game. You can play Caverns of Underkeep in your browser. This demo contains the first 3 levels of what I hope will become an approximately 12 level game.
The main reason behind releasing a game this early in the development cycle is so that I can get outside feedback to make sure that I’m on the right track, and to gather suggestions from players, and find and fix any major bugs that might have slipped me by. I can’t afford a QA department, so I’m letting the people tell me.
I will also be archiving all releases that I do – Alpha 1.0, 2.0, 3.0, Beta 1.0.. etc.. etc.. And hope to have no longer than a month between each major release. That way a year from now, anyone who’s interested (including me) can look back and see just how far the game has progressed.
Alpha version of Underkeep coming very soon
Posted by Joshua Smyth (Admin) in UnderKeep on December 6, 2007
The Alpha version of Underkeep will most likely be available for a public outing this weekend. I just need to run it by a few of my friends-who-I-use-as-testers before pointing people to the url.
Once the alpha is out I’m going to sit back for a bit and catch up on some game playing as well as some research so I can steal er.. liberate some ideas for caverns
There is an interesting looking article on dungeon generation over at Ascii Dreams. Currently my generation algorithm is laughably simple and I will need to revise it for alpha 2 – Especially as I want to add a bit more variety to the types of dungeons that get generated.
Caverns of Underkeep Update
Posted by Joshua Smyth (Admin) in UnderKeep on December 5, 2007
Got a good lot of good stuff done over the last two days.
- Implemented a ‘Minimum Requirements’ check for certain items. So no longer can you wield the Huge Axe of Doom (If you’re a level 1 newbie with strength 4 that is)
- Added a Quiver that has to be loaded with ammo in order to use any of the Bows in the game, as well as revamping the ranged combat engine.
- Ability to buy/sell multiple items in one go in the shops, sorta inspired by the introducing the quiver as it became a bit painful to buy arrows 1 at a time.
Tomorrow will probably be a playtesting/balance/minor polish and bug fixing day. The next fairly major feature on my to-do list is sfx – Which should be interesting, not sure if I’m gonna try find some good stock sound effects or try to make my own?
Perhaps I should try to predict when the public alpha 1.0 release will be? Hmmm… Dec 12?
Why Caverns of Underkeep won’t have classes.
Posted by Joshua Smyth (Admin) in Game Design, UnderKeep on December 4, 2007
Its not that I’m anti-class when it comes to my RPGs. Infact I enjoy replaying games as different characters provided the game has been designed well enough to be played in different ways – And that really is key.
If I were designing a normal cRPG I’d have specialist quests for different classes, but there’s a bit of a problem I have with this new tendency for modern RPGs to omit classes and have an entirely skill based system, and that is I always end up playing the same character – A fighter/magic user who can pick locks
Personally I’d rather play a game that let me into the thieves guild if I actually were playing a rogue, rather than if I just managed to get past all the traps and pick the right locks. I think I’d be more inclined to play through an RPG a second time (or a third) if I knew there would be new quests, new locations and new content that wasn’t available to me the first time round. Also quite often at the begining of the game I’ll not be sure where I should spend my skill points, should I take hide-in-shadows, white magic or detect-traps? If I haven’t even played the game yet, how would I know? So I tend to fudge and become a jack of all trades type. Starting with a basic fighter/magic user type and adding pick locks.
I’ve got a feeling that if I were to pick a character class at the beginning, selecting something from the usual trinity of rogue, magic user or fighter. I’d reasonably assume that the game would be balanced for each type, and offer unique experiences for each. I really enjoyed the way Quest for Glory offered different quests and ways of solving puzzles for it’s three main character types.
But anyway, why won’t Caverns of Underkeep have classes? Because it’s a dungeon romp, theres no real roleplaying going on what-so-ever. Your job is to kill monsters, and to do this you’ll need to be able to fight, use magic and pick locks.
However, I’ll probably steal an idea from Cute Knight (which is a nifty little game) And let the player choose a star sign which their character was born under, this will give various different starting abilities and bonuses/weaknesses.
Tweaking, tweaking and balancing
Posted by Joshua Smyth (Admin) in UnderKeep on December 2, 2007
Ive been spending my time balancing the first three levels of Caverns of Underkeep.
Balancing takes quite a while because I have to adjust stats for the monsters, the frequency of items generated in dungeons, the gold value of items, how combat is resolved, how resistances work, how much one gains by leveling up and so on… and so on. This also means that I have to actually play through the game and many bugs are brought to my attention during these tests, which just adds to the list of stuff that’s needed to be done. Occasionally I find something that’s very broken and I have to recode it to make it fall into line.
What usually happens when testing the game is that I find it far too easy. I make some changes, and then the game is far too hard. I make more changes, the game is too easy again. Make changes, hard. Make changes, easy. Rinse and repeat. Hopefully soon, it will start to converge to a well balanced (and more importantly) fun game.
Mouse based walking
Posted by Joshua Smyth (Admin) in UnderKeep on November 28, 2007
This morning I added the ability to use the mouse to walk around dungeons. This should solve the diagonal movement issues for laptops which don’t have a numpad! The mouse walking is essentially the same as in Ultima7 – To do it I get theĀ mouse position and I calculate a vector to the avatar in the centre of the screen. Then based on this vector I calculate an angle. And based on this angle I change the mouse cursor to point in the direction that you want to move in. Brillant.
Although I do have to make the directional cursors smaller, and I keep wanting to click on the monsters to attack them, diablo style – rather than just walk into them. I’ll have to add an ‘attack’ cursor. Overall I think the interface is begining to sharpen up quite nicely.





