Author Topic: TinyKeep - A 3D Multiplayer Dungeon Crawler with focus on AI (FUNDED!)  (Read 13269 times)

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Hi everyone, I have a Kickstarter project I would like to announce.

A few days ago I launched a new project called TinyKeep, which is a 3D Multiplayer Dungeon Crawler game with big focus on intelligent monster AI. The game was quickly featured on Kickstarter's Staff Picks, but I'm still looking to boost my funding pledges.

http://www.kickstarter.com/projects/phidinh/tinykeep









I have also posted a somewhat technical article regarding procedural dungeon generation for the community:
Procedural Dungeon Generation Algorithm Explained

Hope you guys enjoy the concept - and are able to help spread the word!
« Last Edit: June 03, 2013, 05:12:56 AM by phi6 »

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Just a quick update, we've done quite well on the initial few days of our Kickstarter so far, and have just gone over a quarter of the funding goal. Still we are a long way away from achieving the total so if you like to see the game developed please support us!

Anyway, here's a Dungeon Generation Demo application to show a little bit of how the procedural stuff works.




An example generated dungeon:

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
This is the first of the multi-part series of updates about TinyKeep's AI! Over the next few days I will be posting a series of videos about the monster intelligence system that we've developed for the game. Today I'm going to talk about simple roaming and chasing behaviours for a single monster. For the later parts, I'll progress to more sophisticated concepts such as Group Tactics and Rivalry.

I've already written at length about the plans we have for the AI on our main Kickstarter page, so I won't bore you anymore here. Instead, I feel that the AI is best explained visually and interactively so here's a playable AI demo for Part 1:



Note that I'm not using the 3D graphics you've seen on the video and screenshots. For testing and debugging purposes it is often best to use simple 2D graphics so I can easily annotate and visualize what is going on.

Here's the accompanying video explaining the major aspects of roaming and chasing!

http://youtu.be/tAxfnFRB1Dg

For the next update I'll talk about Retreating and Defense. Unlike the Skeleton shown here some monsters are less aggressive and will flee at the sight of you. Stay tuned...

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Hi again everyone! Hope I'm not bugging you guys too much with these regular updates  Today I thought I'd take a respite from all the AI business and talk about something that's been requested a lot by our current and potential backers.

There are 3 distinct features which characterise many hardcore RPG games. These are stats (in the form of attributes, experience and levelling), inventory management, and a wide range of active and passive skills. Many players love the number crunching aspects, and the sheer amount of depth of customization that these types of games offer. Others love the opportunities for loot - powerful weapons and the interesting game mechanics that come with them. Mastering these games requires not only hard work as you progress to more and more difficult levels, but also learning how to efficiently customize your stats so that you are able to create the kind of heroes you love to play.

The Pocket Inventory System

For TinyKeep, our goal is to condense all of these features into one tidy package. We want the game to be as accessible as possible for players new to the genre, but also retain the level of depth and customization that RPG gamers love.
We've spent a lot of time designing a system that hopefully will do just that! TinyKeep combines player stats & customization, inventory & equipment and skills into a single game mechanic. We call this, The Pocket Inventory.



At its simplest, the Pocket Inventory is a 3x3 grid representing the layout of the keyboard's numpad. Slots 4 and 6 will be left and right handed items (such as sword and shield), and slots 2, 5 & 8 are for other equipment. The remaining 4 corners contain unequipped items - this is your storage/bag space. So in total, you can only carry 9 items around with you at one time - yes, that's right, so choose your items wisely!

When you start a new dungeon instance, you are given the option to take and equip some of your items from The Stash. This Stash is a persistent area that contains of all your items retrieved from previous games. You could fill up the entire grid with equipment if you wanted to, but it might be a good idea to leave a couple free for items you might find in the dungeon to take home with you.

Activating Slots

The Pocket Inventory will remain on the corner of your screen at all times, as a visual reminder for what you are currently carrying. Hitting the numkeys on your keyboard, or clicking the left/right mouse buttons (representing left and right hand items) will activate their respective items in their slots. Activating a storage slot (the 4 corners) equips the item, moving it to one of the other non-storage slots.
So for the example above, hitting 4 (or clicking the left mouse button) will cause your player to attack with his sword, and hitting 6 (or clicking the right mouse button) will block an attack. Hitting the 8, 5 and 2 keys will respectively activate the rune, spell book and fireball. In the storage slots are a magic staff and short sword, which may be equipped at any time replacing one of the other items.

Passive Effects

We've done away with character stats and attributes completely, all customization of your hero will take place in the Pocket Inventory. Each item you equip may have a corresponding attribute or passive effect. For example, the rune may inbue the user with incredible strength and thus enable powerful melee attacks, the spell book granting intelligence to increase the effectiveness of your spell casting.

