Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4 5

Author Topic: Full graphics support details  (Read 21586 times)

orbcontrolled

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #30 on: February 19, 2010, 02:39:53 pm »

The idea of one creature per tile feels to me like a recipe for disaster, unless it was a very weak restriction.

It would also raise a lot of very gameplay-related questions entirely apart from graphics, such as:
If a few soldiers meet a siege in a one-tile tunnel, what happens? Are they forced to fight one on one because of the narrow tunnel, and is that realistic? or should they both be able to squeeze in side by side, and is that realistic? How many could squeeze in before the AI decides "too many"?
The answer of course depends on exactly how big a tile is, and I'm sure you would get a dozen different answers if you asked people.

Forcing the issue of tile size seems to me to be far beyond the scope of just improving graphics, and would probably warrant it's own thread entirely.
Logged

Raz

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #31 on: February 25, 2010, 11:20:23 am »

I just voted on this on the eternal DF poll. ;)
Logged
"I can't wait to procrastinate!"

Gazz

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #32 on: February 25, 2010, 11:37:41 am »

The idea of one creature per tile feels to me like a recipe for disaster, unless it was a very weak restriction.
"Full graphics support" is a very vague term and could also mean that "the tile" is no longer the smallest unit in the universe.

10 mice might fit on the same tile, side by side. Who knows?
Logged
totus vestri castrum es nostrum possessia

lucusLoC

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #33 on: February 25, 2010, 01:26:12 pm »

this is way off topic, and any replies need to be done in the appropriate thread (see mine here for example: http://www.bay12games.com/forum/index.php?topic=50043.0 )

tiles should have a fixed volume. each item and creature should also have an associated volume. total volumes should, as a rule, not be allowed to exceed tile volume. this would take care of the quantum stockpile issue as well. as discussed in the above thread, volume could be fudgeable if the situation needs it.
Logged
Quantum dumps are proof of "memory" being a perfectly normal dimension in DF. ~Gazz

Mel_Vixen

  • Bay Watcher
  • Hobby: accidently thread derailment
    • View Profile
Re: Full graphics support details
« Reply #34 on: February 25, 2010, 08:37:09 pm »

I would like to see that "wet" or "warm" tiles get visually marked as such without entering the dig menu for example.
Logged
[sarcasm] You know what? I love grammar Nazis! They give me that warm and fuzzy feeling. I am so ashamed of my bad english and that my first language is German. [/sarcasm]

Proud to be a Furry.

Iggbyoo

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #35 on: April 11, 2010, 01:22:56 pm »

I added my vote to the list, and now my $0.02:

Why not begin to migrate from using basic BMP/PNG graphics for text to using fonts in TTF formats. This might actually be less of a hassle after the merge with the SDL version of DF.  Resizing DF for many of the newer larger resolutions would be a non issue and the menus could be more easily read along with many of the text in the game.  Once the graphics are available for every object in the game, this would be the next logical step, IMHO.  ;)
Logged

zwei

  • Bay Watcher
  • [ECHO][MENDING]
    • View Profile
    • Fate of Heroes
Re: Full graphics support details
« Reply #36 on: April 11, 2010, 02:11:41 pm »

I would like to see that "wet" or "warm" tiles get visually marked as such without entering the dig menu for example.

It would be interesting to see Wet tiles generate droplets (if floor above) or "wall sweat"

As far as warm tiles go, Hot air effect or soft glow would be nice.

Silverionmox

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #37 on: April 14, 2010, 03:31:15 pm »

How many tiles would we need?
That depends on how many effects we can use to transform tiles (eg. differently coloured version of the same tile, superimposing another tile to indicate wear of items or different appearances of creatures, etc.)

How would they be indicated in the raws?
It would be practical to be able to reserve a row of tiles for each civ, so you could, for example, use position 45 for blacksmiths. If the rows were  100 long, 145 would then be dwarf blacksmiths, 245 human blacksmiths, 345 elven blacksmiths etc. The last one would of course be unused, but it allows to maintain some structure, which will be useful for extensive mods.
Logged
Dwarf Fortress cured my savescumming.

