![]() |
#1 |
Swordsman
Join Date: Dec 2007
Posts: 299
![]() |
Area of Effect
There's been a good bit of talk here and in the newsgroup about implementing circular area of effect in V. I strongly agree with the idea that screen-size area of effect for detections is broken, but I argue that circular detection AOEs are at least as bad. It seems like I am the only person who has thought about this--or at least, nobody has posted thoughts online--and noted the inherent inconsistencies, so I'm speaking up about it.
The appeal of a circular area of effect is aesthetic. In the real world (under some idealizing assumptions), my shout or an explosion, attenuate equally in all directions, so we naively believe that such an effect makes sense in Angband. The fallacy here is the result of a discretization of a continuous world within the framework of the game. In the real world, a fireball expands in an infinite number of directions. In Angband, it expands in 8 directions. The reason this is a problem is because the 4 off-axis directions (with a "distance" of sqrt(2) times the on-axis distance--assume d 1--separating them) do not require more energy for the most mundane actions in the game (walking, running, disarming, melee), but a circular area of effect enforces that they do implicitly require more energy for magical effects. Inconsistency is always bad. The fact that we would not be able to neatly and efficiently align our detection areas is an annoying gameplay decision. Nonetheless, in such a situation I would be happy to accept annoying gameplay in exchange for realism if it didn't involve inconsistency, but the inconsistency here is the kicker. So what is the solution? Well, we could make all diagonal actions require 41% more energy, then circles make sense everywhere, but his is a gameplay problem that is far beyond annoying. If you're being meleed from more than one direction, and the baddest bad guy is on an off-axis, it's entirely unintuitive whom you should take out first, and the energy system that Angband uses for time is not equipped to handle this (though a discrete event simulator based engine could deal with it satisfactorily). Unfortunately, even if the engine could handle the solution, it still creates situations that players cannot effectively reason about, so this is a bad idea. The other solution is to accept that Angband is a discretized simulation with only 8 directions, forgo our false aesthetic, and make all areas of effect square. This leaves no internal inconsistencies, it's more efficient and easier to program to boot, and it makes detection spells easier to align. As an illustration, take a wizard (or if you're not worried about fubaring your turncount, your current character) to 50' and stone to mud as far as you can in a cardinal- then in a non-cardinal direction (this will work better if there is rock the whole way) and count how far your tunnels have gone, then try to convince yourself that this makes sense. Arrows and thrown objects behave in the same nonsensical fashion as s2m. If I'm Smaug, hurting and trying to get away from flying bolts, I'm going diagonally! I'd like to see even things like light radii and ball spell effects square, but I think this distinction has very little effect on gameplay in truth, it's a nice aesthetic, and I'm willing to live with this inconsistency; however, missiles, beams, and "unexploded ball spells" fired in all directions from a central point should certainly map out a square, as should detection spells. |
![]() |
![]() |
![]() |
#2 |
Knight
Join Date: Apr 2007
Posts: 726
![]() |
That makes some sense. What should be the area of the detection rectangle? One standard town size? Twice that, one below another? Four? Or make it a square? I try to use fonts as close to squares as I can get for Angband, but squares would still look uneven.
|
![]() |
![]() |
![]() |
#3 | |
Knight
Join Date: Apr 2007
Posts: 590
![]() |
Quote:
I'm not sure what this would do to game balance, but the following would "make sense" for forking from V: * move energy cost: 100 for cardinal directions, 150 for diagonals. [This way, energy cost is the same for moving distance three cardinally and diagonally.] * leave all action energy costs unchanged (including attacking) (Note: energy is represented as 16-bit signed, so this change does not require a data representation change.) |
|
![]() |
![]() |
![]() |
#4 |
Knight
Join Date: Jan 2008
Posts: 528
![]() |
While one -could- make diagonal movements cost 41.4% more (and, indeed, games like HoMM3 do) I'd say they shouldn't on account of...well, actually, I'm not sure why I think this. You could try modding it in as an option changeable under = and seeing how the game plays.
|
![]() |
![]() |
![]() |
#5 | |
Adept
Join Date: Jun 2007
Location: The place of virtuous unbelievers
Posts: 158
![]() |
Quote:
This is closely related to Nick's post, quoting me ![]() If turn-count is irrelevant you can just rest until you have the mana to detect the next panel (with the proviso that things will generate in that time). If you lack detection as a spell you can just recall a lot to get more detection scrolls or staves. I happen to play with settings that require four detects to detect the whole level- the first detect gets more than 25% though. This has an effect- for instance my current character found his first !Con at 4950 (EDIT: 2450)... had he detected the whole level at every level he almost certainly would have found some earlier. This was only the case because he was dropping quickly, and didn't want to waste turns recalling to get more ?detect object. I don't disagree that detection shouldn't vary with resolution/font size/ etc, but I think it's important to realize that this is not a balance issue _unless_ you care about turns, or some proxy. Last edited by aeneas; January 1, 2008 at 05:53. |
|
![]() |
![]() |
![]() |
#6 |
Apprentice
Join Date: Aug 2007
Posts: 81
![]() |
Detection range was originally one screen of old unix
computers of moria era. This means, an area of around 42x32 or so. So yes, detection as is today is much more powerful and abusable in the default configuration in most machines. If you play a little bit of UMoria and then after, a little bit of Hengband or FaAngband youll notice that the retangular area originally meant to be in Moria can easily fit inside the circular area of H/FA. It wouldn´t be bad if energy to move diagonally costs 140 or 150 for the sake of consistency, but retangular detection range is something so abstracted and full of munchknism as it is now that it gives me the creeps just to think about playing Vanilla. Dammit, the thought of having retangular detection just to make a pattern of X (number of detections) to perfectly map the level is a joke right? Maybe if circ detection is implemented, purists can imagine retangles using four tangents of the circles ![]() |
![]() |
![]() |
![]() |
#7 | |
Knight
Join Date: Apr 2007
Posts: 590
![]() |
Quote:
The weirdness is that diagonal movement is hyperefficient; bumping the energy cost to 150 for diagonal moves mostly compensates for that. (I did propose the 141 to Ben Harrison at one point, but he corrected me much the way I'm relaying now.) My concern about balance is that I'm not fully comfortable with giving free attacks on anyone just for moving diagonally. It is a balance issue because inexpensive whole-level detection makes the game easier, absolutely. Without whole-level detection, clearing levels is necessary; with whole-level detection, clearing levels is an ironman play style. |
|
![]() |
![]() |
![]() |
#8 | |
Vanilla maintainer
Join Date: Apr 2007
Location: Canberra, Australia
Age: 58
Posts: 9,560
Donated: $60
![]() ![]() |
Quote:
![]() As for detection area shape, I'm now so used to (euclidean) circular detection that it seems natural to me. I suspect there's not a canonical answer to this, but maybe I'm wrong. It has happened.
__________________
One for the Dark Lord on his dark throne In the Land of Mordor where the Shadows lie. |
|
![]() |
![]() |
![]() |
#9 |
Knight
Join Date: Dec 2007
Location: Poland, Katowice
Age: 31
Posts: 589
![]() |
Why that? It is natural that moving farther takes more times, thus giving your foes more opportunities to attack you. It would also make place for a new special item trait - something like short-distance-warping, allowing you to move diagonally at normal speed.
|
![]() |
![]() |
![]() |
#10 |
Knight
Join Date: Apr 2007
Posts: 590
![]() |
Speed is one of the more critical parts of *band game balance. On top of that, this change penalizes corner-cutting even more than V already does. Consider
Code:
@. #. #k If diagonal moves cost 150 rather than 100: * kobold is effectively temporarily speed +5 for one player turn. * unless magic mapping indicates a very long hallway, it would not make sense (without detection) for a high-damage ranged attack-competent character/monster to cut a corner because cutting the corner slows down the next attack should it be useful. |
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|