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: Using the tile system as a proxy to something mesh based  (Read 7500 times)

Xazo-Tak

  • Bay Watcher
  • *Camping forever*
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #15 on: January 05, 2016, 07:37:02 pm »

64-bit is not a complete rewrite.
I know, but it's still the best time.

And even if it was, it'd still be more work to rewrite DF to be an entirely different game than it was to begin with.
Hardly entirely different.
It's simply changing the geometry under which everything operates.
Fluid physics and pathfinding are the only things that become totally different, rigid body physics would have to be fleshed out a lot more, but everything else can still continue on merrily.
Logged
How to have recursive Fun:
Have Fun
Reclaim fort
Destroy your main graveyard with a cave-in

Orange Wizard

  • Bay Watcher
  • mou ii yo
    • View Profile
    • S M U G
Re: Using the tile system as a proxy to something mesh based
« Reply #16 on: January 05, 2016, 07:47:47 pm »

It's simply changing the geometry under which everything operates.
Does that strike you as particularly easy?
Logged
Please don't shitpost, it lowers the quality of discourse
Hard science is like a sword, and soft science is like fear. You can use both to equally powerful results, but even if your opponent disbelieve your stabs, they will still die.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #17 on: January 05, 2016, 08:13:33 pm »

64-bit is not a complete rewrite.
I know, but it's still the best time.

...No??? It's not???
Quote
And even if it was, it'd still be more work to rewrite DF to be an entirely different game than it was to begin with.
Hardly entirely different.
It's simply changing the geometry under which everything operates.
Fluid physics and pathfinding are the only things that become totally different, rigid body physics would have to be fleshed out a lot more, but everything else can still continue on merrily.

"Hardly"? Tiles are the most fundamental part of the game.

Xazo-Tak

  • Bay Watcher
  • *Camping forever*
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #18 on: January 06, 2016, 12:45:56 am »

"Hardly"? Tiles are the most fundamental part of the game.
Not many things have to be changed to make the game free of small scale tiles.

Pathfinding would have to change drastically, this is in my opinion the biggest challenge of this idea, although I've got some idea about how the algorithm would work.
Reaching distance of creatures for combat would go from being one tile to being the length of all segments of the grasping limb plus the weapons. I don't believe these lengths exist in the raws though, even if size approximations of parts do.
Projectile physics would change to not round the location of everything to one tile (possibly ending up with simpler code).
Fluid and gas physics could be done in a wide number of ways, but all of them are fairly difficult.
Terrain generation can still use world tiles; as for turning the landscapes into meshes whether smoother landscapes can be made with the technique depends on if the plane of any point on a hill is known before it is converted to tiles for the current version.
Structure generation would only have to create boxes in place of tiles, the simplest change of this list (Could be made more efficient though, if the boxes grouped into large boxes: Not to mention that many structures imply circular shapes or non-orthagonal angles, which meshes would allow)

Having things graphically approximate their locations to specific tiles would then restore the original appearance of the game.
Logged
How to have recursive Fun:
Have Fun
Reclaim fort
Destroy your main graveyard with a cave-in

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #19 on: January 06, 2016, 09:51:30 am »

The changes you speak of also mean DF cannot be represented by tiles, which kind of kills a whole lot.
I already explained how it could still be represented by tiles, and in fact would massively simplify multi-tile creatures.
Let's take a look at that:
Here are the things that I think become better:
-Creature behaviour becomes much more realistic, as diagonal and orthagonal movement can be made perfectly identical in terms of real distance travelled, and by giving each creature a particular position with a tile it's no longer possible to have a dozen attackers standing in one tile. With animation of creature meshes, it becomes possible to make more accurate calculations of hits in combat; so it won't be so easy to kick a standing person in the face anymore, and if you aim for someone's fourth right finger and miss you might hit something else.
Doable with tiles. Give each creature a coordinate within its tile. Limit number of creatures in tile based on total volume. Hitting other parts is already somewhat handled, IIRC.
Quote
-Multi-tile creatures and constructions will handle their own visual appearance, they only require meshes (Which mostly exist already) and animations.
Meshes are more difficult to create than tilesets. Animations doubly so. It will be incredibly difficult to have meshes for procedural creatures. It will probably be impossible to make grasps look decent. (The wrestler grabs his tongue with the left hand. The wrestler bites his left leg, latching on. The wrestler grabs his left ankle with the right arm.) Simple visualizers already exist without a rewrite on Toady's part.
Quote
-Mechanical stress to constructions and natural structures become possibly easier to calculate as terrain shapes can be simplified; not to mention that meshes can collapse in swinging motions as well as straight down.
Probably difficult to convert back to tiles.
Quote
-Open space can be extended enormously without hitting performance.
Doable with efficient data structuring. I don't think this is even an issue.
Quote
-Adds the possibility of dropping tile rendering altogether, which modders would really like.
Which modders? Certainly not the tileset makers.
Quote
-Gases such as mist and miasma no longer have to be so taxing to simulate, they can be replaced with moving points that say "at distance x from me, the density of gas y is z".
Maybe. Is this traditionally an issue? It seems like fluid and temperature are the real problem. How does a mesh-based model handle temperature?

