[GENERAL] Background image selection - per set? Per level? Other?

Started by namida, July 02, 2016, 02:44:39 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

So, in regards to backgrounds images (not mere colors) - I'm wondering how this should be handled.

Current experimental code allows a theme to specify a background image; all levels using that theme would have the same background image. (For those who aren't up-to-date on the development side of things - you can pretty much think of a "theme" as being the primary graphic set of a level (since it's now possible to use multiple sets in a level)). This means - assuming level designers do indeed ensure their theme is chosen based on the "primary" graphic set - users don't have to get used to many different backgrounds for the same set. (Of course, there'll be an option to disable backgrounds for those who find them annoying.)

The suggestion has been floated more than once that the decision should be per-level, rather than per-theme. I see both good and bad sides to this - more flexibility, but it does mean we may end up cluttering up the "backgrounds" folder with images that are only used for a single level. Mind you, there's nothing stopping someone from achieving the same under the current system - just that the clutter would be with extra whole themes, not just extra backgrounds.

A midway proposal is to still tie the selectable backgrounds to the theme, but allow a theme to offer more than one background. However, this really just feels like a "jack of all trades, master of none" solution and I feel like it would be better to go towards one end or the other here.

What's everyone else's thoughts on this?
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

namida

Another idea suggested in chat was to have a "background" object type - possibly just a moving background with its speed set to zero, although I would prefer a different type for backgrounds that aren't intended to move (as these would tend to be very large, and moving objects need to be redrawn each frame, the result = probably awful lag if someone did decide to give one non-zero speed, which we all know someone will try eventually) - and if one is detected, draw it in the same way as backgrounds currently are, which is quite performance-oriented (definitely a HUGE improvement over the stable version just using the normal object drawing code). This would provide the flexibility of the current kludge (of using no-effect objects) - even more so since the new code allows mixing sets - but also the performance of the current experimental version's background code.

I'm not sure how I feel about this idea now, but I'm certianly open to it if people think it's the best way to go. I don't think it would be overly hard to implement.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

bsmith

I like the background object idea.  Each graphic set can have its own default background with customization being simple by swapping in a custom background object.

But I also think that the background should be strictly stationary.  Motion should be reserved for more important game elements - exits, traps and hazards, lemmings, etc.