Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : Development : DROD Source Released (Now open sourced on Github!)
<<3456
Page 7 of 9
89
New Topic New Poll Post Reply
Poster Message
Ravon
Level: Master Delver
Avatar
Rank Points: 220
Registered: 02-19-2004
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (+2)  
Built! As in, I just did! As in the code! As in, I just built my own DROD!
09-12-2009 at 11:38 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
I don't quite understand how DROD works. Is there a three-dimensional array that holds all the entities in a room?

Are there pre-defined "layers" of stuff? (example: layer0 = swords, layer1 = player and monsters, layer2 = orthogonal tiles, etc)

I can't find any Tile or Cell class.

____________________________
http://vittorioromeo.info
08-06-2010 at 03:00 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (+1)  
vittro wrote:
I don't quite understand how DROD works. Is there a three-dimensional array that holds all the entities in a room?

Are there pre-defined "layers" of stuff? (example: layer0 = swords, layer1 = player and monsters, layer2 = orthogonal tiles, etc)

I can't find any Tile or Cell class.
Yes, there are multiple layers for each room, contained in the CDbRoom object. They're typically called "*tiles".

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
08-06-2010 at 07:20 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
mrimer wrote:
vittro wrote:
I don't quite understand how DROD works. Is there a three-dimensional array that holds all the entities in a room?

Are there pre-defined "layers" of stuff? (example: layer0 = swords, layer1 = player and monsters, layer2 = orthogonal tiles, etc)

I can't find any Tile or Cell class.
Yes, there are multiple layers for each room, contained in the CDbRoom object. They're typically called "*tiles".

Thanks. But how do you loop through each tile? Do you have a three dimesional loop that cycles through every x; y; layer?

If yes, doesn't that take a lot of time?

____________________________
http://vittorioromeo.info
08-06-2010 at 09:46 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (+1)  
Hmm...I'm not sure what you mean...when would you need to loop through each tile? Do you mean when you render the room on-screen? If so, then yes -- each time a turn is taken, all tiles on the room are rechecked for possible rendering.

...what exactly do you mean by "a lot" of time?

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
08-10-2010 at 03:22 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
I mean that having 5-6 layers and a 20x20 room means 2000+ draw calls each turn. Isn't that slow?

____________________________
http://vittorioromeo.info
08-10-2010 at 11:07 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
12th Archivist
Level: Smitemaster
Avatar
Rank Points: 789
Registered: 12-07-2008
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
vittro wrote:
I mean that having 5-6 layers and a 20x20 room means 2000+ draw calls each turn. Isn't that slow?
From a programming standpoint, that could be represented by some For Loops and an array, with the proper references to point to the tile information and element interaction. Compared to the vast number of vertices that would need to be constantly updated in a three dimensional game, updating a couple thousand cells (with images already loaded, no less) seems quite simple. The amount of calculation needed may be greatly reduced if not all tiles were completely redrawn every turn, but rather only the tiles that interacted with other elements.

Of course, this is all based on assumption. I haven't actually seen the source code for TCB 3.2, so I may be completely wrong. In any case, defer to Mike's expertise. He knows the answers.

____________________________
It was going well until it exploded.
~Scott Manley

Check out the DROD Wikia project here!
08-10-2010 at 02:28 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
12th Archivist wrote:
vittro wrote:
I mean that having 5-6 layers and a 20x20 room means 2000+ draw calls each turn. Isn't that slow?
From a programming standpoint, that could be represented by some For Loops and an array, with the proper references to point to the tile information and element interaction. Compared to the vast number of vertices that would need to be constantly updated in a three dimensional game, updating a couple thousand cells (with images already loaded, no less) seems quite simple. The amount of calculation needed may be greatly reduced if not all tiles were completely redrawn every turn, but rather only the tiles that interacted with other elements.

Of course, this is all based on assumption. I haven't actually seen the source code for TCB 3.2, so I may be completely wrong. In any case, defer to Mike's expertise. He knows the answers.

In my DROD Roguelike game drawing a 60*50*3 14x14 tile array is pretty fast, but I think that having more layers ( I plan to have 5 layers ) and bigger sprites may slow down the rendering a bit. Maybe I should find a way to render again only the tiles that changed.

