Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Idea to tackle the multi tile creature problem  (Read 934 times)

Lioneez

  • Bay Watcher
  • Challenged.
    • View Profile
Idea to tackle the multi tile creature problem
« on: December 12, 2018, 11:15:28 pm »

Well I was jest thinking but im sure quite of you were thinking of it too, funny enough I didnt see anyone list it as an option to create multi tile creatures.
Why not think about making another Z layer that shows multi tile creatures, think of it not in dwarf fortress terms but in something like RPG maker terms, where you can have an image layer that still acts as a 1 tile creature in game, sure some dwarfs wont be seen because the image of the 3x3 mega beasts will be above him but in terms of game mechanic he is still there, you jest have a dedicated image layer for beasts that are bigger than usual as a visual perspective.
I dont know if its an option code wise but still I even consider it being a way to solve dynamic light in dwarf fortress since I seen that a lot in rpg games, they take a solid image of light that is transparent to around 50% or something and place it above an event that takes into account where it is located, if there is a wall behind the light source well the 3x3 light image will take the blocks that should not show and simply put another image there or none at all.
Is this really such a problem to code it into the game,I mean I dont know how the Z-layer system is coded in dwarf fortress but still, is this an option?
Logged

Doomblade187

  • Bay Watcher
  • Requires music to get through the working day.
    • View Profile
Re: Idea to tackle the multi tile creature problem
« Reply #1 on: December 12, 2018, 11:23:29 pm »

I suggest moving this thread into the Dwarf Fortress suggestions forum. The move thread button is at the bottom left.
Logged
In any case it would be a battle of critical thinking and I refuse to fight an unarmed individual.
One mustn't stare into the pathos, lest one become Pathos.

Kagus

  • Bay Watcher
  • Olive oil. Don't you?
    • View Profile
Re: Idea to tackle the multi tile creature problem
« Reply #2 on: December 13, 2018, 05:23:18 am »

This isn't really feasible within DF's graphics framework.

Think of each tile in DF as a pixel, rather than a grid over an image. While each pixel has many different values it can display (red, green, blue, combinations of each), the pixel itself can't get "bigger"... It's still just a single, physical pixel. You can't get one pixel to cover or overlap its surrounding pixels, unless you're really good at breaking the laws of physics.

What you can do is get the other surrounding pixels to change what image they're displaying, in order to give an illusion of size. However, they're bound by the same rules as the first pixel, meaning they have a limited selection of things they can display (while they can also display red, green, or blue lights, they can't display "part of the next-door pixel's red glow", they can only display values centered on themselves.)

So while you can't make one large letter/symbol for a creature, such as this:
Quote
S

You can make a repeated block of the symbol, like this:
Quote
SSS
SSS
SSS

Or do it like Incursion does and use a designated "extra size tile", like so:
Quote
╬╬╬
╬S╬
╬╬╬

That last option serves to make a visual distinction between "9 S-creatures in formation" and "one really big S-creature"


However, even deciding upon a good solution for the graphics of a multi-tile creature, there are plenty of other considerations that are difficult to work with... Such as how to handle ramps, traps, having one portion get "flung" by a raising drawbridge, having one portion get atomized by a lowering drawbridge, climbing, doors, attack range, wrestling etc. etc., and that's the main problem standing in the way. Well, that and even just figuring out how to code their movement and pathfinding, heh.


You could theoretically also make large composite symbols using other ASCII characters, like this:
Quote
╔══
╚═╗
══╝

That only works for some symbols though, and only on certain size creatures, and also it would probably make any graphics modders hate life.

Strik3r

  • Bay Watcher
  • Persistently work-in-progress.
    • View Profile
Re: Idea to tackle the multi tile creature problem
« Reply #3 on: December 13, 2018, 05:59:49 am »

Does Dwarf Fortress even have image layering? I haven't really played DF in a while but i distinctly seem to remember that there is only a single layer where everything is drawn, though i could be wrong. Also, i think DFhack/TWBT has some kind of layering capability...

Do we even know how Toady wants to implement multi-tile creatures? Does he himeself know?
If nothing beyond just having the creatures occupy multiple tiles at once is important, then this solution is more than enough, but even this has its own problems:

This will make creature graphics mandatory, unless you're okay with large blocks of 'D'. Nor would you be okay with seeing an inticrately drawn dragon next to an ASCII character.
So, every creature would have to get creature graphics, then everything else, because then you might as well discard the ASCII programmer art completely and actually have a proper tileset by default. I just don't see Toady both programming in a functional graphics layering system then creating new art for everything in the game. And since he has such an adversion to any help, you can forget about him just getting one of the many spriters to do the sprites for him...

This also relates to problem 2: Unless you wanna scale up a 32x32 sprite by a factor of 7 or more potentially, multi-tile creatures will need mega-sprites, the bigger the creature, the bigger the sprite. 64x64 for 2x2, 96x96 for 3x3, 128x128 for 4x4 and so forth... This'll make life hell for whomever wants to make creature graphics for multi-tile creatures.

Now, I'm not saying a mircale can't happen and the game will actually get a proper sprite layering system, actual sprites instead of the lazy ASCII art we have right now and things occupying multiple tiles, but im not holding my breath.

There's a reason most tile-based games do not have multi-tile creatures: They're far more trouble than they're worth, the matter of sprites is probably the least of those problems. Pathing a multi-tile creature comes to mind...

Any other solution to the multi-tile creature problem is unfeasible and will not work.

Although, the mention of sprite layering did make me think how a DF's layer stack might look:
[Gui](including text)
[Overlays](status effects, direction indicators)
[Mask](for lighting)
[Lighting(Multiply)](sprite based lighting)
[Multi-tile Creatures]
[Creatures]
[Objects](levers, chairs, tables)
[Walls]
[Floor]
[Background]
Logged
NOTICE: If you can't update your profile/signature, stop using a Imgur URL for your profile picture.
Upload it to somewhere else.

Vordak

  • Bay Watcher
    • View Profile
Re: Idea to tackle the multi tile creature problem
« Reply #4 on: December 13, 2018, 12:05:49 pm »

Topic starter, see this, I think you will be interested.

But in general, unfortunately, there are no prerequisites for the game to become better in the graphic component.
Logged

Iduno

  • Bay Watcher
    • View Profile
Re: Idea to tackle the multi tile creature problem
« Reply #5 on: December 14, 2018, 04:15:30 pm »

Wouldn't they be handled similarly to the way multi-tile wagons are handled? Aside from the occasional sudden catastrophic destruction, they work fairly well.
Logged

therahedwig

  • Bay Watcher
    • View Profile
    • wolthera.info
Re: Idea to tackle the multi tile creature problem
« Reply #6 on: December 14, 2018, 04:24:48 pm »

I don't think wagons can have multiple Z levels, which is what would be very interesting for giants and dragons for example. Which is also why we're proly going to see Kagus' suggestion before we see oblique sprites. Because afaik it'd otherwise be something like an 8 representing two feet, and then a 0 for the torso and a o for the head, and everyone trying to get on level with that o to slash at it.

And then there's also other things, like, if you have a hydra, and it bites a person with one of its heads, does that mean someone else should be able to jump on its neck to get to the other heads? Like, wagons are nowhere near as complex(though still pretty complex in regards to horsies).
Logged
Stonesense Grim Dark 0.2 Alternate detailed and darker tiles for stonesense. Now with all ores!