Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Making couches sofas, etc. Mutli tile areas (isometric sprites a possibility)  (Read 5696 times)

Truean

  • Bay Watcher
  • Ok.... [sigh] It froze over....
    • View Profile

Well, I was thinking about making a smelter reaction for a custom piece of furniture.

There are three primary issues:

1.) Coding. This is basically the creation of a custom furnishing piece in game.

2.) Facing. This is the same problem faced by chairs, especially in isometric sprite systems like stonesense.

3.) Multi tile spacing. It stands to reason that a couch is longer than a chair, but even a dragon only takes up only one tile currently.

One possibility to this is using three separate furnishing items.

Couch A: End piece
Couch B: Middle Piece
Couch C: End piece

Does anyone think this is feasible?
Logged
The kinda human wreckage that you love

Current Spare Time Fiction Project: (C) 2010 http://www.bay12forums.com/smf/index.php?topic=63660.0
Disclaimer: I never take cases online for ethical reasons. If you require an attorney; you need to find one licensed to practice in your jurisdiction. Never take anything online as legal advice, because each case is different and one size does not fit all. Wants nothing at all to do with law.

Please don't quote me.

Kagus

  • Bay Watcher
  • Olive oil. Don't you?
    • View Profile

So far as I know, the coding of new furniture items is out of the question (unless you happen to be some insane hacker who can not only crack into the guts of DF, but can also understand Toady's mutant-spaghetti code).

So, no.


But, hey, you can make a stick!  A really pointy stick, too!  But it'll be made out of steel...

Truean

  • Bay Watcher
  • Ok.... [sigh] It froze over....
    • View Profile

Quote
So far as I know, the coding of new furniture items is out of the question (unless you happen to be some insane hacker who can not only crack into the guts of DF, but can also understand Toady's mutant-spaghetti code).

Actually....

While I'm not even going to get into the files and try to decode what Toady has done. It is possible to assign different isometric sprites to similar or same items made out of different materials.

Stonesense has done it.

Wooden chairs have different sprites than rock thrones, which have different sprites than metal thrones.... Thus, A, B, and C, right there....

I'm not even saying you'd have to use chairs to assign the sprite materials to based on material composition. I'd imagine you could do it with just about anything, though preassigned codded item functionality would be a pain.

Take Items no one ordinarily makes out of wood: Statues, armor stands and weapon racks. Assign each a sprite for "couch A, B or C" in stonesense.
Your Dwarves couldn't actually sit on it, but it would be there in the isometric visualizer. Ironically, the workshop sprite solution would solve problem three in a strange way.

Take a look at this:
http://www.bay12games.com/forum/index.php?topic=43260.0

Heck if I really wanted to, I could take a workshop i don't use like the Ashery and make that have a sprite that's a couch.... The worst thing here is making the actual sprite.

_________________________________

Facing, on the other hand, is something the game doesn't even have. Other than using different workshop sprites for different directional facing couches, I've no clue.
« Last Edit: March 22, 2010, 02:06:34 am by Truean »
Logged
The kinda human wreckage that you love

Current Spare Time Fiction Project: (C) 2010 http://www.bay12forums.com/smf/index.php?topic=63660.0
Disclaimer: I never take cases online for ethical reasons. If you require an attorney; you need to find one licensed to practice in your jurisdiction. Never take anything online as legal advice, because each case is different and one size does not fit all. Wants nothing at all to do with law.

Please don't quote me.

Kagus

  • Bay Watcher
  • Olive oil. Don't you?
    • View Profile

Ah, okay.  See, I thought you wanted to make actual in-game items, not just dress them up for show.

Sorry then, can't help you out.  Hell, I don't even use a graphics pack...


Good luck though, hope you find something that works.

NRN_R_Sumo1

  • Bay Watcher
    • View Profile

I havent used stonesense in a while, but I believe they use stools instead of chairs so that they can be sat in all directions.

You could in theory make a bench, all you'd need to do is edit the chair sprite so that they look good when put together in rows.
Same thing can be done with tables to make it possible to have very large tables.
Logged
A dwarf is nothing but an alcohol powered beard.

Truean

  • Bay Watcher
  • Ok.... [sigh] It froze over....
    • View Profile

Quote
I havent used stonesense in a while, but I believe they use stools instead of chairs so that they can be sat in all directions.

You could in theory make a bench, all you'd need to do is edit the chair sprite so that they look good when put together in rows.
Same thing can be done with tables to make it possible to have very large tables.

Very true, and an astute observation. Yet the facing problem remains. The reason tables work without facing is that they occupy the entire square with their sprites. Chairs are drawn smaller. Thus even if chairs were wider or longer, the same effect couldn't be achieved without making the chair sprite take up the entire square as the table sprite does.

Good idea, but unfortunately, facing is a major challenge to isometric drawing in game. For proof, look no further than stonesense stair sprites. Their facing issues are legendary, but entirely understandable given game limitations.
(Though perhaps a spiral staircase or stairwell sprite could fix this).
Logged
The kinda human wreckage that you love

Current Spare Time Fiction Project: (C) 2010 http://www.bay12forums.com/smf/index.php?topic=63660.0
Disclaimer: I never take cases online for ethical reasons. If you require an attorney; you need to find one licensed to practice in your jurisdiction. Never take anything online as legal advice, because each case is different and one size does not fit all. Wants nothing at all to do with law.

Please don't quote me.

kaypy

  • Bay Watcher
    • View Profile

If you are looking at using Stonesense as a starting point, then there are a few features that could make your life simpler: Most notably, stonesense can detect neighboring buildings, and alter the sprite it uses accordingly.

So if you wanted, you could rig it up so that chairs put next to each other merge into a couch sprite. You could get an orientation by detecting tables (to face towards) or walls (to face away from).

Looking at the xml for bridges, bars and windows would probably be a good start.

Of course, you then have to make sure your fortress doesnt contain chairs in a
Code: [Select]
.C.
CCC
.C.
shape or things will get most confused 8-)

Oh, also, you can detect materials, so it could use couch sprites only for eg 'cloth chairs' (I think that is close enough to be moddable, right- add a smelter reaction to convert say 1 cloth + 1 wood to a chair of some cloth mattype)
Logged

NRN_R_Sumo1

  • Bay Watcher
    • View Profile

Quote
I havent used stonesense in a while, but I believe they use stools instead of chairs so that they can be sat in all directions.

You could in theory make a bench, all you'd need to do is edit the chair sprite so that they look good when put together in rows.
Same thing can be done with tables to make it possible to have very large tables.

Very true, and an astute observation. Yet the facing problem remains. The reason tables work without facing is that they occupy the entire square with their sprites. Chairs are drawn smaller. Thus even if chairs were wider or longer, the same effect couldn't be achieved without making the chair sprite take up the entire square as the table sprite does.

Good idea, but unfortunately, facing is a major challenge to isometric drawing in game. For proof, look no further than stonesense stair sprites. Their facing issues are legendary, but entirely understandable given game limitations.
(Though perhaps a spiral staircase or stairwell sprite could fix this).

What I meant was that, you change the colours on the edges of the square stools and tables so that when placed next to eachother, it appears you have a single piece of furniture.
Many games use this approach to tilesets.
Logged
A dwarf is nothing but an alcohol powered beard.

Truean

  • Bay Watcher
  • Ok.... [sigh] It froze over....
    • View Profile

Sounds awesome. How would I learn to do this? Or, has something similar already been done?
Logged
The kinda human wreckage that you love

Current Spare Time Fiction Project: (C) 2010 http://www.bay12forums.com/smf/index.php?topic=63660.0
Disclaimer: I never take cases online for ethical reasons. If you require an attorney; you need to find one licensed to practice in your jurisdiction. Never take anything online as legal advice, because each case is different and one size does not fit all. Wants nothing at all to do with law.

Please don't quote me.