Minimizing the number of backgrounds in first-person games

Started by RootBound, Thu 28/09/2023 18:54:19

Previous topic - Next topic

RootBound

Hey all,

I'm just beginning to develop another first person game, and I have some really big design decisions to make. The main one is how to avoid, wherever possible, having to redraw the same background from multiple angles when the player travels in different directions. The most obvious example would be the same hallway drawn twice, one from each end, but that's not really what I'm concerned about.

To illustrate, here are two screenshots from MYST:




This is the same staircase, seen from the top and from the bottom. I'm wondering if there's a way to compose backgrounds in ways that work in both directions.

What do I mean by that?

Here's another MYST example:



I feel like this image could do "double duty" in that, once you reach the bottom of the stairs, it works both as a "reached the bottom" image and as a "starting from the bottom" image. No need to draw the bottom of the stairs from both a "looking down" and "looking up" perspective.

However, the staircase itself would still need a background image for each direction. That feels unavoidable. But is it?

Another option would appear to be skipping the staircase itself altogether and having no "liminal" or "transitional" spaces like that, which would always need to be drawn from both directions. But that seems like it would make the world a lot smaller and thus greatly reduce immersion.

I could also do a "map" between each location like @lorenzo just did with "A Stranger in Utopia" (good game, you should play it), but I'm going for a more "walking between each place" feel.

Perhaps it's impossible to compromise on this (it may simply be an inherent component of the first-person POV), but I feel like there must be creative ways around it.

For example, with a ladder, facing the ladder itself instead of facing up or down it would save the need for multiple perspectives. It's vertical movement only rather than forward/backward. But that doesn't work with staircases or, e.g., forest paths. I can't make it vertical movement everywhere.

And to be clear, I'm certainly not opposed to drawing *some* backgrounds from multiple perspectives (it seems futile to attempt to avoid this altogether). Rather, I'm trying to find a balance between full immersion and not doubling or tripling the amount of backgrounds I need to draw. If it was all pre-rendered like MYST, this wouldn't be an issue, but alas, I am a drawer and not a modeler.

Any ideas or advice? Any first-person games that handle this well? I'd love to see more examples of well-composed first-person backgrounds that allow for traversal in multiple directions with one image, but it's hard to know where to start looking for that.
J. They/them. Here are my most recent games:

eri0o

Myst was rendered from 3D, so by using cameras and re-rendering I imagine new screens weren't that hard.

If you are drawing your scenes by hand, have you considered using some 3D software to create at least a basis of the map and then render from it?