Bonus Effects and Further Customization

In addition to activating skills and equipping passive effects, the combination of items that you equip in the Pocket Inventory will also affect the player. Having all slots equipped with flaming items for example will give you elemental fire resistance and damage, but with the caveat that you also become extremely vulnerable to water attacks. Or perhaps carrying a complete set of certain named items, for example equipping all of Maca's (a randomly generated name) weapons and equipment could grant you Assassin status, an increased stealth effect.

In conclusion, we hope that the Pocket Inventory will offer the level of customization and depth that you guys crave, while keeping the game accessible and intuitive to play.

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Seems like a workable inventory/skill notion, so long as the range is great enough to prevent everybody winding up with the same stuff as opposed to more personal playstyle oriented.
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
To answer your question we have created a procedural weapon generation system, the chances of finding statistically similar gear are very low.

Vanguard

  • Rogueliker
  • ***
  • Posts: 1112
  • Karma: +0/-0
    • View Profile
The pocket inventory system sounds interesting.

What are you doing for your core combat mechanics?  Is this going to play like Diablo or what?

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
What are you doing for your core combat mechanics?  Is this going to play like Diablo or what?

Firstly, thanks Vanguard! About the combat system, we're going for more action, twitch based. Controls will be WASD or arrow keys + mouse look, mouse buttons for left/right hand, numkeys/numpad to activate Pocket Inventory slots. In this way it's going to be more Skyrim/FPS style combat rather than hack and slash Diablo. With the intelligent AI there will be less standing around fighting hordes of monsters as well, you need to keep on the move if you are to survive.

Anyway let's get on with the AI update!



Before I crack on to Part 2 (Retreat and defense) I would like to quickly cover the minor improvements we made since Part 1 of this AI series. Thanks to community feedback we've added a few more features, removed others and hopefully will have created more realistic behaviour.

Part 1.1 AI (Improvements) - YouTube Demo:
http://www.youtube.com/watch?v=YttkpNdS5bY

In short, the changes are: 

1. If the Skeleton loses sight (raycasting towards hero) and smell (raycasting towards dropped breadcrumbs), he will still continue to head towards the location where the hero was last detected and investigate further.

2. If the Skeleton still cannot find the hero, it will make a best guess where it thinks he has gone and will set a patrol route to the nearest waypoint. Given these changes, we've removed the alert level as we've found this feature has become redundant and offers no extra intelligence. The "smell trails" have been reduced to balance the extra added behaviour - this also seems to help limit cheating in the AI.

Ok, let's bring on the fun stuff!

AI Explained - Part 2 of 5: Retreating and Defense, featuring TinyKeep's Fire Imp Monster!

Fire Imps (and other monsters marked with the "Shy" personality flag) will run away from the player if he gets too close. Put him in this level of distress for too long, and he'll breathe fire on you.

Part 2 AI - YouTube Demo:
http://www.youtube.com/watch?v=dIBuIELYd4c

The interactive demo is here on the TinyKeep website along with all of the previous demos:




As with all of these AI behaviours, what you see on the video and demo are the default settings for each of the personality flags (Aggressive, Cautious, Shy, Lumbering etc...). However we've designed our AI editor to be a lot more flexible than that - so our game designer Ben can choose from a multitude of variables to customize his monsters:

  • Enable/disable line of sight (blind monsters)
  • Smell/sound sensitivity (monsters with amazing sense of smell)
  • Roaming speed, chasing speed, fleeing speed
  • Enable/disable wall avoidance (in case some monsters can walk through walls!)
  • Distance threshold before alerted
  • Require line of sight before alerted
  • ...and many more!

We know that this will give us the ability to create really unique and varied monsters, and part of the fun of the game is figuring out the behaviours of each one.

Hope you enjoyed the post, and let us know if you have any questions about the AI!
« Last Edit: May 19, 2013, 02:50:48 PM by phi6 »

ShamblerDK

  • Newcomer
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Hello everyone!

I want this to happen so bad, that I made a post on the website with the friendliest community; imgur:

http://imgur.com/gallery/fvmKt8H/new

I hope it will get a boost from there :)
« Last Edit: May 20, 2013, 10:49:01 PM by ShamblerDK »

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Thank you mate - much appreciated!

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Just a quick update from me today whilst I sort out Part #3 of the AI! Indie blogger AngelikMayhem has recently posted about TinyKeep's Kickstarter campaign on his YouTube channel. In his video, he talks about seeds and how he is looking forward to this feature in our game.

So what are seeds exactly? As our response, I thought I'd best get Ben to explain, and also talk about how they affect the level's difficulty.

http://youtu.be/gjZ6EsY0Vvc

We are pretty excited about using seeds - we think it will open up the game to the community and allow you guys to discuss and share the game's secrets.

