Researcher in Virtual Reality and Scientific visualization with a secret, uncontrollable passion for gamedev.

Report RSS Video-game immersivity - Not only a feature for Virtual Reality environment

Posted by on

Imagine watching a movie, and suddenly something in the movie looks obviously fake.
Doesn't it cause on you a sudden redrawal from the immersion in the scenes of the movie and back to reality?Don't you suddenly stop thinking on the scene you are watching a part of the story but as a fake scenery only. If so, your immersion in the movie has just been broken.Sometimes even a small detail is enough to break the spell : a piece of scenery looking wrong, a CGI background unnaturally strange, a modern watch on the wrist of a medieval knight. It doesn't matter what it is, but the magic is gone, and you find yourself staring at something instead of being inside it as a few seconds before.
Games are not much different. If every single detail fits correcly with the others, if no flaw pops out to bother that part of your brain that notices that kind of things, you will forget everything around you, spending hours in a world of pixels that for a while will be your world. But then, a couple of single flaws can break the spell as in the movies, kicking you out from the virtual environment and back behind your keyboard.Now, if the concept absolutely is vital in Virtual Reality (CAVE-like systems or HMD), that holds as well for any other game.
You are trying to capture the player focus completely, to grant him a full immersion on your game, and this concept applies in similar ways to tetris and to high-quality graphics FPS.Don't think that it depends on the quality of the graphics only, it is a much more complex phenomenon, emerging from the full synergy of the game features, even more sensitive because it can be easily ruined by any of the involved factors.
Given the above introduction, let's now focus on the specific way we are taking this into account in designing the engine and the graphics of our Empires in Ruins. Don't take it as manual of instructions, but more as food for thought you have to consider when being in the first stages of your design.I think the problem is easier to describe by pointing out what might disrupt the immersivity. And mind this, the following list is far from complete, but should be enough to give a first overview of the topic. Most probably most of you already know all this, many others know it but never thought about it in detail, anyway writing it down is also helping me in tidying my mind up ;) )

  • Animations/Game Speed - Do you really want your soldiers doing some sort of oily moonwalking when their speed on the path is much lower than the animation speed. I think this says it all...
  • Graphics quality and coherence - Quality means quality in the type of graphics that you chose. It can range from even really simple pixelart to high-res rendering as we use in EiR, but it has to be nice, and above all, the whole thing has to be coherent. Sounds obvious, but apparently not always it is.
  • Visual feedback. Be Newtonish : For every action there is a (...) reaction. Skipping the "equal and opposite" from the quote, still goes to the point. Everything needs visual feedback, also small details. Takes longer to implement them? Well, you aren't going for speed if you are reading this, you are aiming for quality. Example, the arrow hits an enemy? Show blood, make the enemy skill blink in red and/or shake a bit too etc. A catapult hits in the middle of a crowd of enemies. Is blood enough? I went through it, and nope, it couldn't look any faker if you don't "shake" the units too, pushing them in the opposite direction of the impact too. The enemy dies, should its sprite just disappear or are we going for a decent even if short death animation? You answer.
  • Proportions. What is the point of modelling really nice looking enemy units if then on screen they are 2 mm high? You want them a bit bigger, of course, to show off your graphics, but then if you make the towers proportional to it, they probably fill up the full screen and bye bye to playing the game. So what? An example (nothing new, Age of Empires got there much before). Make them disproportionate, but cheat the player's eyes with some tricks. An example we used is that the units are definitely larger than the towers proportionally, but the doors of the towers, that is the element next to which it will be possible for our eye to do the comparison, have the same proportion as the units. Believe me, a simple trick like this does miracles already.
  • Audio - This is quite sensitive as well. Enough audio is vital. Too much might be annoying. True, a battlefield is a loud chaotic place, but don't you think that too much sound would rape the ears of the player. Go instead for a smarter balancement. Try a simple trick we are implementing by using 3d sound on 2d game. Camera all zoomed out, lower sounds, some of them (like the dying of a unit), you can probably silence completely. Then when you zoom in, localized sound gets louder (only for the area of interest). Requires some tricks to simulate in 2D but nothing that can't be done (hint, create a probe object that moves around according to the camera).
  • 3D Prospective in 2D - This is a painful chapter, one of the ones that requires more thinking and has a larger impact on the results. First of all, you are simulating a 3D-ish world on a flat plane, every single detail can immediately make your scene look like a drunk Picasso drawing, and not one of those that got famous.
  1. First of all. Depth-buffer. If you don't plan to simulate this, don't even start. The game elements "lower in the screen" will have to be in front of those "higher in the screen". Might requires some painful tuning for each sprite, but you can't skip this. Forget about having your terrain all in a single image, unless it is a flat surface with no props or stuff. Depth is vital for the brain.
  2. Remember that speed of movement has to become "perspectivized". In simple words, if you want a realistic behavior, the on-screen vertical movement speed has to be lower than the horizontal one. Just a bit of map will do the trick, but don't ignore it. (I mean, if you have circular areas of effect that get squeezed into ellipses due to perspective, wider than higher, shouldn't the units employ the same time in crossing them vertically or horizontally? food for thought, but yes they should).
  3. Projectile trajectories. Here comes the math. This can sooo easily look wrong. They need two things, rather three things. First, write the formula for the real 3D trajectory (usually a parabola does the trick well enough). Second, transform the formula from 3 dimensions to 2 dimensions (ain't that nasty if you have hold of the math for it). Third, make the projectile realistically alive : change the rotation according to the trajectory, and play with the size. An object closer to the camera should look bigger than one further from it. This last trick, if well managed, can give a lot of realism to the effect.
  4. You're not in a lovely 3d environment taking care of generating all the shadows nicely by himself. But you need shadow to avoid the game looking flat and fake. How to solve it as 2D sprites don't seem to like to project shadows on other sprites? Simple, you have the shadows on the sprites, but (huge BUT here), remember this : your shadows will not bend and model themselves after the terrain and other sprites, so KISS (keep it simple and stupid, not KISS like in Rock'n'roll all nigh and party every day). Small smooth shadows might be less impressive than longer thicker ones, but will have a much higher flexibility in adapting to the 2D scene.
  5. This is important. By implementing a 3D world in 2D you are "cheating", remeber this. Cheat coherently and thing on gameplay. A couple of degrees changes in perspective among some elements might not invalidate the graphical look of the scene, but might do miracles for the gameplay. One example, our towers perspective has a slighly different view angle than the map. Why so? Because if they had the same, our towers would look too "tall" and hide too much of what's behind them. This is a very sensitive part that is usually solved by testing directly and validating visually.

Now well, I don't feel like I unveiled any absolute truth, but i hope it might be a decent thinking guideline for someone approaching for the first time the problem.Much of what i described can't yet be see (we worked so far for some months on the core engine, and that's something you don't see until you play it, and we think we're doing well on that), but believe me, is the topic of endless brainstorming and talks between me and the graphics artist, cause everything is being built according to those guidelines i defined above and more.Cheers,dr.H

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: