Showing posts with label camera. Show all posts
Showing posts with label camera. Show all posts

04 November 2009

Cameras and disorientation

It is time to update the camera to something a little more functional. The previous camera demo was pretty static (the  guy couldn't move). So I've added 8 directional movement to this new one - not because the protagonist can actually move like this, but just so you can get a bit more of an idea as to how it works. There is no collision detection whatsoever as this camera will be similar to the one used in the level preview (in the editor). So you can happily (happily, I tell you!) wander around and look up and down.
  
The scene is not the same art style of the game at all - I just threw in some mountains and sunset to see what it would look like when moving around. Use the WASD keys to move and the mouse to look. You may have to click on the file first to activate. I recommend clicking and holding the mouse down while moving it around so Flash still picks it up when it's out of the bounds of the swf. Otherwise your view won't move when the mouse is out of the scene.

The prototype is slightly disorientating when you move around because although there is a horizon line, it's not always in view and large areas are just gradient colours. The game will actually have a lot of detail in the levels to help keep the player aware of which direction is actually up.

Games like the first Alien vs Predator were particularly nauseating for some when playing as the alien. There was never any sense of up and you sometimes had to just let go of holding the wall (you can crawl along any surface, wall, ceiling, etc.) to see which way you fell down. There may have been a subtle indicator but I can't really remember, certainly if there was it wasn't accessible enough in the heat of battle.



Google is being mean to me, so here's a shot of the latest game (currently in development) with alien perspective. Just smear wax on your screen, colour in the glossy highlights and make everything a lot less rounded and smooth and you'll be able to imagine what the original game looked like.

I've been thinking on what sort of elements can be included in the levels. Slopes have been giving me pause. I could easily put in any surface if I have a fully dynamic animation system (the character will lift feet over obstacles, lean forward going up slopes, and so on) but that would also be a huge slowdown for Flash. So I've decided to to a semi-dynamic approach. I'm going to build an animation editor that uses inverse kinematics to animate the various poses - the game will then use those as standard animation (similar to frame based animation). I'll have to write a blending system so the various animations (walking to jumping to running) blend smoothly between each other instead of just flipping into the next set of frames in a jagged manner.




On top of this, the arms and head will be fully dynamic. This is so the character's head can look towards the mouse cursor and the arms can aim, hold the gun, interact with objects. Should the arms not be doing anything much, they will follow the suggested animation (like swinging in time to the legs when walking). This is still quite an intense (processor-wise and the programming of it) animation system so I might have to scale it down but for now I will have lofty dreams.

15 October 2009

First prototype and a heart attack

I'll post up the prototypes mostly in the order that I created them and the first one up is a camera test. It's very simple in that there is no movement, it's just a basic example of roughly how the view system will work in-game. It's been fleshed out more in a later camera prototype that I wrote in Actionscript 3 (this is the language I'm using to write the game, this initial camera demo is in Actionscript 2, a much slower language, albeit one that is faster to code in). As a white background would sort of defeat the purpose of how the camera works I threw in a rainbow. Everything looks better with a rainbow, although I don't think there'll be many, if any, in the game. For which I must apologise now.


Use the mouse to look around. You can use the keyboard arrow keys but they won't do anything whatsoever so you'll probably find it more interesting to use the mouse. You have to click on the swf (embedded flash movie) above before it works. Click on it again to disable it.

Working out camera movement got me pretty excited and the motion you see above there has very little change to it in the follow-up camera demo (the follow up includes movement and zooming). I'll only be showing that other prototype at a later stage as there are other things I did before I sat down to write that.

In the above demo the little guy doesn't turn around to face anything in particular, so you'll have to pretend for now. The principle is that what he sees, you see. In many games I would get frustrated by the numerous leaps of faith that occurred. The screen would show the character at a cliff edge but you wouldn't be able to look down to see whether the jump was safe or not even though it would be fairly obvious the character on screen would be able to see below. Much of this was due to limitations of early game engines, but I would have appreciated level designers not slapping it in my 8 year old face ever so much. In trying to cater for this, and mostly because I thought it would be a cool idea I came up with the camera system above. It's not entirely original of course - first person shooters allow you to look up and down but it was fun attempting to replicate this in a side-on perspective. I think there have been 2D games that tilt the screen for perspective but I can't really think of any right now, nor do I think any attempted to do it to this degree. I could be wrong, so feel free to slander my good name in the comments.

Since much of the game is about the limitations of the character, I wanted to express this visually, too. Showing you only what the character is aware of is a good starting point. Blurring the far edges of his focal range is also something I'd like to have happen. Double vision was mentioned in the previous post. Whenever he gets out of breath from moving too quickly or jumping or similar, the screen might fade to red or white and become hazy. Should he experience heart palpitations the screen could maybe shudder, bleaching colour away, fading certain objects out, zoom in close to his face. I'm hoping to integrate more ideas of this nature into the game to really create the atmosphere I'm going for. I want the player to feel weak and disadvantaged, but to try and surpass those failings. The character's struggle here isn't against a Big Brotheresque government or creatures from the deep but rather against himself.

I started building an animation system a while back that would allow dynamic animations (not frame-by-frame stuff) so an animated character could move around with regard to it's environment. So I wouldn't have to animate a character climbing steps, but could just tell it to move forward and it would work out where it should put its feet, replicating a natural step-climbing movement. I put the code for that on hold while I got involved in other things but I think it would find a good fit within this game. This could possibly lead to situations where a character (even an enemy) could have a damaged leg and have to limp around. I'm not sure if Flash will be powerful enough for me to do all of this alongside the other stuff that's going in here, but I'm definitely thinking about it.

While on the subject of damage to players... health packs are not real world entities. And I haven't met anyone in life you magically heals in less than five seconds if they just take a short breather after getting a 12 gauge to the chest. Any damage sustained by the character is going to be pretty permanent (at least for the game) as I don't see myself building in a hospital plan. A bullet is a fairly deadly (as fair as deadly is) object, at least when expelled from the barrel of a gun. If the character is hit by one he's going to go down pretty fast. If it hits him in a non-lethal manner (arm, leg), there's still the problem of bleeding out if he doesn't have it tended to. Not to say that he can't survive an unlucky shot, just that, like in real life, it won't be easily shrugged off. I'm not trying to make the game needlessly hard, but rather highlight the reality of how you can't really go in and take down 50 shock troops without a serious amount of forethought, planning and luck. The game won't be a kill-fest though. It's not about how many frags (kills for the non-gamers out there) one can get. It's about survival.