MegaMek / megamek

MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight using giant robots, tanks, and/or infantry on a hex-based map.
http://www.megamek.org
GNU General Public License v2.0
295 stars 283 forks source link

Artillery Explosion Image in Wrong Hex #121

Closed elementx54 closed 3 years ago

elementx54 commented 8 years ago

Playing a game with artillery and had a weird time trying to figure out why it looked like certain units should be taking damage but they didn't. When looking at the round reports and comparing it to the map, the actual hex the artillery scattered into does not contain the explosion. The explosion image is instead still located where the initial target was.

Attached is a save game showing the problem. You should be able to look back at the reports and see the correct hexes, if you load as player Xenon54z (or Kreedo since he has the artillery units in the convoy).

Let me know if you need anything else. Version is MegaMek 0.41.15 and log is attached. megameklog.txt

Xenon54z.sav.gz

arlith commented 8 years ago

This is intended. Perhaps it has to do with the appearance of the icon (the explosion bit), but the icon is indicating where the artillery shot was fired at, not where the round hit. This is important, because the hex fired at may now possibly have a bonus to being hit (or it's an autohit it the round actually hit). Basically, artillery can zero in on a hex by continuing to fire at a hex and missing.

You might argue, "well, how does an enemy know the hex I intended to fire at vs the hex that was hit." The answer is: that information is in the report. From a game standpoint, the information is already revealed to the player, and having the visual indicator is just a reminder of information that's already there.

elementx54 commented 8 years ago

Actually there are two icons. The first is the downward arrow indicating the targeted hex. This appears to work just fine. The second image is a picture of an explosion. I'd assume this image should be placed on the hex the artillery actual hit.

Kreedo and Xenon54z are on the same team and can see both sets of icons. OpFor is on the opposing team and cannot see any of the images; not the indicated target (which he shouldn't see) or the actual hex that was hit (which I think he should see.)

I'm not sure this is really closed, to be honest.

arlith commented 8 years ago

Ok, I'll take a look at it later.

elementx54 commented 8 years ago

That is fine. :)

No rush since it doesn't break the game as it is just an image in the wrong place. The artillery still did the right damage to the right place. And the game log shows where so take your time. ;)

pheonixstorm commented 8 years ago

There is also the third icon for adjusting fire. My opinion, the target arrow and adjust fire icons should be in the targeted hex while the explosion should show wherever the hit actually landed. I think that is how it worked previously.

arlith commented 8 years ago

Why would you want to know where the explosion scattered to? You want to know where the artillery was intended to hit; the scatter location is irrelevant after the fact, however the intended target is important, as it could have a fire adjust indicator.

The downward arrow is an inbound round indicator. I still think this is working as intended (I don't think enemies will see the fire-adjust icon). The icon tooltip still indicates that the round was a miss.

elementx54 commented 8 years ago

Ya. I mostly just wanted the explosion image to show where the artillery did land (if in LOS) instead of how it is now. Now the explosion image seems to be placed on the intended hex whether or not it hit the target or scattered. It seems like all the other images (the down arrow and such) work just fine.

The good thing about this bug is the mechanics in the game work properly and it is just an image placement issue. I don't think it should be a blocking bug for a stable release. The explosion image is just for fluff and a reminder that shells are dropping all around you and you should move your position; some people don't know what hex they are even near let alone in. It just is confusing when one looks like it landed on your unit, but really it scattered and did no damage. It takes looking back at the report to clear up the confusion.

arlith commented 8 years ago

The thing is, indicating where the round actually landed doesn't provide any really useful information after-the-fact (plus the information does still exist in the game log). However, you really want to know where you opponent intended to fire at as it could very well be easier for them to hit, and it could also provide insight into where your opponent is choosing to fire. The fact that they missed and the round scattered to some "random" location doesn't provide you with any information.

I believe that the "fire adjustment" icon is only shown for the player who missed and their allies. I guess you could argue for a new icon, for a "missed shot at this hex" and maintain the explosion only for rounds that actually hit.

SirMegaV commented 8 years ago

I think the missed shot landed here is useful for people who doesn't read the report and was wondering why his unit was damaged. But I tot it was working like that last time?

On Monday, May 16, 2016, Nicholas Walczak notifications@github.com wrote:

The thing is, indicating where the round actually landed doesn't provide any really useful information after-the-fact (plus the information does still exist in the game log). However, you really want to know where you opponent intended to fire at as it could very well be easier for them to hit, and it could also provide insight into where your opponent is choosing to fire. The fact that they missed and the round scattered to some "random" location doesn't provide you with any information.

I believe that the "fire adjustment" icon is only shown for the player who missed and their allies. I guess you could argue for a new icon, for a "missed shot at this hex" and maintain the explosion only for rounds that actually hit.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/MegaMek/megamek/issues/121#issuecomment-219415122

pheonixstorm commented 8 years ago

Do the rules have anything on if the OpFor should know which hex is being aimed at rather than only knowing where the shell lands?

As for the game log. I would prefer to see the shiny icon for the miss/hit in the hex rather than have to hunt down a hex #

Adding a target icon (same as auto hit or adjust fire) for the intended target and using the explosion for only the locations the artillery actually hit would probably be best. Especially if the target icon is tied to a specific artillery unit. The incoming round icon lacks detail on which unit the shot belongs too (as they show for all units).

Just another wordy opinion on the matter. :smirk:

arlith commented 8 years ago

I dunno if TO is clear or not; I thought that it was. Regardless, MM does tell you. It says something like: firing artillery at needs , rolls : ... And then it will say whether it hits or scatters, and what hex it scatters to. So, the firing report already gives the player both pieces of information. In my opinion, the salient piece of information is where the round was aimed at.

pheonixstorm commented 8 years ago

So just compiled a fresh copy of MM to test my new golden goose code and to check out the change to the scatter code and I observed the following.

Artillery 1 chooses hex 2125 Artillery 2 chooses hex 2515

Both hexes have the pointer arrow but neither show which unit fired at which hex. This is problem one.

Fired in round 1, fired in round two. Round 1's fire resolves. Artillery 1 misses by 3. I can see this in the round report but I don't get to see it on the map but I can still see the target arrow. What is the point of the explosion graphic again?? Also, no explosion graphic this turn. Artillery 2 misses by 1. Since the explosion has a radius of 1 I now see the explosion graphic in 2516 even though I did not get a direct hit. Eh?? I see that as a possible bug.

Next round I see the target arrow, explosion graphic, AND the fire adjust icon. EH?!?! Why do we need 3 icons to tell me where my artillery is going?

This is why I think the explosion should be where the round lands rather than the intended target. We have the arrow and fire adjust icons for the target location. The hit/miss from the round report should be shown as the explosion IMO.

I checked the rules in TO and the errata and the OpFor is not privy to the targeted hex. It can use a hit/miss to try and locate the opposing artillery for counter-battery fire. So the explosion icon should be on the hex actually hit and both sides should be able to see it while the target arrow and fire adjust icon should only be visible to the side/artillery piece in question.

neoancient commented 3 years ago

There's a lot of discussion about additional issues and no consensus, but it's plain that the original issue is working as intended.