The other approach is to create some structure in the rooms with some in-game excuse for it (e.g. it's a dungeon!) and then re-use things like doors and other things you can use to compose the door - and maybe also changing the hue of things so they are tinted differently.

But for your point, I think that if there is verticality and you need to look in the opposite direction you will invariably want two different views of the scene.

Is there a specific style you are using for the game? Or some specific story constraint? I would think maybe there's some room at the design stage to leverage these for resource usage.

My usual technique of reusing rooms (in general) is to have it have things and later remove things from it (like a character there) and have the player pass in that same room but now that something is different the logical part of the room is different.

RootBound

Hi @eri0o , thanks for chiming in. I have thought about trying to do some basic 3D rendering, but the programs I have tried in the past (Blender, Unity's built in modeler) have taken a long time to learn and have very complicated documentation and very time consuming tutorials. Google Sketchup was OK but that seems to be not free or not existing anymore. Are there any other free rendering programs that are maybe simpler in functionality (I don't need to render characters or faces, for example), and which due to being simpler are faster to use? I feel like I read about one recently but have forgotten the name...  :-\

The structure of the game world is similar to MYST in that you begin with a sort of "home base" area (about 6 rooms), and from there travel to 5 other places (each also around 6 rooms, about half of them outdoors). Reusing parts of rooms is possible in some places, but not most. So with a total of around 36 rooms already, drawing a lot of them from differing angles could mean 60 or more screens, plus cutscenes. 8-0

I'd really like to bring that number as far down as possible, or at least find ways to DRASTICALLY speed up my workflow with regard to drawing background scenes. Rendering in 3D and then tracing could do this, but only if the rendering program doesn't take forever to learn.

With regard to world/story constraints, I can try to place more limits on some of these rooms (having certain places be "one-way" for example, so you can't turn around), but that won't work in more than a small number of places. Other than that, I'm going to need to either accept that some locations need multiple versions or else find VERY clever ways to limit the need for looking in different directions. It's certainly a complex thing to figure out.
J. They/them. Here are my most recent games:

cat

I LOVE seeing different views of the same area, like close-ups or different angles. I think this make the world more realistic and immersive.

The question is, what is the overall feeling that you want to achieve? If it's a bit "vast, empty landscape", you can just reuse screens by having a few basic room backgrounds and enriching them with a tree here and a rock there.
If it's the opposite, it might be worth condensing the game design. Some games feel more dense and interesting if rooms are reused for different purposes. So instead of having 5 locations with 6 rooms, you could make 4 locations with 3 rooms, but two close-ups each.

Another idea could be using photographs. This is especially useful for transition screens and you can easily do different perspectives of the same room. Have a look at The Oracle for a great example.

heltenjon

My suggestion is of course a way of cheating.  :-D  If you create a background, then chop a third of it  and use that at the edge of another background, you can make the impression that you have turned. Not much work saved, but a bit less to draw. (Note that this is the lazy guy's solution, and not a recommendation.)

morganw

If the image was not actually a first person view, but just a camera angle, you could mask parts of the image and reveal them as the (invisible) player moves into a position where they could be seen. Or to put it another way, a portion of the image represents the players location, rather than the entire image.

e.g. when on the stairs you just show the stairs, after descending the stairs you reveal the chest and mask the stairs

You could also render the previously visited parts of the image in grayscale to indicate that they have been visited but do not represent the current location, so each move still causes a visible change on the screen.

RootBound

@cat thanks for the game rec, I will check it out!

@heltenjon I'm trying to picture this and I think I get it--do you mean it creates the illusion of turning while standing still, like looking toward different walls within the same space? That could be useful, thanks.

@morganw that is definitely a different way of thinking about it! I will have to give it some consideration and see what creative options might lie in that direction!
J. They/them. Here are my most recent games:

LimpingFish

If you were to use pre-rendered CG, a handy way to squeeze the most out of fewer backgrounds would be to use the Panorama or Panorama3D modules to let the player "look around" a location.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

heltenjon

Quote from: RootBound on Fri 29/09/2023 20:12:19@heltenjon I'm trying to picture this and I think I get it--do you mean it creates the illusion of turning while standing still, like looking toward different walls within the same space? That could be useful, thanks.
Yes, that's it. If say, a recognizable lamp was to your left and now is on your right, you seem to have turned. I've encountered this mostly in escape the room-games on mobile phone. It works best with objects that may look the same from different angles, like a round lamp.

RootBound

Thanks @heltenjon . I was thinking more about this and realized that drawing a few layers parallax style might make this type of turning situation easier as well--seeing it as one larger background instead of multiple screens. That definitely makes it less daunting.  (nod)

And @eri0o and @cat , with regard to reusing elements, i also realized that, for example, when going down a hallway, I can draw the "end of the hallway" screen first, and then shrink it to use as part of the "farther away" screen. That would speed things up too.  :)

Really interesting discussion here, and I appreciate all of the input!   ;-D
J. They/them. Here are my most recent games:

eri0o

About being the 3D modeling stuff, what I use, just to have a general idea and to draw on top later is Wings3D, which is a very old-school software but the modeling concept in it is simple and similar to SketchUp - which still exists btw but now runs in some web environment.

But there are other approaches, for having a basis, like making a simple real model and taking photos - or more easily, going to a physical place you find interesting and just taking real photos in different places (or even just using Google Street View for this).

RootBound

@eri0o great ideas, thanks! I'll look at wings3d too.

You all are really helpful here.  :-D
J. They/them. Here are my most recent games:

Stupot

As well as all the great technical suggestions in this thread already, it goes without saying that you don't have to have a particular view from a reverse angle if there's no need to have it. If there is nothing meaningful to pick up or interact with, then cut the view. Jump straight to the bottom of the stairs or the end of the corridor.

jwalt

Quote from: eri0o on Sat 30/09/2023 16:20:46About being the 3D modeling stuff, what I use, just to have a general idea and to draw on top later is Wings3D, which is a very old-school software but the modeling concept in it is simple and similar to SketchUp - which still exists btw but now runs in some web environment.

But there are other approaches, for having a basis, like making a simple real model and taking photos - or more easily, going to a physical place you find interesting and just taking real photos in different places (or even just using Google Street View for this).

You might also take a look at Anim8or. It has limits, but has been about the only modeler I've made any progress with.

eri0o

I haven't ever used anim8or, looks... Different. Curiously googling about it, half the results are about some character I have no idea who is, but Steam suggested me a game that has graphics that looks straight from this tool.

Danvzare

Quote from: eri0o on Mon 30/10/2023 11:53:09I haven't ever used anim8or, looks... Different.
Same here, so I downloaded it and tried it out.
Wow is it easy to use.  8-0

It's not perfect, but it's certainly much more user friendly than Blender.
That being said, it also very clearly shows its age in some of its design decisions.

cat

Hi @jwalt, nice to see you back here on the forums, it's been a while!

SMF spam blocked by CleanTalk