Lemunde

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #38 on: April 14, 2010, 09:26:38 pm »

How many tiles would we need?
That depends on how many effects we can use to transform tiles (eg. differently coloured version of the same tile, superimposing another tile to indicate wear of items or different appearances of creatures, etc.)

How would they be indicated in the raws?
It would be practical to be able to reserve a row of tiles for each civ, so you could, for example, use position 45 for blacksmiths. If the rows were  100 long, 145 would then be dwarf blacksmiths, 245 human blacksmiths, 345 elven blacksmiths etc. The last one would of course be unused, but it allows to maintain some structure, which will be useful for extensive mods.

Here's how I picture it working the most efficiently.  First, I'm pretty sure no matter what is added Toady still intends to keep support for the ascii set.  That means each release will come default pretty much as you see it now.  So I don't see anything being added that would break that support.  That still leaves a lot of room to work with but just keep that in mind.

The first stage in adding graphics support will be extending the number of graphics we can use for objects.  This is actually quite easy to do and shouldn't have to rely on a specific size for an image file.  What I first thought of was adding an extra entry on all objects in the raws for an alternate graphics tile.  If graphics are enabled it will use the graphics entry, otherwise it will use the default ascii entry.  If there's no entry at all, use the entry for the parent object.  If that has no entry, use the default ascii character.

Of course with all the graphics sets out there and everybody having their own idea on how they should be arranged and how many there should be, adding all these entries into the raws is going to get rough.  What I suggest is that all the graphics entries go in a single, separate file that can be included with the graphics set and even go in the same folder.  This would be the simplest way for the end users and the graphics artists and would cause the least conflicts with mods.

I think the next logical step would be to add support for things like ramps which would need multiple base tiles to look right.  At the same time he could add support for water/ground boundaries which is pretty much the same thing.  In fact it's the same way smoothed walls work so it shouldn't be too difficult to modify that code to work with more stuff.  Some more complex raw entries would be needed.

I figure that's enough to build off of.  A lot of this stuff isn't very difficult to do but it can be time consuming which is probably why it hasn't been done already.  I'm sure Toadie's philosophy is gameplay takes precedence over pretty graphics and I'm not going to argue with him over that.  But this is definitely something that needs to get worked on eventually.

Edit: I guess I really didn't address you're post very well.  The point I was trying to get across is, if it is done right, where the graphic tiles are located in the image file for dwarven/human/elven blacksmiths or whatever will be entirely up to the person making those tiles.  It will just take them an extra step to add or update an entry in the graphic raw file for that particular object.
« Last Edit: April 14, 2010, 09:32:57 pm by Lemunde »
Logged

DoctorZuber

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #39 on: April 15, 2010, 04:37:16 pm »

I see two key things that are necessary to let graphics improve dramatically.

First, is open up png support. This is already on the horizon anyhow, should show up sooner or later.

Second, allow the tileset to be extended. our hard limit of 255 different "tiles" is really crippling. Many of these tiles are already overloaded with two or more very different uses in game. If we can get some decent support for doing an extended tileset I think the community would fill in the gaps quite quickly and really make DF look very nice.

As for the maybe some day ideas, It would be nice to extend this into an isometric system like the visualizer is trying to do, but that is a lot to ask for anytime soon I think. This is not to say I wouldn't love seeing it, but I'm not holding my breath for any sort of 3d game display in DF.

Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Full graphics support details
« Reply #40 on: April 15, 2010, 04:46:01 pm »

^^^ That's about what's planned:

Quote
# Core50, TILESET SUPPORT: Allow graphical tiles to be used for all game objects.

What I would like to hear from Toady is what kind of graphics he has in mind for when he gets to the interface overhaul. That way we could at least prepare some sprites ahead of time and have nearly complete graphics sets as soon as the version with the new interface comes out. I personally waste a lot of my free time doodling in GIMP, so I might as well do something useful.

