CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.11k stars 4.11k forks source link

Status overlay redesign #54685

Closed AlbertTheTerrible closed 1 year ago

AlbertTheTerrible commented 2 years ago

Is your feature request related to a problem? Please describe.

Statuses and other effects to the player are in an awkward position where they can be used to display some crucial information but the current available methods to display them make the current system kind of awkward, here's some issues I describe bellow.

  1. Their position is fixed, so they occupy a single spot whether there's more effects around it or not

image

  1. Their position flips when you change direction, which makes their display hard to read (sorry for bg music)

https://user-images.githubusercontent.com/80914993/150660387-1bf19b54-8621-40af-b061-e60f60fe6bed.mp4

Solution you would like.

I would suggest a 2 part system to the overlay status system:

A way to notify the player that a new status was activated and a place where these effects would remain visible while they were active (like a sidebar)

Here's my suggestion to these systems

Displaying a sprite temporarily above the player.

notif

This is a simple sprite with a simple animation that lasts 1 second to disapear. The fade in and out animations are not required to be included, they are here just for demonstration purposes (if they could be done automatically with the implementation of this system great , but that might lead to issues with how other tilesets might want to notify the player, so for a simpler thing i'd suggest making an image pop for X time and leave the effects to the tilesets )

Collect statuses in a sidebar of some sort

sidebar_notimer

This could be placed somewhere convenient that wouldn't interfere with vision. This could also add extra functionality to status overlays. We could color code the sprite's bg to indicate if it's a serious threat or not

image (these would be in the sidebar, not above the player)

We could even add timers to make it easier to see how long is left on an effect, if the effect is temporary

sidebar_timer

Describe alternatives you have considered.

I got reminded that there was interest from another amazing contributor to make a widget for status effects, so it's functionally similar to the sidebar suggestion. We could eventually even work our way to add support for sprites on widgets 👍

Additional context

No response

I-am-Erk commented 2 years ago

I will try to take a look at this in the next few days

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

Night-Pryanik commented 1 year ago

Closing as stale, since stalebot can't do it by itself.