Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make looks_like a mandatory entry for in-game objects #34230

Closed
I-am-Erk opened this issue Sep 25, 2019 · 10 comments
Closed

Make looks_like a mandatory entry for in-game objects #34230

I-am-Erk opened this issue Sep 25, 2019 · 10 comments
Labels
Accessibility Issues regarding accessibility <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON (P3 - Medium) Medium (normal) priority SDL: Tiles / Sound Tiles visual interface and sounds.

Comments

@I-am-Erk
Copy link
Contributor

I-am-Erk commented Sep 25, 2019

Is your feature request related to a problem? Please describe.
Presently there are thousands of unique objects, ranging from terrain and items to monsters and players, in game. In order to make a tileset that works, it is necessary to make most of these as unique graphics.

Describe the solution you'd like
The looks_like field should be mandatory for all terrain, furnitures, items,etc - anything that has a graphic in game. Note that copy-from counts as looks_like. The only exception should be monsters, as most monsters are better off without an icon if it would lead to confusing something for a weaker version.

Describe alternatives you've considered
Another possibility would be to have a generic fallback graphic for these things by category, eg. all weapons would have a default graphic, all monsters, etc - but that is potentially messy and does not necessarily convey any useful information. Because looks_like is managed by the content creator we can actually pick things that look kind of like what we're aiming for.

Additional context
This is one of several suggestions to make graphical content contribution more accessible.

@I-am-Erk I-am-Erk added <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON SDL: Tiles / Sound Tiles visual interface and sounds. Accessibility Issues regarding accessibility (P3 - Medium) Medium (normal) priority labels Sep 25, 2019
@I-am-Erk I-am-Erk added this to To do in Better Tileset Implementation via automation Sep 25, 2019
@KorGgenT
Copy link
Member

codewise this isn't hard: the hard part is adding looks_like to all the json entries. so, if someone wants to do the json i'd be happy to do the C++ here

@kevingranade
Copy link
Member

Remember to check src == "dda" so we don't break mods, yet.

@Maddremor
Copy link
Contributor

A sort of fallback could be to assign default tiles to abstract objects from which actual items are created using copy-from.

@moxian
Copy link
Contributor

moxian commented Sep 26, 2019

How do you suggest dealing with objects that don't have "look alikes"? What does Mi-Go look like? What does a backpack look like? What does a door look like?

Do you propose assigning looks_like for those to arbitrary other objects (since there's no "good" match for them anyway)?

@Fris0uman
Copy link
Contributor

So for exemple: we have a bunch of different backpacks, so let's say all the backpack variants looks_like backpack then what does backpack looks_like? Does it become the reference and doesn't have a looks_like field or does it looks_like an other backpack variant, and then don't we have a problem with circular reference?

@I-am-Erk
Copy link
Contributor Author

I-am-Erk commented Sep 26, 2019

We probably need a root item abstract for general categories, so backpack would looks_like "wearable" or something, mi-go would looks_like "monster". The trick would be to not let people overuse this, and to have those root categories

@kevingranade
Copy link
Member

Implementation wise, there would be a whitelist of items, monsters, terrain, etc that must have a tile.

This would be a whitelist instead of an entity property for several reasons. It makes it easier to enumerate those mandatory tile entities for tileset creators, and it makes it more obvious in code reviews when someone attempts to add a new mandatory tile.

@hexagonrecursion
Copy link
Contributor

I would argue that looks_like should be optional for mobs. One of the reasons I use tiles is that it makes it easier not to confuse one monster for another. C:DDA has an impressive bestiary of monsters many of which are not generic - each may sometimes require unique tactical considerations. I much prefer mobs looking ugly to the game misleading me about the threat I am facing.

@I-am-Erk
Copy link
Contributor Author

Yes, it's interesting this issue is old enough to still include it, because not long after I changed the tune. I'll update the issue to suit.

@hexagonrecursion
Copy link
Contributor

most monsters are better off without an icon if it would lead to confusing something for a weaker version.

It's not just weaker or stronger. It's not a linear spectrum. Some monsters shoot acid, some zap electricity, some can jump, some can grab you, some can knock you down, some can throw your character several tiles away etc.

Better Tileset Implementation automation moved this from To do to Done Apr 22, 2022
User Experience automation moved this from Behavioral/presentation consistency to Done Apr 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accessibility Issues regarding accessibility <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON (P3 - Medium) Medium (normal) priority SDL: Tiles / Sound Tiles visual interface and sounds.
Development

No branches or pull requests

7 participants