Lastly, there's a question about performance. DF can have tons of objects existing on many z-levels. If you switch to a mesh-based system as you've described it, that means you must draw all objects in sight. You must draw all objects in a tile at once, not iterate through their sprites. Each object now has many more polygons. Those objects are also going to get in the way of the camera and make fort designing a pain.
« Last Edit: January 06, 2016, 09:53:42 am by Bumber »
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #20 on: January 06, 2016, 12:04:00 pm »

Quote
-Adds the possibility of dropping tile rendering altogether, which modders would really like.
Which modders? Certainly not the tileset makers.

I have experience in modding 3D stuff.

Fuck that.

MobRules

  • Bay Watcher
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #21 on: January 06, 2016, 02:17:11 pm »


Hardly entirely different.
It's simply changing the geometry under which everything operates.
Fluid physics and pathfinding are the only things that become totally different, rigid body physics would have to be fleshed out a lot more, but everything else can still continue on merrily.

...

...

...

Um....

don't take this the wrong way, but may I ask how much hands-on experience you have with this sort of dev work?
Logged
Ninja dragons! Protect the masterwork roasts!
Is this biome reanimating? I really don't want to know what happens when "absurd numbers of megabeasts" is combined with "reanimating biomes".

Dozebôm Lolumzalìs

  • Bay Watcher
  • what even is truth
    • View Profile
    • test
Re: Using the tile system as a proxy to something mesh based
« Reply #22 on: January 06, 2016, 02:24:32 pm »

"the geometry under which everything operates"

Yeah, that's not essential, complex, and entirely necessary at all. It's quite easy to switch geometry![/sarcasm]

Why don't you try writing ALL OF MATH around a different numerical basis. Including rings and groups and calculus and whatever else.

The underlying gears of DF cannot be changed on a whim. This would be, at best, a years-long project, and at worst a reconstruction of DF itself - but this time harder.
Logged
Quote from: King James Programming
...Simplification leaves us with the black extra-cosmic gulfs it throws open before our frenzied eyes...
Quote from: Salvané Descocrates
The only difference between me and a fool is that I know that I know only that I think, therefore I am.
Sigtext!

Xazo-Tak

  • Bay Watcher
  • *Camping forever*
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #23 on: January 06, 2016, 04:57:37 pm »

The changes you speak of also mean DF cannot be represented by tiles, which kind of kills a whole lot.
I already explained how it could still be represented by tiles, and in fact would massively simplify multi-tile creatures.
Let's take a look at that:
Here are the things that I think become better:
-Creature behaviour becomes much more realistic, as diagonal and orthagonal movement can be made perfectly identical in terms of real distance travelled, and by giving each creature a particular position with a tile it's no longer possible to have a dozen attackers standing in one tile. With animation of creature meshes, it becomes possible to make more accurate calculations of hits in combat; so it won't be so easy to kick a standing person in the face anymore, and if you aim for someone's fourth right finger and miss you might hit something else.
Doable with tiles. Give each creature a coordinate within its tile. Limit number of creatures in tile based on total volume. Hitting other parts is already somewhat handled, IIRC.
Quote
-Multi-tile creatures and constructions will handle their own visual appearance, they only require meshes (Which mostly exist already) and animations.
Meshes are more difficult to create than tilesets. Animations doubly so. It will be incredibly difficult to have meshes for procedural creatures. It will probably be impossible to make grasps look decent. (The wrestler grabs his tongue with the left hand. The wrestler bites his left leg, latching on. The wrestler grabs his left ankle with the right arm.) Simple visualizers already exist without a rewrite on Toady's part.
Quote
-Mechanical stress to constructions and natural structures become possibly easier to calculate as terrain shapes can be simplified; not to mention that meshes can collapse in swinging motions as well as straight down.
Probably difficult to convert back to tiles.
Quote
-Open space can be extended enormously without hitting performance.
Doable with efficient data structuring. I don't think this is even an issue.
Quote
-Adds the possibility of dropping tile rendering altogether, which modders would really like.
Which modders? Certainly not the tileset makers.
Quote
-Gases such as mist and miasma no longer have to be so taxing to simulate, they can be replaced with moving points that say "at distance x from me, the density of gas y is z".
Maybe. Is this traditionally an issue? It seems like fluid and temperature are the real problem. How does a mesh-based model handle temperature?

Lastly, there's a question about performance. DF can have tons of objects existing on many z-levels. If you switch to a mesh-based system as you've described it, that means you must draw all objects in sight. You must draw all objects in a tile at once, not iterate through their sprites. Each object now has many more polygons. Those objects are also going to get in the way of the camera and make fort designing a pain.
Creature meshes can be created from the raws rather than manually created, only a couple of properties have to be added for each part (position on parent, i.e. and splitting relative size into box proportions). Other objects would need meshes, but unless the meshes are relevant to pathfinding or a more physically based type of combat simulation than the one we have now, they can just be boxes. Mugs, a box. Workbench, a box.
For mechanical simulation, I'd say converting it back into tiles is the easy part:
Spoiler (click to show/hide)
The grasping issue would only be a problem with megabeasts since you can't see regular creature animations without a 3D visualiser, but should take care of itself once weird and improbable positions in combat get sorted out.
Gases definitely are hard on the processor right now, but the method I've suggested for gases isn't mesh based. To make a mesh based way of simulating fluid would open up a similar method for gases, but one can have something like this too:
Spoiler (click to show/hide)
Mesh based gases might be better for this particular game (measuring from dots is efficient but would cause combat bugs), but first fluid would have to be figured out.