AngelikMayhem is currently running his blog XBOX Minecraft Seeds, where he regularly shares reviews and videos of seeded Minecraft worlds. He has kindly offered to do the same for TinyKeep when it is released, so we look forward to the many interesting dungeons he will discover!

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Yesterday we reached our first £10k of pledges! Here's a quick video from me to say thanks.

http://www.youtube.com/watch?v=XJjUPByEdZg



8 days to go to make the full amount!
« Last Edit: May 22, 2013, 07:10:32 AM by phi6 »

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile


Hey guys and welcome to the 3rd update about TinyKeep's AI. Today's video and interactive demo showcases a couple of new features.

http://youtu.be/cwRo_kM19Ek

- Click to attack! This is by no means a complete combat system, instead it's here to allow you to create some nice corpses for testing today's new behaviour.

- Orcs! Like Skeletons, these monsters are Aggressive and will chase and seek you out. Similar to the Fire Imps, they employ a group system that notifies each other of threats once a single Orc can spot you in his line of sight. Attack Orcs with your sword enough times and he will die, leaving a movable corpse in his place.

- If a Skeleton comes across a corpse while not alert (not currently chasing a character) it will attempt to eat it. Skeletons regain health while eating, and if you let it eat for long enough the corpse will turn into another undead Skeleton! While eating, the Skeleton has a reduced field of view which allows the player to sneak up on it more.

As always, interactive demos of all of the AI updates so far can be found here:

http://tinykeep.com/ai

Further ideas for eating AI



There's a lot we can do with this concept to bring some really interesting gameplay opportunities. Skeletons crowd around corpses with reduced FOV so it might be beneficial for the player to kill an Orc, drag it to a room and wait for a group of Skeletons to get distracted. Perhaps corpses naturally turn into Skeletons if they are left too long. How about other hungry monsters? We've mentioned in an earlier update about "flytrap-like" plants that hug the corridors of the dungeon, waiting for their next meal to walk past. Maybe we could have a hungry glutton pet that routinely eats up corpses you leave behind to prevent the Skeletons from getting there first. There are a lot of possibilities to explore!

The Next Few Days

As some of you may already know - my game TinyKeep is on Kickstarter and there are currently only 7 days left of funding to go! If you have enjoyed the updates on TinyKeep so far, please consider pledging so I can continue active development of the game. Currently I have accrued almost half the amount I need, but as Kickstarter is all or nothing I need to make the full £22k or I lose all my pledges so far.

Thanks very much!

http://www.kickstarter.com/projects/phidinh/tinykeep

phi6

  • Newcomer
  • Posts: 12
  • Karma: +0/-0
    • View Profile
We're getting there on Kickstarter! But not quite fast enough! It's going to be a close call :) But in the meantime, welcome to Part 4 of our AI series of updates:



In Part 2 (Retreating) we briefly touched on how Fire Imps in each other's line of sight were connected as a group, and they would share alert levels. Today, I'm going to explain a little bit more about how group movement works - and also introduce a new monster to the pack: The Skeleton Archer, with its Ranged Attacks! Combine Archers and Skeletons together and you have quite a challenging group of foes to deal with.

http://www.youtube.com/watch?v=EingB4OUHpI

Try the interactive demo:

http://tinykeep.com/ai/4

Or take a look at our previous demos at the usual place:

http://tinykeep.com/ai

Apart from the new Archer behaviours, there's no special code to formulate groups here. It just so happens that a combination of melee type Skeletons (who are extremely aggressive and will chase you down as much as possible) and ranged Archers (who are cautious and will try to maintain a certain distance from you) results in quite effective emergent behaviour - it almost looks like they are working together.

More Ideas for Group AI

The above shows very basic, fundamental rules for group interaction. It's a work in progress - but we plan on bringing you more complex manoeuvres in regards to group tactics. Depending on the monster type, critters will be able to do the following:

- Monsters won't attack if they are alone, and will flee instead. Some intelligent ones will flee towards a known group of other monsters. This results in luring, pulling the character towards a more dangerous area and then attacking again.
- Wounded skeletons prefer to escape while their friends are locked in battle - to go and find corpses, heal, and return to the fray later.
- Leaders - if a Skeleton King is in the area, his minions will tend to follow and do what he does.
- Flanking - if the player is currently engaged in battle, other monsters will attempt to flank you from either side or behind.

There are more ambitious plans for bosses/leaders and how their monsters interact with them - but we can't give too much away, part of the fun is discovering them for yourself!

getter77

  • Protector of the Temple
  • Global Moderator
  • Rogueliker
  • *****
  • Posts: 4957
  • Karma: +4/-1
    • View Profile
Congrats on the successful funding and hopeful attack on the remaining stretch goals!   8)
Brian Emre Jeffears
Aspiring Designer/Programmer/Composer
In Training