Good point, I know I find it annoying when I ask for specifics and get vague generalities.
One example of the “weird glue code” that needs to be re-written (and possibly excised) is most of game::vertical_move. For example, game.cpp lines 8633-8687, using the current mainline dev version (3c70c94). Likewise for the code which saves monsters, clears them, and then semi-randomly re-adds them based on where the stairs are.
I do admit that z-movement will need some special treatment, just because gravity makes it not interchangeable with xy-movement, but we do want it to be treated as movement rather than teleportation. And really, it would be best if game::vertical_move were removed, in favor of having plmove (or some other similar function) being given a 3rd coordinate.
[quote=“Soron, post:61, topic:1229”]Good point, I know I find it annoying when I ask for specifics and get vague generalities.
One example of the “weird glue code” that needs to be re-written (and possibly excised) is most of game::vertical_move. For example, game.cpp lines 8633-8687, using the current mainline dev version (3c70c94). Likewise for the code which saves monsters, clears them, and then semi-randomly re-adds them based on where the stairs are.[/quote]
What’s the problem? What is it not doing and what do you want it to do, in order to achieve what?
I do admit that z-movement will need some special treatment, just because gravity makes it not interchangeable with xy-movement, but we do want it to be treated as movement rather than teleportation. And really, it would be best if game::vertical_move were removed, in favor of having plmove (or some other similar function) being given a 3rd coordinate.
To achieve what? What more do you want there to be when player or anything else moves up or down stairs but simply to appear on a level above or below they were previously at? What more can there possibly be with ASCII graphics?
In the latest episode of Z-levels (starring Basement Bear™) the player would see, among other surroundings, this:
Bare in mind that this is including some form of Z-level view like Scrolling or Alt<>
V indicates a hole with ground below. v is a slope.
|Vv. . . . . .@
|########
|V@. . . . . . .
|<#######
|V .######
|@^ .#####
|V#######
|^. . @. B##
Sure there is no visible difference until you use the level function.
But they exist at the same time. Neither is frozen, paused or destroyed from active memory.
Basement Bear™ could at any time climb up from the basement and wreck the players day.
In the latest episode of Z-levels (starring Basement Bear™) the player would see, among other surroundings, this:
Bare in mind that this is including some form of Z-level view like Scrolling or Alt<>
V indicates a hole with ground below. v is a slope.
So you want side scrolling instead of top-down view game ?
Sure there is no visible difference until you use the level function.
But they exist at the same time. Neither is frozen, paused or destroyed from active memory.
Many of the most popular and top selling games, not just 2D and top-down view but including even 3D ones, keep levels/areas separated without any possibility to see one from another or interact between in any way.
Beside DF, can you give me example of any other 2D top-down view game that does what you want?
Basement Bear™ could at any time climb up from the basement and wreck the players day.
[quote=“LazyCat, post:64, topic:1229”]Many of the most popular and top selling games, not just 2D and top-down view but including even 3D ones, keep levels/areas separated without any possibility to see one from another or interact between in any way.
Beside DF, can you give me example of any other 2D top-down view game that does what you want?[/quote]
Fallout 1, 2, and tactics, The Sims, and one could argue Civ II: Test of Time implemented it as well.
Now you can argue about how 2d those are and you can argue iso vs top-down, but Civ at least did exactly what they want. Regardless, it doesn’t really matter whether or not is been done before. I mean at one point no one had made any true 3d games, and look how that turned out.
The dev team has expressed their desire and clearly stated that they are not interested in expanding the current system as you apparently wish to. So how about you accept their decision and stop trying to flog the same poor dead, zombified, and re-dead horse.
[quote=“GunnerX, post:65, topic:1229”]Fallout 1, 2, and tactics, The Sims, and one could argue Civ II: Test of Time implemented it as well.
Now you can argue about how 2d those are and you can argue iso vs top-down, but Civ at least did exactly what they want. Regardless, it doesn’t really matter whether or not is been done before. I mean at one point no one had made any true 3d games, and look how that turned out.[/quote]
There is nothing to argue, the difference between top-down and isometric view is more than obvious, not mention limits of ASCII graphics. It does matter what has been done and what hasn’t, it proves games can be great without it.
The dev team has expressed their desire and clearly stated that they are not interested in expanding the current system as you apparently wish to.
No, they just don’t realize yet what they desire would fit in this game like cactus fits in an ass.
So how about you accept their decision and stop trying to flog the same poor dead, zombified, and re-dead horse.
- “Hey, kiddo. Let Mom and Dad talk for a minute, will ya?”
Spider-Man (2002)
[quote=“LazyCat, post:64, topic:1229”]Do you know this game actually has top-down view?
So you want side scrolling instead of top-down view game ?[/quote]
Symbolism you {derogatory comment about another users intelligence}
I am using a side view of the 3d game… Not that hard to figure out.
Displaying a 3d universe would take ages to draw in paint.
Many of the most popular and top selling games, not just 2D and top-down view but including even 3D ones, keep levels/areas separated without any possibility to see one from another or interact between in any way.
That isn’t the point. Levels/areas/sections are different from vertical space.
Look at Quake (FPS) the people above and below you still move.
Look at most Call of duties, they have people run around in buildings.
Three dimensional displayed games are the best way to display a 3d environment. Not the only way.
And ruling out the single most advanced Rogue like is retarded. It is a perfect example of why we can do this.
Basement Bear™ could at any time climb up from the basement and wreck the players day.
That is what they do. Isn't that enough?
[/quote]
[/quote]
They don't do that yet... If you go down then back up they have a CHANCE to SPAWN, not move up on their own accord.
THAT IS THE ENTIRE POINT!
THE ENTIRE GAME NEEDS A REWORK FOR FUNCTIONAL Z LEVELS!
Beside DF, can you point any other 2D top-down view game that does what you want?
They don't do that yet... If you go down then back up they have a CHANCE to SPAWN, not move up on their own accord.
Yes, they do that. There isn’t any chance involved, if they are tracking or attacking you they will follow you up or down stairs and slopes. Vanilla build has bugs in that particular part of the code so it doesn’t always work and monster may spawn away from stairs, but in my mod it works fine. Try it and see for yourself.
[quote=“LazyCat, post:68, topic:1229”]THAT IS THE ENTIRE POINT!
THE ENTIRE GAME NEEDS A REWORK FOR FUNCTIONAL Z LEVELS![/quote]
Nonsense. Z-levels are functional, and if you want to be able to see multiple levels it can be done with less than dozen lines of code. I already said I did it and gave up from the idea as it does not look good, because if you draw ground layer any level above just looks like it’s on the ground floor.
This is new church bell tower on 3rd floor looking down at the ground level. Is that what you want?
I’m guessing this is why turrets mysteriously spawn clones if I save outside a bunker or in a lab?
What if you make the lower z-levels “grayed-out?” There’s clearly no way to make things smaller since the game already uses the smallest display units available, but changing the color would be a reasonable alternative. It could keep successively graying out as you get higher and higher until everything is black and white and you’re like “Is that npc friendly pink or hostile red… can’t tell, not taking chances…”
Huh, didn’t notice the poster above made the same suggestion. Guess that’s what I get for not reading the whole thread.
LazyCat, I already provided you with a list of the stuff we’d like to see that the current system doesn’t handle well enough. Others have given quite effective examples.
We want a 3d game. We want everything that comes with a 3d game. Being an ASCII game in no way precludes this being a 3d game, it just limits our ability to communicate a 3d display. That’s fine. We’re not looking for a 3d display, we’re looking for 3d mechanics. If you don’t want, or care about, 3d mechanics, that’s fine too - but many people do. So that’s where we are going. And your stuff isn’t good enough for that, so no, it’s not getting in.
Both graying out and using different size fonts is possible, but don’t expect to see it in vanilla build because they will stick to Linux and console graphics, so they are stuck with very limited color resolution and single size font. The main reason however you will never, ever see multiple z-levels in vanilla build, the way they are supposedly planning to do it, is because processing even one additional level beside the one player is on would monstrously cripple the game speed.
When you go into missile silo, do you really care you can not see levels above or below? When you go into temple, do you really care you can’t throw a grenade down the stairs? Millions of other games don’t care about it, which makes it ludicrous it’s somehow not good enough for this game with ASCII graphics.
[quote=“GlyphGryph, post:74, topic:1229”]LazyCat, I already provided you with a list of the stuff we’d like to see that the current system doesn’t handle well enough. Others have given quite effective examples.
We want a 3d game. We want everything that comes with a 3d game. Being an ASCII game in no way precludes this being a 3d game, it just limits our ability to communicate a 3d display. That’s fine. We’re not looking for a 3d display, we’re looking for 3d mechanics. If you don’t want, or care about, 3d mechanics, that’s fine too - but many people do. So that’s where we are going. And your stuff isn’t good enough for that, so no, it’s not getting in.[/quote]
Almost nothing you have in the game is good enough for that. You are already merging and rewriting lots of stuff that is not good enough for that either. How is my church bell tower any worse than office underground garage for example? Have you even tried it?
[quote=“LazyCat, post:76, topic:1229”][quote=“GlyphGryph, post:74, topic:1229”]LazyCat, I already provided you with a list of the stuff we’d like to see that the current system doesn’t handle well enough. Others have given quite effective examples.
We want a 3d game. We want everything that comes with a 3d game. Being an ASCII game in no way precludes this being a 3d game, it just limits our ability to communicate a 3d display. That’s fine. We’re not looking for a 3d display, we’re looking for 3d mechanics. If you don’t want, or care about, 3d mechanics, that’s fine too - but many people do. So that’s where we are going. And your stuff isn’t good enough for that, so no, it’s not getting in.[/quote]
Almost nothing you have in the game is good enough for that. You are already merging and rewriting lots of stuff that is not good enough for that either. How is my church bell tower any worse than office underground garage for example? Have you even tried it?[/quote]
The point isn’t how the current code isn’t good enough, or what content is added to the game by your code, you’re duplicating an old hack that made the game pretend to be 3d. The point is that it isn’t worth cluttering up, changing, or confusing the relevant code (more than it already is) before the eventual rewrite, as it’ll just slow everything down.
There are plenty of genuinely 3d ASCII games that can be navigated, run fast, and properly process all the different levels, and I think this would be an excellent addition/change to the game.
There are a huge number of things that can be done in 3d that just don’t work in faux-3d or 2d.
It’s not any kind of hack, it’s how every single 2D top-down view game is doing it, Dwarf Fortress too. There is no better way to store two dimensional maps than two dimensional arrays, even if they are layered over multiple z-levels.
The point is that it isn't worth cluttering up, changing, or confusing the relevant code (more than it already is) before the eventual rewrite, as it'll just slow everything down.
How is my church bell tower cluttering the code any more than office underground garage or any other new building recently added? It’s the same code, it’s the same thing.
There are plenty of genuinely 3d ASCII games that can be navigated, run fast, and properly process all the different levels, and
I really like what we have now, it’s stable enough to play and has a lot of variety; there’s a lot of fun things to do and it works so I have no complaints.
Egos are funny things, they can drive people to create great stuff, and they can drive use to defend our sometimes incomplete creations against constructive criticism because it’s our creation - sometimes folks intrinsically link their ego to their project. What matters is a good final result, not practicing our argumentum ad nauseam skills or calling each other names; we wouldn’t need threats of thread moderation if we all made the small effort to remain objective.
That being said, I’d love to see a good Z level system in DDA, but I’m also willing to let the developers do what they do: sort out cruft and make sure that the final result contributes to improving gameplay in a meaningful way that meets (and usually exceeds) expectations.
Other games don’t require multiple Z-level endeavors because there are very few functions that would need it.
DF and Cataclysm, on the other hand, can make amazing use of it.
Your current code is good-looking but it’s built on shaky, bad code. Whales made a z-level system that PRETENDED to work, and for most functions it was fine.