____________________________
http://vittorioromeo.info
08-10-2010 at 02:47 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 + 3.2 Source Released. (0)  
The game source's CRoomWidget class does have various logical checks to keep track of which tiles have changed and where movement is occurring. Only these room regions are redrawn each frame. This is probably not needed with increasingly faster CPUs, but we were shooting for making the game work nicely even on lower end systems.

As an optimization -- the layers that are typically static -- the four or five layers containing the room architecture and terrain (floor, arrows, checkpoints, items, lighting) -- are prerendered onto a single offscreen surface. I call it a room snapshot surface in the CRoomWidget code. This surface is only updated whenever something on these layers changes, and only the tiles that have changed are redrawn. Naturally, copying from this one layer to the visible screen is faster that scanning through and redrawing all the above layers each frame. From there, moving entities and effects are drawn on top of this image.

Additionally, the lighting and shadow ray tracer doesn't render in real time. The light map is only updated when some room architecture changes.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
10-20-2010 at 03:11 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon DROD 3.3 Source Released (+3)  
I've uploaded the DROD 3.3 source code.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
10-29-2011 at 11:46 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+5)  
I've made available the DROD 4.0 source code archive for download (see first post).

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
04-07-2012 at 04:43 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Sorry if this was already asked, but how does pathfinding work in DROD? Paths change constantly with doors and broken walls but it doesn't take any noticable amount of time even for a room full of brained roaches to calculate new paths.

____________________________
http://vittorioromeo.info
04-16-2012 at 01:19 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+2)  
vittro wrote:
Sorry if this was already asked, but how does pathfinding work in DROD? Paths change constantly with doors and broken walls but it doesn't take any noticable amount of time even for a room full of brained roaches to calculate new paths.
Probably some breadth-first algorithm like this:

* Take a room-sized array of integers
* Initialize a list of tiles with the index/coordinates/whatever of the square with Beethro

Then iterate over that list twice in a loop:
* for each square that doesn't have a value yet, set it to the lowest neighbouring value plus one (or 0 if it's the initial square) in the array
* for each square that got set add the neighbouring squares that don't have a value yet to the list for the next iteration

Lather, rinse, repeat until you're out of tiles.

When moving brained enemies, choose the first surrounding square with the lowest value from the array; if that's blocked choose the second highest one and so on. If there's no numbered tile in the surrounding area do an unbrained move.

Of course, this doesn't take arrows and other stuff into account, but that's "just" extra checks to rule out impossible moves when assigning the numbers.

np: The Notwist - Gravity (The Devil, You + Me)

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
04-16-2012 at 09:26 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Bombadil
Level: Smitemaster
Avatar
Rank Points: 509
Registered: 06-01-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Briareos wrote:
vittro wrote:
Sorry if this was already asked, but how does pathfinding work in DROD? Paths change constantly with doors and broken walls but it doesn't take any noticable amount of time even for a room full of brained roaches to calculate new paths.
Probably some breadth-first algorithm like this:

* Take a room-sized array of integers
* Initialize a list of tiles with the index/coordinates/whatever of the square with Beethro

Then iterate over that list twice in a loop:
* for each square that doesn't have a value yet, set it to the lowest neighbouring value plus one (or 0 if it's the initial square) in the array
* for each square that got set add the neighbouring squares that don't have a value yet to the list for the next iteration

Lather, rinse, repeat until you're out of tiles.

When moving brained enemies, choose the first surrounding square with the lowest value from the array; if that's blocked choose the second highest one and so on. If there's no numbered tile in the surrounding area do an unbrained move.

Of course, this doesn't take arrows and other stuff into account, but that's "just" extra checks to rule out impossible moves when assigning the numbers.

np: The Notwist - Gravity (The Devil, You + Me)

Is this done only right after Beethro moves, or after every monster moves?
04-17-2012 at 08:52 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Keiya
Level: Delver
Rank Points: 73
Registered: 03-25-2012
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Bombadil wrote:
Briareos wrote:
vittro wrote:
Sorry if this was already asked, but how does pathfinding work in DROD? Paths change constantly with doors and broken walls but it doesn't take any noticable amount of time even for a room full of brained roaches to calculate new paths.
Probably some breadth-first algorithm like this:

