# Multi-tile monsters

**URL:** https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815
**Category:** The Drawing Board
**Created:** [June 15, 2015, 4:20am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815 "2015-06-15T04:20:20Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![loogie](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/loogie/32/1201_2.png) [@loogie](https://discourse.cataclysmdda.org/u/loogie)
#### Post date: [June 15, 2015, 4:20am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/1 "2015-06-15T04:20:20Z")

</div>

is there any thoughts or plans to make monster’s tiles be size based?

what i mean is have larger monsters be multiple tiles?

It always seems weird to me that say, the tank-bot is only 1 tile big, while a regular car is what? 4x6 or something?

I was just wondering if something like that has been talked about, I am also a programmer, not too familiar with c++ but I’d love to learn a bit… and I’m interested in trying to dabble in some fields that I could be of some use in.

---

<div class="post-metadata">

### Author: ![i2amroy](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/i2amroy/32/909_2.png) [@i2amroy](https://discourse.cataclysmdda.org/u/i2amroy)
#### Post date: [June 15, 2015, 3:54pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/2 "2015-06-15T15:54:28Z")

</div>

This is one of those ideas that gets suggested a lot, and seems like it wouldn’t be that difficult to do, but is in truth both fiendishly difficult and requires a ton of work. Basically you would need to rewrite pretty much the entire path finding code and a lot of the map code, as well as catch a huge amount of various edge cases.

Now while box creatures are out, you might be able to create a “snake” type creature where the end just follows the beginning without too much work comparatively (though it would still be a rather large amount). It’s just a lot of work for very little actual reward.

One alternative path for some things (this only works for more goo-like individually damage able monsters) would be to create them in bunches and then have them all group up and move together (similar to the breathers). The end result would be very similar to a single large monster, but wouldn’t take near as much work, just a few path finding tweaks.

---

<div class="post-metadata">

### Author: ![Kadian](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kadian/32/214_2.png) [@Kadian](https://discourse.cataclysmdda.org/u/Kadian)
#### Post date: [June 15, 2015, 8:45pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/3 "2015-06-15T20:45:33Z")

</div>

It’s actually not necessary - I think. A square ingame seems to be like in Dwarf Fortress, its a ‘place’ rather then a fixed value. I once tried to calculate the Surface Area with the Vehicles, for example:

A Usual Car in CDDA is 6x4 (LxW) squares. Then I looked at a few Car measurements and took somewhat general values of 4,5m x 1,8m ; which would mean that 1 square would be between 75cm² and 45cm² (450cm/6 = 75cm, 180cm/4 = 45) - I simply then figured that around 50cm² would be a good estimate - but that’s not enough for creatures like the jabberwock, cows, amoebic molds or even stuff like beds (in-car as well as current in-game. A normal bed is around 2m in length, some are even longer, so you’d need 4 bed-squares in order to lie down comfortably.)

---

<div class="post-metadata">

### Author: ![loogie](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/loogie/32/1201_2.png) [@loogie](https://discourse.cataclysmdda.org/u/loogie)
#### Post date: [June 15, 2015, 11:46pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/4 "2015-06-15T23:46:14Z")

</div>

I was figuring it would be something at least talked about, but good to know its harder than it seems. Path finding and such makes sense of course.

There is more than scale involved in my thoughts however, it would be quite interesting to see say… a tank bot get say, its tracks disabled, or engine, or something to that effect, meaning you could approach monsters you usually just run from, with a bit of precision targeting, could be disabled, or taken out. Just a thought, but i feel it’d be interesting to allow certain monsters, especially robots, be modular much like vehicles, even the ability to disassemble a robot corpse for vehicle parts and/or weapons

I’m not so sure I want to try to delve into something so complex in my first forray, so we’ll see but thanks for the info!

---

<div class="post-metadata">

### Author: ![Turtlicious](https://avatars.discourse-cdn.com/v4/letter/t/35a633/32.png) [@Turtlicious](https://discourse.cataclysmdda.org/u/Turtlicious)
#### Post date: [June 16, 2015, 3:18am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/5 "2015-06-16T03:18:14Z")

</div>

I’m not a very good programmer, but don’t monsters have different attacks and move speeds and what not? Couldn’t we incorporate a 3x3 tileset where move speed is affected my total number of treads. Attacks depending on which tiles aren’t destroyed, and since it’s a tank just let it path through walls?

Or am I oversimplifying it?

---

<div class="post-metadata">

### Author: ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)
#### Post date: [June 16, 2015, 4:55am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/6 "2015-06-16T04:55:33Z")

</div>

> [@Turtlicious](#):
>
> Or am I oversimplifying it?

Yes 🙂  
Adjusting the stats isn’t hard, it’s making the monster able to move around in any kind of sensical way that’s going to be difficult. Although TBH we COULD just cheat and make it something that doesn’t have to worry about pathing because it can destroy anything that gets in its way.

---

<div class="post-metadata">

### Author: ![Coolthulhu](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/coolthulhu/32/2446_2.png) [@Coolthulhu](https://discourse.cataclysmdda.org/u/Coolthulhu)
#### Post date: [June 16, 2015, 6:14am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/7 "2015-06-16T06:14:46Z")

</div>

> [@Kevin Granade](#):
>
> Although TBH we COULD just cheat and make it something that doesn’t have to worry about pathing because it can destroy anything that gets in its way.

What about holes? Especially holes big enough to contain it

---

<div class="post-metadata">

### Author: ![Turtlicious](https://avatars.discourse-cdn.com/v4/letter/t/35a633/32.png) [@Turtlicious](https://discourse.cataclysmdda.org/u/Turtlicious)
#### Post date: [June 16, 2015, 6:12pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/8 "2015-06-16T18:12:27Z")

</div>

> [@Coolthulhu](#):
>
> [quote=“Kevin Granade, post:6, topic:9815”]Although TBH we COULD just cheat and make it something that doesn’t have to worry about pathing because it can destroy anything that gets in its way.

What about holes? Especially holes big enough to contain it[/quote]

REALLY cheat, and give it hoverjets so it can fly over holes.

---

<div class="post-metadata">

### Author: ![loogie](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/loogie/32/1201_2.png) [@loogie](https://discourse.cataclysmdda.org/u/loogie)
#### Post date: [June 16, 2015, 6:22pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/9 "2015-06-16T18:22:34Z")

</div>

yeah, i’m figuring you’ve been suggesting to make a say a 3x3 tank into 9 individual 1-tile monsters. the problem would be to sync their movement, and trigger results that happen when they move… i haven’t looked at the code, but it’s most likely require a “sync” function or something, which basically makes all parts flags reflect uni-formally with the rest. This would be like a pre-update update…

The easiest of which would be simply updating all parts so that they move with the whole in the right location, (ie: the top right tile stays top right while it turns, etc)

in a more complex sense, it would need to sync effects, like if it is colliding with something, all of the parts should know. If one part is destroyed, it could effect other parts. etc

the big questions would be if that would significantly effect performance

---

<div class="post-metadata">

### Author: ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)
#### Post date: [June 17, 2015, 6:33am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/10 "2015-06-17T06:33:59Z")

</div>

We already have an example of something that keeps a bunch of pieces synched while moving, the vehicle code, that part isn’t too hard. The navigation issue is a known problem with known solutions, though they’re for the most part a bit mor sophisticated than most of the things that happen in the game.  
mostly it boils down to a lot of work.

---

<div class="post-metadata">

### Author: ![Imperator\_Urist](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/imperator_urist/32/464_2.png) [@Imperator\_Urist](https://discourse.cataclysmdda.org/u/Imperator_Urist)
#### Post date: [June 20, 2015, 1:30am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/11 "2015-06-20T01:30:48Z")

</div>

This pretty much leads down to getting NPCs to drive, which seems like it would be alot of fun to see them crash.

---

<div class="post-metadata">

### Author: ![Belteshazzar](https://avatars.discourse-cdn.com/v4/letter/b/e274bd/32.png) [@Belteshazzar](https://discourse.cataclysmdda.org/u/Belteshazzar)
#### Post date: [June 29, 2015, 4:06pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/12 "2015-06-29T16:06:38Z")

</div>

> [@Imperator\_Urist](#):
>
> This pretty much leads down to getting NPCs to drive, which seems like it would be alot of fun to see them crash.

To me this seems the most effective solution, but as mentioned by those wiser in code than I it’s almost certainly a good bit of finicky AI/pathfinding work.

I’d also warrant that it’s probably wiser to wait for proper z-levels to manifest before someone tries to figure out a vehicular pathfinder that will almost certainly break in the 2d/3d transition.

Still, once NPCs could drive it’s just a question of properly spawning a ‘brain’ NPC class into vehicular bodies of meat and bone frames (or the more standard metal and plastic if robotic.)

---

<div class="post-metadata">

### Author: ![Wally-kun](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/wally-kun/32/375_2.png) [@Wally-kun](https://discourse.cataclysmdda.org/u/Wally-kun)
#### Post date: [June 29, 2015, 6:01pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/13 "2015-06-29T18:01:39Z")

</div>

Once you figure out how to program driving AI’s, you can also figure out how to have a proper vehicle enemy. Tank bots could become actual tank vehicles and be broken apart and take a LOT more work to deal with - but you can move around and climb on top of a tank with, say, its treads busted. (Granted its turret can still move but you can sit under the barrel.)

---

<div class="post-metadata">

### Author: ![SioxGWolf](https://avatars.discourse-cdn.com/v4/letter/s/b2d939/32.png) [@SioxGWolf](https://discourse.cataclysmdda.org/u/SioxGWolf)
#### Post date: [September 24, 2015, 7:10pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/14 "2015-09-24T19:10:53Z")

</div>

I love the thought. But, it makes me think… and fear. What are the chances that we’ll run into mutated giant zombies?

---

<div class="post-metadata">

### Author: ![EditorRUS](https://avatars.discourse-cdn.com/v4/letter/e/9fc29f/32.png) [@EditorRUS](https://discourse.cataclysmdda.org/u/EditorRUS)
#### Post date: [September 26, 2015, 11:18am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/15 "2015-09-26T11:18:58Z")

</div>

> A Usual Car in CDDA is 6x4 (LxW) squares. Then I looked at a few Car measurements and took somewhat general values of 4,5m x 1,8m ; which would mean that 1 square would be between 75cm² and 45cm² (450cm/6 = 75cm, 180cm/4 = 45) - I simply then figured that around 50cm² would be a good estimate - but that's not enough for creatures like the jabberwock, cows, amoebic molds or even stuff like beds (in-car as well as current in-game. A normal bed is around 2m in length, some are even longer, so you'd need 4 bed-squares in order to lie down comfortably.)

I don't know where you got your constants. Actual tile length/width seems to be far more higher than mere square centimeters. Just an example: I accelerated a car to 73 km/h (which is 20.2(7)8 m/s) and skipped a turn. According to watches 6 seconds has passed. I went forward 4~5 tiles. This means I passed ~122 meters. If we divide it by 5~6 we'll get from 24.4 meters to 20 1/3 meters. So it means one tile is about 22 meters in length and width. Now imagine just how Alice-y Cataclysm DDA world is.

---

<div class="post-metadata">

### Author: ![Valpo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/valpo/32/341_2.png) [@Valpo](https://discourse.cataclysmdda.org/u/Valpo)
#### Post date: [September 26, 2015, 2:20pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/16 "2015-09-26T14:20:18Z")

</div>

That would mean that your average bike is over 60 meters long. 😮

---

<div class="post-metadata">

### Author: ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)
#### Post date: [September 26, 2015, 7:38pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/17 "2015-09-26T19:38:05Z")

</div>

1 square Meter for a tile is a non-precise rule of thumb. The speeds of the vehicles are no more than vague indicators to give you a feel for how fast you’re going. The two are not and probably never will be consistent with each other.

---

<div class="post-metadata">

### Author: ![EditorRUS](https://avatars.discourse-cdn.com/v4/letter/e/9fc29f/32.png) [@EditorRUS](https://discourse.cataclysmdda.org/u/EditorRUS)
#### Post date: [September 27, 2015, 11:34am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/18 "2015-09-27T11:34:58Z")

</div>

> 1 square Meter for a tile is a non-precise rule of thumb. The speeds of the vehicles are no more than vague indicators to give you a feel for how fast you're going. The two are not and probably never will be consistent with each other.

Can't imagine just how slow should a character be to take 6 seconds to cross 1 meter.

---

<div class="post-metadata">

### Author: ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)
#### Post date: [September 28, 2015, 7:14am UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/19 "2015-09-28T07:14:00Z")

</div>

Actually one of my far back-burner projects is changing the time per turn to 1 second instead of 6, I think that’ll put move speed in a decent ballpark.

---

<div class="post-metadata">

### Author: ![ribblle](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/ribblle/32/5263_2.png) [@ribblle](https://discourse.cataclysmdda.org/u/ribblle)
#### Post date: [December 13, 2016, 10:31pm UTC](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815/20 "2016-12-13T22:31:43Z")

</div>

How’s this looking? You’ve done vehicles, lets pump for monsters. Another good use of z-levels, even.

[Next page](https://discourse.cataclysmdda.org/t/multi-tile-monsters/9815.md?page=2)