As for the issue of how to render all this, nothing in the appearance has to change significantly for Dwarf mode. Because meshes render by being approximated to a tile grid, they can render the same as the current tiles too, rendering only one layer at a time and iterating through each object on a particular tile.

Thanks for being the first person to reply with something other than "It changes something fundamental, therefore it requires a complete game rewrite" though!
Logged
How to have recursive Fun:
Have Fun
Reclaim fort
Destroy your main graveyard with a cave-in

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #24 on: January 06, 2016, 07:08:15 pm »

The main reason that's the most common reply is because it's a very serious, very real problem. I don't think the benefits of such a switch would even remotely outweigh the cost (in time) of making it.

Xazo-Tak

  • Bay Watcher
  • *Camping forever*
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #25 on: January 06, 2016, 09:46:01 pm »

The main reason that's the most common reply is because it's a very serious, very real problem. I don't think the benefits of such a switch would even remotely outweigh the cost (in time) of making it.
Name one required change that'll be difficult, other than the pathfinding one (which we'll need to prevent dwarves from getting stuck anyway even if we stick with tiles).
Logged
How to have recursive Fun:
Have Fun
Reclaim fort
Destroy your main graveyard with a cave-in

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #26 on: January 06, 2016, 09:59:41 pm »

I can't name a required change because it's a fundamental change. This game has had 13 years of development and all of that would have to be redone with the new worldtype in mind.

Xazo-Tak

  • Bay Watcher
  • *Camping forever*
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #27 on: January 06, 2016, 10:00:48 pm »

I can't name a required change because it's a fundamental change. This game has had 13 years of development and all of that would have to be redone with the new worldtype in mind.
I've already named the required changes.
Logged
How to have recursive Fun:
Have Fun
Reclaim fort
Destroy your main graveyard with a cave-in

Dozebôm Lolumzalìs

  • Bay Watcher
  • what even is truth
    • View Profile
    • test
Re: Using the tile system as a proxy to something mesh based
« Reply #28 on: January 06, 2016, 10:03:08 pm »

Name one good reason why this is that superior to tiles. It'll still take a very long time to implement, and that time could be better spent working on the lengthy dev plan. He's only got the next 60 years or so, not forever. :P

Although I must say this is a rather good suggestion (much better than most modern-game-like suggestions) it'd be rather far down the priority list, if it was on it at all.

I can't name a required change because it's a fundamental change. This game has had 13 years of development and all of that would have to be redone with the new worldtype in mind.
I've already named the required changes.
Oh no you haven't. The BASIC STRUCTURE of the entire game is based around tiles. That would take years. You have to RE-IMPLEMENT THE ENTIRE GAME around meshes.
Logged
Quote from: King James Programming
...Simplification leaves us with the black extra-cosmic gulfs it throws open before our frenzied eyes...
Quote from: Salvané Descocrates
The only difference between me and a fool is that I know that I know only that I think, therefore I am.
Sigtext!

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Using the tile system as a proxy to something mesh based
« Reply #29 on: January 06, 2016, 10:12:01 pm »

I can't name a required change because it's a fundamental change. This game has had 13 years of development and all of that would have to be redone with the new worldtype in mind.
I've already named the required changes.

??? Alright, then I'll try to name some difficult things.

1. Positional logic, especially as it relates to pathfinding, movement in general, fluid physics, combat, stockpiles, buildings... wait, I'm listing everything in the game.

2. Modding issues. Despite what you seem to think somehow, this would be significantly more difficult to mod for than the current system. Meshes are difficult to work with. Numbers representing positions relative to some origin (as I assume you're referring to) are not really intuitive at all.

3. Visuals. Armok 1 is an uglier game than Armok 2. A mesh-based game would likely look far uglier than a tile-based game. Vaguely cat-like boxy things are harder to recognize as a cat than the letter 'c', simply because a vaguely cat-like boxy thing also looks like a vaguely dog-like boxy thing. The best way to mitigate this would be texturing, and there you go making it harder to mod again.

4. UI. Designations would become more complicated and switching to meshes won't magically make the rest of the UI any better; in fact, the likely lack of slice-based rendering makes the UI in general far worse than it currently is. That will have to be redesigned as well. Viewport isn't that big of a problem, actually.

5. Dimensions were already a fairly difficult problem. Meshes suggest an exclusively privileged fourth dimension as opposed to, for example, one that can be traveled through at-will by certain agents or the player's viewport.

6. Looking in directions that aren't top-down would be silly when embarks are only a certain size.
Pages: 1 [2] 3 4 5