I am pleased to announce the release of Smart Kobold!
Smart Kobold is a Seven Day Roguelike written for the Sixth Annual Seven Day Roguelike Challenge. Coding on this game ceased 168 hours after it started.
You are a brave adventurer seeking the gold to repay a few minor debts you incurred when last in the city. You have reason to believe that these kobolds hide some of the noble metal in their caves. Gold is, of course, of no use to such vermin. So by recovering it you are doing the economy-at-large (and yourself-in-particular) a great favour.
While you have no ranged weapon or healing potions on hand, experience has taught you that you should be able to acquire what you need from the kobolds. You doubt you'll need a melee weapon upgrade - your sword could kill a kobold five times over with its weakest hit! Delve into the kobold warrerns seeking gold! These purple dogs sully the noble metal by possessing it. This adventure should be a cake-walk - even the weakest hit by your sword would kill a kobold five times over.
* Amulet of True Sight allows you to scout out terrain. * Ring of Searching speeds trap detection. * Shout system to draw speech on-map * Non-cartesian maps (like Jacob's Matrix) * Multithreaded (like Jacob's Matrix) * Kobolds in this dungeon are smarter than your average kobold. -- Jeff Lait (Smart Kobold: http://www.zincland.com/7drl/kobold)
Jeff Lait wrote: > Delve into the kobold warrerns seeking gold! These purple dogs sully > the noble metal by possessing it.
Purple?!
Okay, I know they're imaginary creatures, but I'm curious; How did you decide that they were purple?
Great job, btw; I particularly like the dungeon generation.
I had several places where I sidestepped to avoid line of sight, and stepped right onto a trap -- which gives me the idea that the traps were deliberately placed in anticipation of the move. Is that true, or was it just coincidence?
> Jeff Lait wrote: > > Delve into the kobold warrerns seeking gold! These purple dogs sully > > the noble metal by possessing it.
> Purple?!
> Okay, I know they're imaginary creatures, but I'm curious; How did you > decide that they were purple?
Real reason: Because purple was underused in my tileset.
Retcon reason:
Description of Kobold Mage: In Wpark the Wonderful's youth he believed that the kobold species held great promise. It was only their lack of higher knowledge that prevented them from being accepted as equals among civilized nations. He set out on a pilgrimage to teach the kobolds the wisdom of the world.
While Wpark has refused to ever speak of his experiences, it was only after then that blue-robed kobold mages began to terrorize the underworld. Their use of modern magic spells and wearing of the signature blue wizard robe suggest Wpark may have been at least partly successful.
Description of Headless: The origin of these abominations is unknown. Well, it is pretty clear that some mad wizard was responsible, but WHICH mad wizard remains in doubt. Rheo the Book Eater certainly wouldn't have had the foresight to provide them with a crude form of telepathy to compensate for their lack of eyes. Wpark the Wonderful's fascination with the colour puce rules him out - he'd have surely dyed their hide. And Treska of the Seven Alphabets? Her prudish nature would have ensured there was no second generation of headlesses to terrorize the world.
> Great job, btw; I particularly like the dungeon generation.
> I had several places where I sidestepped to avoid line of sight, > and stepped right onto a trap -- which gives me the idea that the > traps were deliberately placed in anticipation of the move. Is > that true, or was it just coincidence?
On Mar 14, 1:36 pm, Eric Cumberworth <eric.kay...@gmail.com> wrote:
> I really like the way that you handle moving.. appropriately, > automatically moving diagonal along the wall, for example.
That is a late addition to Jacob's Matrix. I haven't tested, but Smart Kobold likely even has joystick support.
Wall-sliding I think should be a feature of all roguelikes. As soon as you have non-straight corridors it is a pain to navigate with the usual rules of avoidance. Turn on wall sliding and twisty turny corridors are easy to move through.
On 14 ÜÐà, 14:28, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> I am pleased to announce the release of Smart Kobold!
I won it. With around 46 000 profit. The game said that it's more than enough to cover my debts :) The key is ranged weapon. Once you get one - the rest assured. Or at least that's what I thought when I cleared cave for the first time. And died stupidly on trap... Next time I after I grabbed loot I was returning very carefully :) Nice game Jeff! Kobolds are really smarter than your average kobold.
On Mar 14, 9:28 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> I am pleased to announce the release of Smart Kobold!
A fine and fun game. I love the setting -- kind of a satirical "Dungeons and Dragons meets Heart of Darkness". The speech bubbles is a cool touch, as well. A few questions:
How does the health bar work? All I see are some numbers just sitting there?
(Slightly spoily, perhaps) Can you descend deeper than the first level? After vanquishing the kobold forces and going genocidal on their babies, what else is there to do, except leave with my approximately 4k gold? Judging from a YAVP, where the number was ten times higher, and the fact that "depth" is indicated on the screen, I feel like there's something I miss.
A nitpick, for me, is that I find the dungeon slightly vast, seeing as how most of it will be empty when you breach the gate. Maybe I'm just stupid to get confused by all that fancy non-euclidean stuff.
What makes the game shine if of course the kobold AI. Similar ideas applied to a bigger roguelike with as much care for detail would certainly make for a highly interesting game. In the scope of your 7DRL, there's of course a very narrow tactical universe, so that once you discover how to trick the kobolds, you can win pretty easily.
<spam.minotaur.s...@googlemail.com> wrote: > On Mar 14, 9:28 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> > I am pleased to announce the release of Smart Kobold!
> A fine and fun game. I love the setting -- kind of a satirical > "Dungeons and Dragons meets Heart of Darkness". The speech bubbles is > a cool touch, as well. A few questions:
> How does the health bar work? All I see are some numbers just sitting > there?
As you learned later, each spark is a unit of your health. As the sparks die, so do you.
> (Slightly spoily, perhaps) Can you descend deeper than the first > level? After vanquishing the kobold forces and going genocidal on > their babies, what else is there to do, except leave with my > approximately 4k gold? Judging from a YAVP, where the number was ten > times higher, and the fact that "depth" is indicated on the screen, I > feel like there's something I miss.
I suspect either something wrong with my RNG, or the victory post added an extra zero by accident.
No, there are no kobolds to kill. You killed them all. You murderer.
> A nitpick, for me, is that I find the dungeon slightly vast, seeing as > how most of it will be empty when you breach the gate. Maybe I'm just > stupid to get confused by all that fancy non-euclidean stuff.
Have you tried 'm'editating before you breach the gate? The dungeon isn't empty to begin with. And it doesn't immediately empty when you breach the gate - the kobolds go to a lot of work to empty it.
This, actually, is the entire point of the game :> The kobolds don't cheat and have no advantage over you other than their smarts.
> What makes the game shine if of course the kobold AI. Similar ideas > applied to a bigger roguelike with as much care for detail would > certainly make for a highly interesting game. In the scope of your > 7DRL, there's of course a very narrow tactical universe, so that once > you discover how to trick the kobolds, you can win pretty easily.
> All in all, very nicely executed!
Not nicely enough, as there is apparently a simple trick to out wit the kobolds! :>
I think the right tweak is to improve their reaction to a player with ranged weapons. They aren't entirely stupid against ranged weapons, but not nearly as smart as they are vs melee. I have much hope, however, that regardless of how infinitely smart I make them, someone will figure out a simple trick to out with them.
On Mar 19, 9:55 am, Konstantin Stupnik <konstantin.stup...@gmail.com> wrote:
> > There is supposed to be only three $ piles, each with 1000-2000 gold > > in them, for max theoritical profit of 6000.
> > Did you find gold outside of the main storage room?
> No. 3 piles. But mb other items are also evaluated > and added to final sum?
Nope, only the number of gold pieces counts in the end. Kobold bows and daggers are worthless, and the wands you keep for future adventuring. -- Jeff Lait (Smart Kobold: http://www.zincland.com/7drl/kobold)
On Thu, 2010-03-18 at 17:30 -0700, Jeff Lait wrote: > On Mar 18, 7:49 pm, The Aging Minotaur > <spam.minotaur.s...@googlemail.com> wrote: > > On Mar 14, 9:28 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> No, there are no kobolds to kill. You killed them all. You murderer.
To be fair, I let the babies live on my first victory. I'm actually a really nice guy. But the second time around, I figured I would try to emulate the vile scramble for loot that is emblematic most RLs. Also, your description of the kobold babies make it hard to resist the urge to slaughter them, with comments like: "Luckily, you are not a mission of extermination."
> > A nitpick, for me, is that I find the dungeon slightly vast, seeing as > > how most of it will be empty when you breach the gate. Maybe I'm just > > stupid to get confused by all that fancy non-euclidean stuff.
> Have you tried 'm'editating before you breach the gate? The dungeon > isn't empty to begin with. And it doesn't immediately empty when you > breach the gate - the kobolds go to a lot of work to empty it.
I did once or twice check out the everyday life of kobolds before going in. However, once the game "starts" -- ie. when you get past the guards -- the dungeons are emptied so fast that it doesn't really have an effect on gameplay. All this work of the kobolds remains largely unseen by the player. Once they start to retreat, even meditation won't allow you to see what's going on. Maybe you could consider making meditation "faster" (eg. allowing the astral self to move at double speed), just to allow players to check out the actual movements of the kobolds as they draw back?
> > All in all, very nicely executed!
> Not nicely enough, as there is apparently a simple trick to out wit > the kobolds! :> > [...] > First I need to do more playtesting to figure out these tricks :>
(Spoiler alert) This is how I get hold of a ranged attack: I taunt a group of kobolds and run away, making sure they follow with at least a few archers or mages. I then position myself behind a door (diagonally, although I don't know if that's necessary) and start meditating. When I stray just out of sight of @, a kobold will enter the doorway. After I hack it down, the remaining monsters keep flooding into the doorway, so that I can kill them one after the other.
> I think the right tweak is to improve their reaction to a player with > ranged weapons. They aren't entirely stupid against ranged weapons, > but not nearly as smart as they are vs melee. I have much hope, > however, that regardless of how infinitely smart I make them, someone > will figure out a simple trick to out with them.
Quite probably. I think that for an AI like this to work as a roguelike, you'll need more and more varied content, so that different elements will combine to yeild unexpected results. A band of kobolds may be no match in themselves, once you have learned "the trick" to kill them, but some kobolds and a ghost might be another story entirely, or a kobold wearing a ring of speed.
Interestingly, your point in that message is that a "smart" AI, striving for perfect play, is less interesting than a "stupid/in-character" AI, that will preserve resources, charge the player, act as an organic creature with a personality. But if you starting hypothesis was that "Smart kobold" would become a dull game because of the AI, you have disproven your original point, I think. :) And kobolds standing one square away from you, waiting for you to close in so they'll get the first hit, just like we players are used to do in RLs, all the while yelling: "Coward!" -- is not only an interesting tactical situation, but quite amusing, and certainly in style for a kobold!
As always, Minotauros
[1] Quote from the message: "I'm tempted to write a 7DRL called Smart Kobold. Modeled after Brent Ross's proposed AI, the kobolds immediately flee to the deepest part of the dungeon, taking everything with them, leaving you to explore empty halls until you starve." In light of this, the vast, empty dungeon makes sense as part of the "author's message", but maybe the game would become more intense and challenging if you added a food clock, or some other counter.
I'm sure people have found smarter tricks than mine, but my simple trick made for a relatively trivial "victory" (I went on a reckless genocide spree after getting the gold and got finished off by some bakers). (SPOILER)
Anyways, it starts off with getting the kobolds to chase you into a bottleneck of this configuration: #.... #..@. #k###
Then you step to the right, and the kobold comes out: #.... #k..@ #.###
Step back towards him, and he takes a shot at you/waits around, leaving you one space away, and then you close the distance, the kobold breaks their ranged weapon or stabs you, and then you kill them. Rinse and repeat, and you should still be alive to raid their gold.
I don't know whether this really qualifies as exploitable, but if you get a starting arrangement where the staircase isn't visible to the kobolds standing guard, then you can separate them and kill them off without sounding the alarm. I haven't yet managed to get inside since there's some other kobold waiting to pass the alarm on, but I really want to attempt a stealth victory. Or at least get some stuff before they sound the alarm. This is a surprisingly fun game.
On 20 ÜÐà, 00:33, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> On Mar 19, 9:55 am, Konstantin Stupnik <konstantin.stup...@gmail.com> > wrote:
> > > There is supposed to be only three $ piles, each with 1000-2000 gold > > > in them, for max theoritical profit of 6000.
> > > Did you find gold outside of the main storage room?
> > No. 3 piles. But mb other items are also evaluated > > and added to final sum?
> Nope, only the number of gold pieces counts in the end. Kobold bows > and daggers are worthless, and the wands you keep for future > adventuring.
What about food? :) Ok. Mb my eyes deceived me. It was very late after all. Speaking about los: http://max.sibinco.ru/skv/screen1.png I saw that wall around the corner previously for sure!
> * Amulet of True Sight allows you to scout out terrain. > * Ring of Searching speeds trap detection. > * Shout system to draw speech on-map > * Non-cartesian maps (like Jacob's Matrix) > * Multithreaded (like Jacob's Matrix) > * Kobolds in this dungeon are smarter than your average kobold.
Completed on my third try. I then beat it on my fourth try using only melee. These kobolds aren't smart enough! :( Very fun little game, especially with all the messages and taunts and insults. Wasn't big on the overlapping dungeons - they really didn't seem necessary in such a small game where the focus wasn't on exploration, and only served to make getting *out* of the dungeon very annoying. Also meant a few LOS and map memory bugs (though none game-breaking of course). Also have an odd bug where my cursor turns into a weird line after exiting the program from full screen (I seem to remember having the same trouble with Jacob's Matrix last year).
SPOILERS BELOW:
First couple of deaths were naturally frustrating - charging into the kobolds obviously did no good. However on my second try I'd had some luck looping them round a room and splitting off a small group to kill. So on my third try I lured them towards a room and bashed the first kobold to poke his head through the door - he happened to leave an ice wand, and I spammed them all to death with that (including the widdle babies).
That seemed too easy, so I decided I must beat it without a ranged attack. On my next try I lured out kobolds in small groups from the main chamber (was surprised they didn't call all their friends over) and hid behind a door, beating up any stupid enough to walk in. The ones that didn't walk blindly through the door (mostly archers) I kept peeking out on until they were on the right side of the door, where I knew I could chase them into a dead end. I slowly whittled them down and stole the gold, but left the babies alive (though I stole one of their teddies). Took some time and patience to do it this way, but was more fun overall.
Some suggestions for improvement: - limited ammo on ranged attacks - better reaction to ranged attacks (scattering I suppose) - more hp for the kobolds, less for the player - bring the archers to the fore more - don't chase the player so easily, especially if it means splitting off from the main group - don't follow through doors after you've seen half your friends go through and die! - avoid dead ends better
Anyway, cool game, and a fun challenge. Would be nice to have a harder version come out.
On Mar 15, 2:40 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> On Mar 14, 1:36 pm, Eric Cumberworth <eric.kay...@gmail.com> wrote:
> > I really like the way that you handle moving.. appropriately, > > automatically moving diagonal along the wall, for example.
> That is a late addition to Jacob's Matrix. I haven't tested, but > Smart Kobold likely even has joystick support.
> Wall-sliding I think should be a feature of all roguelikes. As soon > as you have non-straight corridors it is a pain to navigate with the > usual rules of avoidance. Turn on wall sliding and twisty turny > corridors are easy to move through.
Hmm, have to say I'm converted, and would like to implement this myself. What exactly does your code do for the wall-sliding? (I can't read the code so easily myself)
> On Mar 15, 2:40 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> > On Mar 14, 1:36 pm, Eric Cumberworth <eric.kay...@gmail.com> wrote:
> > > I really like the way that you handle moving.. appropriately, > > > automatically moving diagonal along the wall, for example.
> > That is a late addition to Jacob's Matrix. I haven't tested, but > > Smart Kobold likely even has joystick support.
> > Wall-sliding I think should be a feature of all roguelikes. As soon > > as you have non-straight corridors it is a pain to navigate with the > > usual rules of avoidance. Turn on wall sliding and twisty turny > > corridors are easy to move through.
> Hmm, have to say I'm converted, and would like to implement this > myself. What exactly does your code do for the wall-sliding? (I > can't read the code so easily myself)
> -- > Darren Grey
I don't know how he did it, but I did something similar in my game with shoving the jellies around. What I did is I looked at all nine nearby squares and assigned them an an attractiveness (if it was possible to move into them) by adding the absolute value of( your intended change in X times the change in X required to move to this square) plus the same for Y. Then I added one extra to the attractiveness if it that direction was the one you had asked for in the first place (because otherwise if you chose to wait in place it would consider all moves equally attractive). The shoved jelly would then move to the highest ranking available square, if there was more than one it would choose randomly among them.
this is probably overkill, what might work better is dx means change in x dy mean change in y
if(x+dx,y+dy is blocked) if(x,y+dy is blocked) if(x+dx,y is blocked) too bad; else y=y+dy; else if(x+dx,y is blocked) x=x+dx; else if(rand()%2) y=y+dy; else x=x+dx; else x=x+dx; y=y+dy;
> On Mar 20, 5:52 pm, Darren Grey <darrenjohng...@gmail.com> wrote:
> > On Mar 15, 2:40 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> > > On Mar 14, 1:36 pm, Eric Cumberworth <eric.kay...@gmail.com> wrote:
> > > > I really like the way that you handle moving.. appropriately, > > > > automatically moving diagonal along the wall, for example.
> > > That is a late addition to Jacob's Matrix. I haven't tested, but > > > Smart Kobold likely even has joystick support.
> > > Wall-sliding I think should be a feature of all roguelikes. As soon > > > as you have non-straight corridors it is a pain to navigate with the > > > usual rules of avoidance. Turn on wall sliding and twisty turny > > > corridors are easy to move through.
> > Hmm, have to say I'm converted, and would like to implement this > > myself. What exactly does your code do for the wall-sliding? (I > > can't read the code so easily myself)
> > -- > > Darren Grey
> I don't know how he did it, but I did something similar in my game > with shoving the jellies around. > What I did is I looked at all nine nearby squares and assigned them an > an attractiveness (if it was possible to move into them) by adding the > absolute value of( your intended change in X times the change in X > required to move to this square) plus the same for Y. Then I added > one extra to the attractiveness if it that direction was the one you > had asked for in the first place (because otherwise if you chose to > wait in place it would consider all moves equally attractive). > The shoved jelly would then move to the highest ranking available > square, if there was more than one it would choose randomly among > them.
> this is probably overkill, what might work better is > dx means change in x > dy mean change in y
> if(x+dx,y+dy is blocked) > if(x,y+dy is blocked) > if(x+dx,y is blocked) > too bad; > else > y=y+dy; > else > if(x+dx,y is blocked) > x=x+dx; > else > if(rand()%2) > y=y+dy; > else > x=x+dx; > else > x=x+dx; > y=y+dy;
woops, I didn't mean to say absolute value, that part was from a different calculation.
> > * Amulet of True Sight allows you to scout out terrain. > > * Ring of Searching speeds trap detection. > > * Shout system to draw speech on-map > > * Non-cartesian maps (like Jacob's Matrix) > > * Multithreaded (like Jacob's Matrix) > > * Kobolds in this dungeon are smarter than your average kobold.
> Completed on my third try. I then beat it on my fourth try using only > melee. These kobolds aren't smart enough! :(
Yep, I am paying for my hubris :>
> Very fun little game, > especially with all the messages and taunts and insults. Wasn't big > on the overlapping dungeons - they really didn't seem necessary in > such a small game where the focus wasn't on exploration, and only > served to make getting *out* of the dungeon very annoying.
A natural side effect of reusing the Jacob's Matrix code. I did enjoy that when designing the dungeon I could just place rooms willy nilly.
> First couple of deaths were naturally frustrating - charging into the > kobolds obviously did no good. However on my second try I'd had some > luck looping them round a room and splitting off a small group to > kill. So on my third try I lured them towards a room and bashed the > first kobold to poke his head through the door - he happened to leave > an ice wand, and I spammed them all to death with that (including the > widdle babies).
> That seemed too easy, so I decided I must beat it without a ranged > attack. On my next try I lured out kobolds in small groups from the > main chamber (was surprised they didn't call all their friends over) > and hid behind a door, beating up any stupid enough to walk in. The > ones that didn't walk blindly through the door (mostly archers) I kept > peeking out on until they were on the right side of the door, where I > knew I could chase them into a dead end. I slowly whittled them down > and stole the gold, but left the babies alive (though I stole one of > their teddies). Took some time and patience to do it this way, but > was more fun overall.
I think this won't be possible now. Your ambush point will gain kobold corpses, which will warn later kobolds to stay away.
> Some suggestions for improvement: > - limited ammo on ranged attacks
I want to balance with smarter AI, not with changing the balance.
> - better reaction to ranged attacks (scattering I suppose)
I tried improving this again. The right thing to do is to avoid the 8- way attack when approaching.
> - more hp for the kobolds, less for the player
Again, not an AI change.
> - bring the archers to the fore more
It was in my original plans for the kobolds to automatically open up firing corridors for ranged attackers. I think I ended up spending all my time ensuring they could move down corridors without tripping over each other instead.
> - don't chase the player so easily, especially if it means splitting > off from the main group
They now keep to the ambush location, at least until babies are killed.
> - don't follow through doors after you've seen half your friends go > through and die!
Dead kobolds now tell tales.
> - avoid dead ends better
> Anyway, cool game, and a fun challenge. Would be nice to have a > harder version come out.
The kobolds exposing themselves is because they don't know where you are so think it is safe to move to that square. I tried hard to avoid any cheating on the part of the AI, which I think means it is impossible to ensure the kobolds never open themselves up for an attack.
One thing to note is that it isn't a group based AI, in the sense there is no group controller. Each kobold is acting independently of the rest, the group behaviour is because the kobolds all are making similar decisions (since they've trained this scenario before) -- Jeff Lait (POWDER: http://www.zincland.com/7drl/kobold)