Prerendered scenes like Final Fantasy and Resident Evil

I recently picked up Blender again because I had to do some fine adjustments to a base mesh for sculpting in z brush. Then I thought how cool it would be to make a small demo of a movement camera system in the blender game engine that would work like an old Final Fantasy game.

Prerendered backgrounds with a panning camera that follows the character when he reaches a point close to the edge of the camera’s view. There would be two problems to solve.

  1. Camera panning when the character reaches a point close the the edge of the camera’s view.
  2. Aligning the invisible floor the character would be walking on with the pre-rendered background.

Obviously the scene and the character would first have to be created, and a nice perspective for the camera has to be established. You’ve also got to figure out how many entrances exists the scene will have. So depending on from what other map the player is coming from the camera’s location will have to be stored.

For the invisble planes the character would be walking on I think you would have to first draw out the horizon then draw perspective lines from the camera to the horizon and try to align the ground with that line. But the camera won’t be moving yet when you start the scene and see the character run around on the invisible planes.

I think extruding a cube from the camera’s viewport and aligning the edges of the cube with the edges of the camera’s view, then pull in the edges of the cube until they’re at the position at which point you would want the camera to start following the character…that might work right. So when the character runs into the edges of the cube that is extruded from the camera the camera would start panning with the character, but the character would be off the center of the camera so I guess the camera would quickly snap to the character…

So a cube in the middle of the camera’s view the character would have to be parented to, then when the character collides with the edge of the cube the character would be parented to the cube that is in the center of the camera’s viewport of vice versa and then the cube would follow the z/xy axis the character is walking in and the camera in turn would pan with the cube. Then when the camera’s viewport reaches the edge of the background the center cube would be unparented to the character.

Does it make sense? Anyway I’m not much into logic bricks or python scripts, I haven’t played with those for years but if anyone would be willing to try make this together I’ll join you. I’m decent at sculpting and we could probably make a really neat little final fantasy demo for blender. It would be fun, here is some of my work.

Those are quite old at this point btw, I could make a cool Final Fantasy guy that could run around in the scene, then we make props for the scene and then hopefully any of you guys who read this, coders and python guys would figure out how to do the camera. My idea above might help or give you guys an idea what has to be done.

We might end up with something like this:

So anyone up for the challenge, just for fun?

If you’re building your pre-rendered scenes in 3d, you might as well put the invisible plane in that scene, so it exactly matches the geometry, and then just import that plane to the game. That wouldn’t work for hand-painted scenes, but it would be fine for a scene that you build in 3d and render to an image. You could also just import the camera positions from that scene into your game, so the camera always matches perfectly with where the scene was originally rendered from.

The problem with trying to create a Resident Evil / Final Fantasy 7 style pre-rendered background scene is the lack of the ‘screen projection texture mapping’ that Monster brings up in the thread he links to above. It doesn’t seem that Blender has this particular feature.

Basically, it just takes whatever pixels of geometry are mapped with that texture and replaces them with pixels from an image projected to the screen space – your pre-rendered background. Essentially a ‘green screen’ effect.

This is a trick that’s been used for years in games. I scratch my head and wonder why Blender can’t do such a thing.
(or maybe it can?)

As a side note, the Blair Witch Project game (at least the first one, I can’t vouch for its sequels) pulled off this technique really well. It let’s you go into a ‘ghost-vision’ first-person mode, so you can actually see the background meshes that make up the boundaries/dynamic lightmaps for the static-cam shots. Very cool.

Aside from an artistic point of view, does it still make sense to use a pre-rendered background? I mean, even with embedded chips the amount of 3D stuff you can put on a static scene is quite amazing.

It is a different style of concept. It allows you to focus on game details rather than on a 3D world.

Look what you can get:

  • no camera collision
  • you just have objects that allow interaction, everything else can be just an image
  • simplified models all other the visible scene
  • much less UI-complexity
  • allows non-3D Elements (e.g. hand drawn objects)
  • much faster game development
  • does not need high-end systems to run on.

It has it’s drawbacks too, e.g. no camera paths.

yeah, I think you could even use a fake camera path by moving the background at the same rate the camera moves over, 3d objects would need to have care how they are placed though.

Sure are a lot of benefits to having pre rendered backgrounds, I don’t know how many polygons the blender game engine can handle or how many polygons usually are squeezed into scenes in modern games. But the prerendered background elements wouldn’t be more than at most a couple of hundred polygons. Means that the engine could spend more resources on particles and the characters in the scene.

Each scene can look more unique too since you don’t have to put models all around the player but just in a certain direction, far less work, but each scene would look unique. Adds another level of depth to the levels in my opinion. In most modern games today there are a lot of models that are used over and over again, even the ground you walk on often has just got a texture painted on it that is to some extent tiled. The nice thing about pre rendered games of the past is how unique the world you walked around seemed, each place was different.

You guys sure there is no way of putting a character model on invisible planes between a camera and a series of planes to achieve the prerendered look? Maybe you could use the scene overlay logic brick?

If anyone would be interested in figuring this out with your python scripts and logic bricks, something I’m not really into btw. I would be interested to help you out with the scene and character.