* Take a room-sized array of integers
* Initialize a list of tiles with the index/coordinates/whatever of the square with Beethro

Then iterate over that list twice in a loop:
* for each square that doesn't have a value yet, set it to the lowest neighbouring value plus one (or 0 if it's the initial square) in the array
* for each square that got set add the neighbouring squares that don't have a value yet to the list for the next iteration

Lather, rinse, repeat until you're out of tiles.

When moving brained enemies, choose the first surrounding square with the lowest value from the array; if that's blocked choose the second highest one and so on. If there's no numbered tile in the surrounding area do an unbrained move.

Of course, this doesn't take arrows and other stuff into account, but that's "just" extra checks to rule out impossible moves when assigning the numbers.

np: The Notwist - Gravity (The Devil, You + Me)

Is this done only right after Beethro moves, or after every monster moves?

I believe only when beethro moves. And I don't think monsters block brain pathing.

____________________________
636th Trapdoor Replacer

Official Hold Progress:
Click here to view the secret text

04-17-2012 at 09:27 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+2)  
It is done after beethro moves, after any snake moves, after there is any change in the room layout (door opening/closing).

There is a separate pathmap for each monster movement type (ground, air, water, wall, shallow water[I guess?]).

Some enemies have dynamic pathfinding (calculated ad hoc only for their next move), notably Builders and, most likely, Slayers. (this paragraph is mostly guessed).

I haven't dug VERY deep into the pathmapping business because there is no advanced pathmapping in Flash DROD ;).

____________________________
My website | Facebook | Twitter
04-17-2012 at 10:09 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Undo (0)  
I'm trying to implement the undo function in my DROD clone.
However my entity-object is a class, and every entity contains a number of components (which are classes, too).

Classes in C# are reference types, and can only be "cloned" if I define a specific clone method for every single one of them.

If I had to clone the current tiles (and entities, and components) every turn it would take a lot of time, and it would also be annoying because I would have to write a clone method for every different component.

I don't have any other idea so far, so I was wondering how the undo function works in DROD.

____________________________
http://vittorioromeo.info
05-01-2012 at 07:59 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+2)  
The simple explanation:
It playbacks all the moves up until the previous one.

The complex explanation:
It also saves a snapshot of the current room in some specific turn if playing back to this turn would take too long, so it can later restore the snapshot and, if necessary, playback the moves left between the time the snapshot was taken and the last player's move.

____________________________
My website | Facebook | Twitter
05-01-2012 at 09:01 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
skell wrote:
The simple explanation:
It playbacks all the moves up until the previous one.

The complex explanation:
It also saves a snapshot of the current room in some specific turn if playing back to this turn would take too long, so it can later restore the snapshot and, if necessary, playback the moves left between the time the snapshot was taken and the last player's move.

The simple explanation sounds good enough for a fast implementation.

However I'm more interested in the complex one: how do you exactly save a snapshot? Are your entities only simple classes that can be expressed as an integer value? Because my classes are composed of different components and every component could have any number of parameters.

____________________________
http://vittorioromeo.info
05-01-2012 at 09:07 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+1)  
vittro wrote:
The simple explanation sounds good enough for a fast implementation.

However I'm more interested in the complex one: how do you exactly save a snapshot? Are your entities only simple classes that can be expressed as an integer value? Because my classes are composed of different components and every component could have any number of parameters.
The sort explanation would be the whole room class is deep-cloned into memory. The long explanation can be given by TFM, Mike or the source code for I haven't investigated it real well.

____________________________
My website | Facebook | Twitter
05-01-2012 at 09:15 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
skell wrote:
The sort explanation would be the whole room class is deep-cloned into memory. The long explanation can be given by TFM, Mike or the source code for I haven't investigated it real well.
Well, if you want to do it quick-and-dirty in C# you can always serialize and de-serialize all objects that make up the current state; that obviously needs some planning ahead, but should be rather doable.

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
05-01-2012 at 10:58 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Briareos wrote:
skell wrote:
The sort explanation would be the whole room class is deep-cloned into memory. The long explanation can be given by TFM, Mike or the source code for I haven't investigated it real well.
Well, if you want to do it quick-and-dirty in C# you can always serialize and de-serialize all objects that make up the current state; that obviously needs some planning ahead, but should be rather doable.

