7DRL Started: Smart Kobolds

10 views
Skip to first unread message

Jeff Lait

unread,
Mar 7, 2010, 9:27:33 AM3/7/10
to
Hello all!

I've now begun my 7DRL project, tentatively titled "Smart Kobolds"!

Time is 9:25 AM, EDT, March 7th, 2010.
--
Jeff Lait
(POWDER: http://www.zincland.com/powder)

Jeff Lait

unread,
Mar 8, 2010, 12:23:41 AM3/8/10
to
On Mar 7, 9:27 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> I've now begun my 7DRL project, tentatively titled "Smart Kobolds"!
>
> Time is 9:25 AM, EDT, March 7th, 2010.

I successfully moved to libtcod 1.5.0. Had a bit of scare for thirty
minutes because I hadn't chmod +x the new files like Windows demands,
so got bizzare run errors.

The old engine has been stripped down.

Got the kobold warrens dungeon generator built - thanks to the portal
system it was quite painless to just stitch together room types.
Would be better if I had a text file to describe the room layout, but
if I worried about stuff like that I'd never be done.

The strategic layer for the kobolds is complete. Now I have to work
on their tactics so they don't all queue up single file.

Antoine

unread,
Mar 8, 2010, 12:52:28 AM3/8/10
to

Well tell us some more about it!

Inquiring minds want to know

A.

Jeff Lait

unread,
Mar 8, 2010, 10:32:09 AM3/8/10
to
On Mar 8, 12:52 am, Antoine <antoine.from.r...@gmail.com> wrote:
> On Mar 8, 3:27 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> > Hello all!
>
> > I've now begun my 7DRL project, tentatively titled "Smart Kobolds"!
>
> > Time is 9:25 AM, EDT, March 7th, 2010.
>
> Well tell us some more about it!
>
> Inquiring minds want to know

It is all inspired from a footnote Brent Ross wrote back in 2004,
http://groups.google.com/group/rec.games.roguelike.development/msg/0a6c0164cd075009

---quote---
[1] I've always been against trying for fully intelligent monster
behaviour... truly intelligent monsters evacuate the level and/or take
advantage of their massive numbers to overwelm the player, and
different AIs
just result in what we around here call "Monsters behave stupidly in a
different way" (after the Angband option). I'm an advocate for
"monsters
behave appropriately"... orcs should behave like orcs, it's that
simple.
---endquote---

Jeff Lait

unread,
Mar 8, 2010, 11:43:31 PM3/8/10
to
On Mar 8, 12:23 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> On Mar 7, 9:27 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> > I've now begun my 7DRL project, tentatively titled "Smart Kobolds"!
>
> > Time is 9:25 AM, EDT, March 7th, 2010.
>
> Got the kobold warrens dungeon generator built - thanks to the portal
> system it was quite painless to just stitch together room types.
> Would be better if I had a text file to describe the room layout, but
> if I worried about stuff like that I'd never be done.
>
> The strategic layer for the kobolds is complete.  Now I have to work
> on their tactics so they don't all queue up single file.

Worked on the kobold tactics, but didn't address the queuing problem
yet. Have greatly improved their AI, however. Went from trivial to
win to impossible with a few simple AI tweaks.

I still have queuing and item gathering to fix before I think the AI
is mostly complete and I can focus more on setting.

Jeff Lait

unread,
Mar 10, 2010, 12:25:47 AM3/10/10
to
On Mar 8, 11:43 pm, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> Worked on the kobold tactics, but didn't address the queuing problem
> yet.  Have greatly improved their AI, however.  Went from trivial to
> win to impossible with a few simple AI tweaks.
>
> I still have queuing and item gathering to fix before I think the AI
> is mostly complete and I can focus more on setting.

I have addressed half the queuing problem. Kobolds unable to move to
their desired square due to another kobold are put in a delay list.
There are two backup algorithms.

The first, and most brute force, is to randomize the delay list, re-
run all the AIs to see if anyone can now move, and repeat until it
doesn't reduce in length or is empty. This theoritically will handle
a long hallway of kobolds moving in the same direction as it will
bubble up the hole, but do so in O(n^2). It is rather neat in that it
also re-runs the AI so kobolds that tried to move into a square with a
non-moveable kobold get a chance to change their mind.

The second, in implementation, but run prior to the first algorithm,
builds a collision graph of kobolds. This lets you identify root
kobolds that aren't dependent on other delayed kobolds. They can move
to an empty square, thus making their dependees roots. Or, in a
future implementation, they can push a kobold to make room. The
system currently processes roots until none are left.

This doesn't quite solve the problem! If you have two streams moving
in opposite directions, you get a cycle in the bottom of the collision
graph. As future work, I'll run a cycle detector to get into said
cycle (can start with arbitrary kobold because all roots are gone),
then extract the cycle, then have all the kobolds in that cycle shift
the one square they want to switch (for two kobolds this is a swap,
but generalizes so a group of kobolds can dance around a maypole)

Item gathering still has to be addressed.

Antoine

unread,
Mar 10, 2010, 2:41:12 AM3/10/10
to
On Mar 10, 6:25 pm, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> On Mar 8, 11:43 pm, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
>
>
> > Worked on the kobold tactics, but didn't address the queuing problem
> > yet.  Have greatly improved their AI, however.  Went from trivial to
> > win to impossible with a few simple AI tweaks.

This feature of 'impossibleness' will be maintained in the completed
7DRL??

A.

Martin Read

unread,
Mar 10, 2010, 3:30:25 PM3/10/10
to
Antoine <antoine....@gmail.com> wrote:
>This feature of 'impossibleness' will be maintained in the completed
>7DRL??

Please note that the original 7DRL, even if it had not been buggy, was
unwinnable by design.
--
\_\/_/ turbulence is certainty turbulence is friction between you and me
\ / every time we try to impose order we create chaos
\/ -- Killing Joke, "Mathematics of Chaos"

win

unread,
Mar 10, 2010, 6:11:00 PM3/10/10
to
On Mar 10, 12:30 pm, Martin Read <mpr...@chiark.greenend.org.uk>
wrote:

that sounds perfect

Jeff Lait

unread,
Mar 11, 2010, 12:38:09 AM3/11/10
to
On Mar 10, 12:25 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> Item gathering still has to be addressed.

Item gathering works. Cycle resolution is accomplished, but it seemed
to be less important in practice than I thought.

To answer the question about difficulty, as the AI gets stronger, I
keep removing from it items and resources.

One exciting thing I've managed to add is a shout-event so that you
can see kobolds actually shout things on screen.

Jeff Lait

unread,
Mar 12, 2010, 12:03:39 AM3/12/10
to
Polish, polish, polish.

Improve the flavour text. Properly size pop up windows. Make text
overlays transparent. Fade to black on death. Pre-cache distance
maps and add a progress meter so slow procs can see it is doing
something rather than hiccupping later in the game. (Thanks to the
threaded model, while you read the intro text the game will be
building these caches in the background!)

Some ai remains since I can still kill all the kobolds :>

The big appearance thing is to figure out what I'm going to do for the
health bar.

flend

unread,
Mar 12, 2010, 4:23:14 AM3/12/10
to
On 12 Mar, 05:03, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> Polish, polish, polish.

Polish? I haven't even got as far as content yet! It's the age old
problem of game writing - it's _so_ much more rewarding to write
another font library, your own widget UI or think about how you could
do 3 mice simultaneous input than actually make any game design
decision...

-flend

Derek Ray

unread,
Mar 12, 2010, 7:59:40 AM3/12/10
to

Well, there's a second factor at work here: people who have a large
library of code they're familiar with to work from have a significant
advantage when it comes to 7DRLs because they don't _have_ to rewrite a
lot of the basics.

That isn't to say that their games will necessarily come out any better;
don't get me wrong. You still have to provide the idea and game, after
all, a framework doesn't do everything. But a solid prebuilt framework
_does_ allow you to make it look a lot better in a short period of time.

--
Derek

Game info and change log: http://sporkhack.com
Beta Server: telnet://sporkhack.com
IRC: irc.freenode.net, #sporkhack

Jeff Lait

unread,
Mar 13, 2010, 12:28:38 AM3/13/10
to
On Mar 12, 4:23 am, flend <flendn...@googlemail.com> wrote:
> On 12 Mar, 05:03, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> > Polish, polish, polish.
>
> Polish? I haven't even got as far as content yet!

If you looked carefully, you'd see a lot of the polish was stuff like
resizing windows. Not game content :>

Added some game content today: baby kobolds!

Still have a big weakness in the AI to address. And to figure out the
life bar.

Jeff Lait

unread,
Mar 14, 2010, 3:52:48 AM3/14/10
to
On Mar 13, 1:28 am, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> On Mar 12, 4:23 am, flend <flendn...@googlemail.com> wrote:
>
> > On 12 Mar, 05:03, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>
> > > Polish, polish, polish.
>
> > Polish? I haven't even got as far as content yet!
>
> If you looked carefully, you'd see a lot of the polish was stuff like
> resizing windows.  Not game content :>
>
> Added some game content today: baby kobolds!
>
> Still have a big weakness in the AI to address.  And to figure out the
> life bar.

And it is done!

Yay!

Saving and loading proved rather troublesome.
--
Jeff Lait
(Smart Kobold: http:://www.zincland.com/7drl/kobold)

Ysgard

unread,
Mar 14, 2010, 4:38:58 AM3/14/10
to
Jeff Lait wrote:

> And it is done!
>
> Yay!
>

Wow, really nice work. I enjoyed playing the game, it felt just like
what exploring a kobold warren should feel like - claustrophobic with
tons of traps and masses of cowardly kobolds hounding you.

The life bar is a great idea, and I also like the ring of searching
concept - cool stuff. The saving and loading of the game was seamless
- glad to see whatever was troubling you with it got fixed.

Congrats!

Ysgard

Jeff Lait

unread,
Mar 14, 2010, 10:33:43 PM3/14/10
to

Excellent! Thanks for the quick update, it let me relax to know that
what I made was playable on a different machine :>

Inquiring minds want to know: did you win?
--
Jeff Lait
(Smart Kobold: http://www.zincland.com/kobold)

Sir_Lewk

unread,
Mar 15, 2010, 11:25:02 PM3/15/10
to

Really great game, I had a lot of fun with it. I have managed to win,
and can now win reliably, the trick seems to be tricking one of the
kobolds so that you can capture a ranged weapon, then killing the rest
with that. Not easy to do since they normally destroy their loot, but
there is a trick to it. :)

Reply all
Reply to author
Forward
0 new messages