see the link in post#2 :wink:

I can set up a actor for you,

Master control mouse dynamic fps rig, can have its camera target lopped off,
and it’s mouse control then its a wasd rig,

or do you want a point and click to walk rig?(mouse click)

If you want to get into indie development – especially if you want to lead a project – the “I will never code” attitude will not get you very far.
(I slept in that camp for a long time and got a little more than nothing done, so I know from experience)

If you want to get people excited about your idea, and get them on board to help you, you need something to show.

If you are serious about starting a project, here is what you do:

-Don’t try recruiting in the Support & Discussion forum. Posting your problem here makes us assume you want us to help you figure it out. If you want to build a team, there’s a forum for that too.

-Spend some quality time developing your idea. Your original post does not go into any specifics about what you want your game to be. Why would I want to join your project as a coder if I have no idea what I’m getting into?

-Show us images from your game. The Hercules is very nicely done, but you don’t explain anything about what this image has to do with your game idea. If you have something cool to show us, you might not have to beg so much for help :wink:

-Once you have a solid idea (doesn’t have to be 100% complete), and some protos built to show off, start a new thread in the WIP/Demos forum.

-Know that heading your own project is a lot of hard, not-fun work, and you have to be multi-skilled. You can’t be just an artist, or just a programmer, or just a sound guy. If you don’t know anything about programming, how are you supposed to communicate ideas to your coder? How are you supposed to interpret what they’re communicating to you when they’re discussing code?

(bad analogy, hope it doesn’t come off as insensitive)
If you’re the foreman of a construction site, and hire a bunch of Mexican immigrants to come work for you, it’s probably a really good idea to know a little Spanish first.

If you want to get into indie development – especially if you want to lead a project – the “I will never code” attitude will not get you very far.

I stopped reading right here, in the real world of game development or even on a movie project or any collaborative project, people have roles that they specialize at. Sorry guy but I’m not going to read your tutorial or download your little demos, or learn what you know because…I do other stuff that you might not be very good at.

If we’d imagine that I would be a director of a movie what we have here is me coming asking actors to act, and actors are telling me to go learn how to act if I want to get into the movie buisness. Then I’m telling the actors that without proper directing and writing your acting wouldn’t look very good which it doesn’t btw. Most blender games are of cubes or cartoons. I should be able to come ask if someone is interested in collaborating on something and not have to end the thread by saying that you guys are morons to demand me to learn your shit.

I’m sorry but too many times I’ve been met with this attitude of coders online. Here is a link to how I learnt to code, learn python, download all these modding tools. No I’ll not be doing your work for you and yes it is your work, because you’re willing to do it and I assume like it. Or maybe you’re a great artist and great at coding, let’s face it you’re not.

All I asked was if someone was interested, you could just have let the thread die or said no but you just had to come with your elitist coder’s attitude, hey four eyes go screw yourself.

Chill out, man. What Nines said sounded 100% like genuinely good advice. You took it extremely poorly for no apparent reason and got upset over one helpful post. I know if I were a coder primarily, I’d take this to be a huge red flag against working with you.

I was an artist when I started, didn’t find someone that could code my games for me so I learned how to program. But let’s say you really hate programing and like you said “I will never code”. First of all knowledge is never a bad thing to acquire, Nines’s post is very accurate and helpful you should have read it!
Second, chill dude, with aggression you will not find any help from the indie community… Maybe in a big production pipeline you can be like that, but first you need to get there!
Blender has a very nice logic brick system, that even a 8 year old can use to make interesting games (I have lectured to kids on how to make games using blender)!
the first version of my game was made using just those, they are simple yet powerful, you just need to be creative!

No python was used on the main character, I didn’t know at the time I started to do this project!
Good luck! :wink:

Very true. Unfortunately … you are alone. That means you need to fill all the roles until someone is taking over one or more roles.

Anyway, your thread is about a specific feature (see the title). I’m not sure if you got the answers you are looking for. I never played the games you mentioned [at least I can’t remember I ever did] so I can’t tell.

Specialization is a thing that you do at big studios with big teams and big budgets (and even then for an artist to be very good they at least need to understand and have some experience with coding so they can make their art effectively for the coded work). In the indie world, everyone really has to do at least a little of everything- especially if you’re looking for a coder who will be making the meat and potatoes (and beans and rice) of your game. You’ll need to be able to communicate what it is that you want done, and unless you want someone who knows coding to take over direction of the game, without knowledge of coding you’ll have a hard time critiquing the code to better suit your game. A director who doesn’t even know about the concepts of acting won’t be able to direct actors. A director who doesn’t understand the basics of lighting won’t be able to direct a well-lit scene (or even recognize when a scene is lit well). Creating a game or a movie, especially a volunteer-only indie project where you’re not paying the other team members, isn’t like running a Wal-Mart where the manager tells everyone to go do their job and then sits in their office filling out paperwork.

Honestly it sounds to me like you would be happier as an artist joining a team under someone else’s direction, which is perfectly fine (speaking as an artist, that’s a thing I have done and am doing, and it’s quite nice!)