Depending on the stage of the interface overhaul, ultimately I'm going to be support 2D tilesets (probably in dimensions of multiples of 4 because I'm lazy with image file headers).  So if you want to draw up some 32x32s or something, you won't be wasting your time, I think.  It should be fairly straightforward to support single z-slice isometric stuff as well, once I get that going, since I'd just have to change the print locations and print order, though transparency decisions are probably annoying, and it's slightly more annoying to get multilayer isometric stuff going, since people are going to want various options about display there, so I don't really have a clear opinion on the future of isometric.  The support for a resizeable viewport/window is definite, but nothing has been decided on layering there (for instance, critters walking over grass tiles, that kind of thing -- people will want more and more out of this system, such as inventory and wound displays, and I'm not sure where lines will be drawn, or where it will bog down, anyway).

So, in summary:
- extended tileset, separate from text: definite
- single-Z-level isometric: probable
- multi-Z-level isometric: iffy
- wound/appearance/inventory graphics: iffy
Logged

daveybaby

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #41 on: June 22, 2010, 04:34:20 am »

IMO the best thing toady could do w.r.t. graphics is to completely decouple the UI from the game engine, and provide an open API for communication between the two.

e.g.
engine->UI: "a game tick occurred. here's a list of the notable events"
(UI displays events)
UI->engine: "give me a list of the contents of tiles [x,y,z...]"
engine->UI: "here ya go"
(UI displays tiles)
UI->engine: "pause the game please"
(engine pauses)
UI->engine: "command dwarves to dig the following tiles [...]"
UI->engine: "command workshop x to build item y"
UI->engine: "unpause the game please"
(game resumes)
engine->UI: "a game tick occurred....."
etc
note to non-programmers: this is how computer programs actually talk to each other, honest. All that stuff about 1's and 0's? We lied to make ourselves seem clever.

This way, once toady has decoupled the standard UI from the game engine, he can still continue to develop the game (both the engine and the default UI) as he sees fit, and the modding community can go hogwild with graphics and command input variations (presumably even up to a full 3d realtime implementation).

Obviously there is a significant amount of work to get this done, but after that initial effort the only extra work for toady would be to provide up-to-date documentation for the API.
« Last Edit: June 22, 2010, 04:54:15 am by daveybaby »
Logged

fanatic

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #42 on: June 22, 2010, 05:09:46 am »

Obviously there is a significant amount of work to get this done, but after that initial effort the only extra work for toady would be to provide up-to-date documentation for the API.

I'd rather say it will have him get rid of th major part of UI programming once and for all. which is good since he doesnt look too fond of UI programming... However passing this on to the community means he will not be able to do a full release "on his own"(he will no longer be able to update the UI for new features), which is apparently a showstopper for him.



Of course with all the graphics sets out there and everybody having their own idea on how they should be arranged and how many there should be, adding all these entries into the raws is going to get rough.  What I suggest is that all the graphics entries go in a single, separate file that can be included with the graphics set and even go in the same folder.  This would be the simplest way for the end users and the graphics artists and would cause the least conflicts with mods.

Love it!
Logged
fanatic cancels play DF : gone berzerk at framerate.                                                  x1000
------------------------
Pour magma first - ask questions later!

daveybaby

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #43 on: June 22, 2010, 08:39:39 am »

However passing this on to the community means he will not be able to do a full release "on his own"(he will no longer be able to update the UI for new features), which is apparently a showstopper for him.
I'd expect him to continue to develop the current UI as he does now, but as a separate module from the engine, using the same API that the community would use.

IMO it's good practice to keep as much separation between the UI and the engine as possible, regardless.

Edit:
Just spotted that there's already a suggestion for this in the eternal suggestion voting poll: 'Abstract the Interface', although there doesnt seem to be a thread associated with it.
« Last Edit: June 22, 2010, 09:35:45 am by daveybaby »
Logged

Draco18s

  • Bay Watcher
    • View Profile
Re: Full graphics support details
« Reply #44 on: June 22, 2010, 09:40:34 am »

note to non-programmers: this is how computer programs actually talk to each other, honest. All that stuff about 1's and 0's? We lied to make ourselves seem clever.

This is a lie.  No really.
*Shifty eyes*
Logged
Pages: 1 2 [3] 4 5