Gaming Your Way

May contain nuts.

Night vision effect

I thought it may be interesting to go over how we did the night vision level in Outpost ( Yeah slight spoiler I know, level 3 uses a night vision effect, there I've said it and spoilt it for you. I also spoilt it for you if you saw our halloween post ). 

The way we store the levels is slightly weird, I've touched on it in an earlier post, but to go over it quickly we use the Flash IDE and shove the different layers in movieclips ( Such as the floor, the walls, shadows etc. ). The plus side of this ( There are many to be honest ) is that we can just use the AdjustColor filter and grey scale our tiles.

We already use a vignette in the game, it just creates creepyness and brings focus to the centre of the screen, where the player sprite is. For the night vision level we add another much tighter one to create the impression of a much reduced field of view. This has another cheeky little bonus, which we'll come to.

Next up to enforce the effect is a static animation. Use a noise filter in your usual art package, import it into Flash as a mc. Rotate it around so you have 4 different frames of "Animation" and that's it. On top of that we drop a simple green rectangle and use the Overlay blendMode, and hey presto, our grey scale tiles are now looking pretty damn green.

You may be thinking this is costly CPU wise, but this is where our tighter vignette comes into it, we only have to run these costly items at a reduced size ( Only 320x320 rather than the full screen size of 640x480 ).

Next up, the lights. We have a nice light movieclip which we use on the other levels, I just duplicate this over and over so the intensity is really increased ( BlendMode.ADD is the daddy for things like this, I'd use it on everything if I could. Some past games I have ).

Finally the anamorphic lens flares. They're just so sexy and may be over used in AAA games, but still seem quite rare in Flash. It's just a nice subtle effect and really easy to do.

In Flash just create a straight forward gradient, rather like this one.

In real life you'd alpha out the ends so it fades to nothing on both sides, but I thought it was clearer like this. Convert it to a mc, and blur the crap out of it, with more blur on the x. Convert that to a bitmap and you've got,

It's blurred out to almost nothing, but we're going to use ADD and it'll be on a transparent background ( Plus we're going for subtle ).

In terms of code it's a distance to player check. As the player gets closer we increase the alpha, and when the player moves away we drop it back down.
Again you'd think that running alpha on a 640px wide image would hurt the performance, but Flash seems to be able to cope with it fine, and the lights are spread out where we can, so there's never a silly amount of them running at once.

This new blog software puts the authors name under the heading, but I like to finish off with my name like I'm signing off, so it looks silly doesn't it.


Happy Halloween

Have a scary one kids, and to get you in the mood, imagine how much you'd pap your pants in this situation.




Some JJ loving


Sorry about the lack of posts recently ( And the formatting in the last one, what a nasty wall of words that was ). Still waiting for the two client projects to come out, although they're both pretty much just waiting for sign off now.

Thought I'd show a little love I've added to Outpost today.


Dropped an anamorphic lens flare in the game 'cause they're this years lens flare aren't they. Pleased with how they look, and that's just with my art in place rather than the real final art.

Also added "Swarm" mode. This is basically Firefight / Horde from games I'm sure you've played. The maps are nice and small and I'm really happy with how they play, it's like Geometry Wars / SmashTV and it gives the game some new life. I've done 5 levels of it, and I think that should be enough. I'm hoping to add some new graphical effects to each one, just to try and lift them off from the main story mode, so for example in the first level there's some nice huge fan shadows spinning around.

I wish I could show more of the game and open up a beta as I feel like I've been talking about it forever and it must be wearing thin for you guys. As soon as we get some final assets in there I'll be able to, it's just that ( For example ) just to balance the swarm mode difficulty correctly I need the terminal in there so you can buy weapons / upgrades.
Its one of those projects where it'll all come together in the end, which is frustrating.

This is far and away the best thing I've ever done, and that makes me happy.


Log into these beauties

Time for a quick Outpost catch up. It's been slightly derailed due to amends hell with another project. The game itself is going great, I couldn't be happier with it, just an old job is strangling me and its really badly screwed my timing up ( To the point where I've had to start another really quick game just to keep things ticking over, not a situation I want to be in. Yes, I'm bursting with resentment about this whole situation, and like a hung over morning I'm repeating the mantra of "Never again" ).

Anyway, even though I could write a huge post just bitching, let's look to the positives with some pre-production art from Lux, as it makes me happy.


So this is a WIP image of the terminals you can log into to buy weapons / supplies and other surprises. Having to scale it down like this to fit the blog is a crime, it's such a stunning image.


And these are the consoles which greet you on level 6, the mainframe deck. They are locked down, and will require a mini-game to unlock them.

Anyway I thought I'd share these just to show that Outpost hasn't gone away, and as soon as I stopped getting fucked in the ass with this client shaped steel poker, we'll be back on it.


A little place called Haven

Sorry about the lack of updates, and the lack of alpha demo. I realised there's so many set pieces in there that they would be spoilt if you saw them too early ( Things are only frightening once ). So that's why.

Just a quick recap. Last time I went over using the IDE ( Just to clarify, I meant the Flash IDE itself ) for laying out the levels and mentioned that it was a pity that the shadows weren't in their own layer. Well they are now, and it was well worth the effort, there's nothing like a face hugger running out of the shadows towards you.

Loads more has been added, its really coming together. The main issue now is the lack of original graphics ( You'll see I'm using sprite rips in the grab below ). I'm currently working on level 3, and just added a new baddie, look at him...


That's proper nasty first time he opens his eyes and runs towards you. Also with level 3 you can see I've gone a bit mental with the shadows ( They're plotted via code, so I can set their "length" and alpha ), as level 2 is a bit shooty, I wanted to claw it back to being scary.
As the game progresses I think it's going to move away from survival horror to an out and out shooter, although hopefully with enough set pieces to make you jump.

That's it for now, just a short post to let you know we're still doing things. I'll leave you with some 3D.




I think I want a wall there

Two posts in two days ? I don't know about it being my birthday, it's like Christmas for everyone who likes reading Flash gaming related crap.

I thought I'd go over how we've approached the level design in Outpost, there may be some ideas you can re-purpose for your own stuff.

I wish we were more like a crap version of

Ok, so we're using the IDE. May seem strange for such a tile based game, but it has a ton of advantages which we discovered when working on Knight's Quest.
Perhaps it would make sense to explain how the scroller works first. Basically we've got a holder sprite, and within that we have lots of 640x640 bitmaps. It's done this way so as we scroll around we can turn off the bitmaps which aren't on-screen ( To be honest I've got to code that bit yet, but that's the plan ).

Each level is in a mc, and within that we have 4 more mc's. Background, Walls, Objects and Collisions. Background is literally that, the floor. We can make this totally art based, nothing needs to be pixel aligned if we don't want it to be and we can throw blend modes etc. in there for no cost.
Next up is the walls clip. This has to be tile based, but we can still mess around with it to some extent. The IDE's snap to grid makes life a lot easier with this. The wall tiles are just 32x32 bitmaps dropped directly onto the stage.
Objects are in-game sprites ( Surprisingly enough ), so you can see crates in the above grab, and the yellow squares are baddie start positions. Also the doors are on view as they are technically sprites as we have to open them / run collision checks.
The final layer is the collision one, which is made up of just those red rectangles you can see.

That's the basic nuts and bolts ( Now that's a great name for a game ), the more interesting bit is how we actually use this. Firstly we loop through the background and grab 640x640 pixels at a time, and plot them into our scrollers 640x640 bitmaps. We then grab the walls and do the same. Before we finish with the walls we loop through each tile and store it in a small bitmap ( Where each tile = 1 pixel ) which we then use for path finding / line of sight / displaying the map.
So the data is just burned flat into our bitmaps, hence no extra cost if we add say gradient shadows in there, and we have the luxury of using High settings for filters which you can't really do "real time".
Next up we loop through the Objects, using the instance names to create the relevant item ( Instance name == "Baddie1", ok lets make one of those and position it ).
Finally, we loop through the collision layer. We just need the vectors from the rectangles because we then pass these to Nape. Yep, we're using a physics engine in our game. It started off a little "Fuck it, lets spend a day dropping it in to see what happens", and it worked way better than I thought it would, so it now handles all our collisions, from baddies being able to push crates out of the way to the player bullets hitting walls.

There are some downsides to this approach, the shadows are burned into the background whereas I'd really like them in their own layer so sprites could go into shadow, and it's obviously not as quick to design a level as using something like Mappy, but I think it's going to more than pay off in the long term.


The owl men are here, and they're hungry.

Figured it was time for an update on my new game, "Outpost". Let's clear the air right from the start, it's heavily inspired by the Amiga version of Alien Breed. There's no point refuting it, and I'm only going to get it thrown in my face, so let's be upfront. It's a homage. That's the nice term for a clone.

I'm currently using a mixture of ripped and place holder art, so I'm a little loathe to show in-game shots right now, here's the title screen ( Which obviously gives no indication of how the game plays ).


So we've got Away3D lite running a nice looking model, kindly donated by our mate BlinkOk.

In terms of the feel of the game, I'm going for a survival horror feel to start with, rather than it being an out and out shoot'em up.  That means there's a slow build up which doubles up as a tutorial. I'm slightly worried about this and it's unusual for a Flash game, the over riding rule is that you have to grab the player as soon as possible, and I'm kinda going against that.
I'm hoping that the set up sucks people in long enough to stick with the game and then we can go from a slow burner atmospheric build to an out and out battle for survival. If I'm going to fail, it's better to do it spectacularly.

Most of the tutorial is in now, and I think all the set pieces for level 1 are in place, so now it's just throwing data at the first level to see how it feels all together. It's set up so in theory I could release a 1 level demo, which I'm quite tempted to do, maybe as soon as this Friday. We'll see, with it not graphically finished I'm a little loathe to do it although having feedback about the pacing would be good.

Anyway, that's a post where I don't really say much. More nothingness soon.