I was thinking about that, but I'm not sure if it would take up a lot of unnecessary memory, being an automatic process, or if it's optimized enough to store a snapshot for each move.

____________________________
http://vittorioromeo.info
05-02-2012 at 12:53 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
I'm working on pathfinding.

First attempt was making every roach find a path to Beethro every turn. Obviously incredibly slow with more than a single roach.

Second attempt was mas making Beethro generate a pathmap (breadth-first search) every time he moves. Works perfectly with multiple roaches, but I have some questions:

What if I add stalwarts to the mix?

I would have to generate a pathmap for every stalwart, every time he moves.

And they would have to pathfind to enemies, too, so it means generating a pathmap for every roach, every time they move?

This is obviously too slow, and not how DROD does it.

Looking forward to be enlightned :)

____________________________
http://vittorioromeo.info
06-08-2012 at 06:15 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+2)  
Instead of starting only at Beethro start your single breadth-first search at Beethro and every stalwart - that way every monster will automatically go after the nearest target.

np: Maxïmo Park - Until The Earth Would Open (The National Health)

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
06-08-2012 at 09:06 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Briareos wrote:
Instead of starting only at Beethro start your single breadth-first search at Beethro and every stalwart - that way every monster will automatically go after the nearest target.

np: Maxïmo Park - Until The Earth Would Open (The National Health)

I can do that, but it's the stalwart pathfinding that confuses me. If the stalwart has to pathfind towards a monster, it means that the monster itself should have a pathmap, right?

How is it possible that in DROD I can build a room full of stalwarts and monsters without any visible slowdown?

____________________________
http://vittorioromeo.info
06-08-2012 at 10:39 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (+1)  
vittro wrote:
How is it possible that in DROD I can build a room full of stalwarts and monsters without any visible slowdown?
Same as above.

Start at all monsters, and pathmap towards the stalwarts. Then have every stalwart move towards the lowest count in that pathmap (and if that count is below some very low number make sure to have the stalwart do some extra calculations to turn and/or backswipe...)

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
06-09-2012 at 11:20 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Thanks for the help, but I'm still not quite getting it.

Does DROD create a pathmap for every square in the room when the room is loaded?
Or does DROD create a pathmap for every entity and updates it when the entity moves?
Does DROD use any heuristic (A*?) or is it Dijkstra's algorithm?

The first method creates a noticeable slowdown on room initialization.
The second method creates a noticeable slowdown every turn.
I didn't try implementing any heuristic yet, so it is a simple breadth-first search.

____________________________
http://vittorioromeo.info

[Last edited by vittro at 06-09-2012 08:51 PM]
06-09-2012 at 08:51 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Without having looked at the code I'd wager it's two (or so) pathmaps for the whole room:

One to the nearest enemy, and one to the nearest friendly for every tile.

There's no need to make a separate pathmap for every entity when the overall goal is "move towards nearest enemy/friendly"... just mark every tile with the number of moves it takes to the nearest target and have the entity chose the move that takes it to the tile with the lowest number. (Didn't I explain that already somewhere up there? I'm too tired to check right now...)

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
06-10-2012 at 01:13 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
vittro
Level: Smiter
Avatar
Rank Points: 479
Registered: 04-17-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
I've noticed something while playing DROD: brained roaches (or guards) do not pathfind towards stalwarts - only stalwarts do pathfind towards them.

Is this why DROD is so fast? I was trying to make every single roach pathfind to a stalwart and every single stalwart pathfind to a roach.

____________________________
http://vittorioromeo.info
06-10-2012 at 04:26 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
The spitemaster
Level: Smiter
Rank Points: 354
Registered: 06-09-2005
IP: Logged
icon Re: DROD 2.0, 3.3, 4.0 Source Released. (0)  
Brained creatures ignore stalwarts entirely, except for goblins who only see the sword not the stalwart. The requirement to get behind the sword outweighs the need to get to you.

____________________________
Last night upon a stair
I met a man that wasn't there
He wasn't there again today
I wish that man would stay away
06-11-2012 at 05:53 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts This architect's holds Quote Reply
<<3456
Page 7 of 9
89
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : Development : DROD Source Released (Now open sourced on Github!)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.