Exclusive – Random Dungeon Generation, You Say? Tinykeep Answers
Phi Dinh’s Tinykeep has been featured here on iGR since it’s Kickstarter campaign went live in early May. Tinykeep strikes a chord on so many levels that it’s impossible to ignore, even with it’s small stature. It’s a high tech throwback to the dungeon crawlers of old with it’s sophisticated enemy AI and unique loot. The project’s creator Phi Dinh was able to create what we’ve shown you in our Kicktarter Spotlight and our featured article of Tinykeep during his free time. I highly anticipate what he can create if Tinykeep is funded and he’s able to focus all of his time on development. Phi took a break from making our would be foes more intelligent to tell me about his journey as a developer and his crowdfunding efforts. Make sure you incorporate a British accent in your head when reading Phi’s answers, or the whole experience will be ruined.
Dylan: It’s stated in your KS pitch that the “proof of concept” prototype took you an estimated two months to complete, working only nights and weekends. The work that’s been done already is seriously impressive. What kind of past experience helped you prepare for Tinykeep?
Thank you! I’ve worked tirelessly on it, and have just recently released an interactive AI demo as well. In the past I’ve worked for very dry IT companies that mainly deal in gambling and real estate, so in order to keep myself sane I did a lot of reading and experimenting with all aspects of games programming. On one of the these days I might have spent an evening learning Perlin Noise, on another day Behaviour Trees for AI. Then I’ll spend a week obsessing about 3D graphics, and then I’ll move on to a few days working on animation. It was all practical stuff, I’ve got a massive folder of all the little prototypes and proof-of-concepts for games over the years. It went on for a while like this, until one day I realised that I had all the knowledge necessary to make games! So for the past year I’ve been working at a leading UK digital agency making casual games for the retail sector, but I keep daydreaming about making the perfect dungeon crawler. Eventually the prototype was built and TinyKeep was born!
Dylan: You mention Hero Quest as one of your many inspirations. Did you prefer to play as the hero or Zargon? and why?
My uncle gave me a second copy of HeroQuest when I was a kid, but as an only child (until I was 12 anyway, then I had a little brother) I never got to play the game much! My cousin would come round every month or so and we’d play but it was never enough to satisfy my appetite. So I mainly did a lot of painting of the figures. I’m happily married now, and a few years ago I introduced my wife to the game. I had to find a new copy from Ebay including all of the Expansion Packs and we play it all of the time! She is like the playmate I never had! My personal preference is to play Morcar (that’s what the evil wizard is called in the UK version), for some reason I love to be privvy to all of the secrets of the game that I can unleash on the players later on. I tend to make things up on the spot as well, spawn extra monsters and move things around if the players are finding it too easy or vice versa. I think its important that your players enjoy the game rather than “MUHAHA kill all the heroes!”. Ah – I love HeroQuest!
Dylan: Tinykeep will employ a skill tree and item collection. What kind of skills can be acquired? How will they affect game play?
For the most part I’ve been focusing on AI, as I believe it to be the main selling point for the game. Ben my concept designer on the other hand has been delving very deeply into the loot and weapons generation system. Together we’ve come up with a system that does away with hero stats and attributes entirely, instead your player is characterized by the weapons and other equips that they hold. Without giving too much away (we are planning on writing an update about this very soon), each weapon has a level 1-100. The level is converted to points, so a level 72 sword will have seventy two stat points. The points are spent by the weapon generation on things like sharpness, elemental damage, rustiness (which detracts from how good the sword is), vampirism, whether the sword has a name, poisoning damage, range and so on. The weapons will be balanced so that an increase in range reduces the potency of damage, or an increase in fire damage gives a vulnerability to ice damage. What’s more each weapon may have an active skill that can be used. So in effect we’ve combined player stats, equipped weapons and skill slots all into one elegant package. By mixing and matching various items together, you can achieve a combination of different effects, and that’s where the depth of the loot system comes in.
Dylan: Enemy AI looks to be one of your primary focuses in Tinykeep. What kinds of behaviors will you combine to make Tinykeep a challenging experience?
This is the part I’m most excited about! In addition to standard behaviours such as chasing the player and roaming the dungeon, monsters can also run away and work together as a team to take you down. There’s a smell system that allows monsters to track you around the dungeon with ease, as long as they are quick enough before the trail disappears. We’re also adding other behaviours that benefit the monsters in other ways – such as searching out corpses of fallen creatures to eat and regain health. The really exciting bit is that certain types of monsters are rivals to each other, for example Orcs and Skeletons frequently battle if they are within close distance. This gives the player opportunities to lure monsters into traps, and achieve all sorts of emergent behaviour. Monsters can lure you into traps too!
Dylan: What game in recent memory do you personally think had the best enemy AI?
There’s a PDF document published somewhere on the internet by Valve that talks at length about the Left4Dead Zombies and Director AI. It truly is an amazing piece of AI work, and every aspiring game developer should read it.
Dylan: How long did you tinker with the dungeon generation tool before you knew you had something special in the making?
Like many problems in programming, the simplest solutions often work the best. For weeks I tried complex algorithms that are well loved by the procedural generation community such as Perlin Noise and digging corridors using A* pathfinding. The result was never what I wanted, so one day I just had the idea to randomly generate rectangles in the middle of the screen, and then separate them from each other until they were no longer touching. That gave me a perfect base to pick rooms and connect them up with corridors, and I was very pleased with the outcome! How long did it take in total? Months were spent messing around in vain, yet it only took me 3 days to come up with the version you see today. Such is the life of a programmer!
Dylan: The mere prospect of using your enemies against each other is an interesting one. What kind of back story or lore have you created for Tinykeep? Is there a guidebook of sorts that helps decide what enemy groups will cooperate and which will clash?
TinyKeep will be light on story elements. Even though we’ve tried to retain the depth, complexity and challenge of RPGs and dungeon crawlers as much as possible, the overall goal of the game is to be as accessible as possible. So we’ve avoided the typical dry lore that plagues a lot of games and instead gone for the little tidbits of clues and poems similar to what you see on the Painter’s Signs in World of Goo. The mysterious person who sets you free from your shackles is always one step ahead of you as you make your way out of the dungeon, leaving little notes, letters, scratches on walls etc warning you of what’s coming next. Some of these will be cryptic, but others might say “Just seen an Orc and a Skeleton argue over a bit of horseflesh – it was not a pretty sight! No love lost between these two races! From your friend.”
Dylan: You have a few monsters that are benign for the most part unless provoked. Their description reminds me of the Big Daddies of BioShock. Like Big Daddies, are the Rock Monsters and Fire Imps of Tinykeep there to keep the player in a constant state of unease?
Let’s just say there are plenty of opportunities for the player to provoke these creatures for their own needs. Perhaps to get an upper hand on another monster…
Dylan: You’ve outlined a few of the companions or pets that are included in Tinykeep, Just how helpful will these creatures be in combat situations?
At the beginning of each dungeon instance you will be given the opportunity to equip yourself with the items you have stashed in your chest from previous games. If you have somehow managed to acquire a pet, they can be equipped too but the catch is that you can only carry one item in your hand. So the pet kind of acts like an offhand item. They can be extremely valuable in a combat situation, most pets have a variety of skills and their own AI behaviours to boot. The downside is that you’ll have to work to protect them, if they get knocked out you’ll have to progress through the rest of the instance without them, not to mention an offhanded item less for having them in the first place!
Dylan: Are the tables, chairs, barrels, and other objects found in Tinykeep’s environment all for aesthetic purposes, or are there practical applications for any of the objects you’ll find when roaming the randomly generated dungeons?
For the most part they are aesthetic, but you can use them as obstacles to put between yourself and an enemy. We decided to not implement a full 3D physics system for furniture and objects and focus on the AI instead, we think that’s much more important to the gameplay. Environment physics look great – but for most games are an added extra and don’t contribute much to the gameplay. Of course, things like doors and chests can be interacted with 😉
Dylan: How long do you anticipate your development cycle being?
How long to develop the game? This depends on the Kickstarter funding, at our initial goal it will take around a year to develop, but if all of the stretch goals are reached it can take take up to two years. In particular I’m most excited about working on the co-operative multiplayer, but that may have to wait depending on how the funding goes.
At the time of this interview Tinykeep has earned just shy of 8,500 Euros or around 40% of it’s funding goal. If you own a PC this project is a no brainer. It doesn’t matter if your looking for nostalgia or simply a fun game to play, Tinykeep should be on your list. Head over to Phi’s Kickstarter page to check out all of the backing options.
Latest posts by Dylan Zellmer (see all)
- PlayStation Exclusive ‘Pavilion’ Devs Are “Sticking With PlayStation” – April 10, 2014
- Strike Suit Zero: Director’s Cut Xbox One Review – April 8, 2014
- Mercenary Kings PC/PS4 Review – April 5, 2014