Gaming Your Way

May contain nuts.

Progress. Slow, but still progress

The huge refactoring due to updating Nape is still on-going, but it's reaping benefits. I think it's fair to say that level 1 is a 100% complete now. Seeing how level 1 is just about a 3rd of the first level in Outpost:Haven that's not really that big a deal I know.

Continuing on from the previous post about the Nape update I'm going through all the objects a level at a time updating them. So for instance the desks with the PC's on now have a proper screen glow ( That was in the original, but far too subtle to notice ). This had the down side of meaning that if you shoot the desk so it burst into flames ( As desks do in real life ) the monitor screen was too bright, even with the glow effect turned off, so that meant creating an alternative image.

The attention to detail is reaching OCD levels now. I'm only being so self indulgent because I've had client gigs coming in to pay for this.

Most of today has been spent improving the NPC AI, as who knows, there may be some survivors in the game which have to be smarter than the usual aliens. It's collision detection is a lot more robust, no more half in / out of walls.
Also I was using a tile based line of sight algorithm so the NPC could find the player, but it wasn't really accurate. You can see it in Swarm when he sometimes gets confused and shoots at a wall thinking he's got a direct shot to a baddie. That's been replaced with raycasting now, and is much better for it. It's a lot harder to get him trapped behind walls now.

The default weapons have had some collision love too. Before I was having to move them a couple of pixels, test for a collision, move them some more etc. You could see where it broke in the original two games when you'd be shooting a baddie and the impact explosions would sometimes appear at the back of it rather than the front. Those have been fixed now, much more accurate and the code actually runs quicker.

Next up today is making the player collisions more robust. Kong has featured O:H in their Aliens game promotion which has meant I've been getting about 3-4 bug reports every day about the player getting stuck. I've never been able to replicate it, but it's obviously a major issue, so I'm going to tighten that up so I never have to read another "I'm stuck" bug report again. Ever.
It's going to mean quite a bit of moving code around to make it work like the NPC does, but it's so worth it as all these changes can go into making the baddies better when I update those too.

And that's it. Level 1 is done and we're aiming to have this whole game finished before GDC at the end of March and in beta with you guys well before then. Hmmm.

Squize.

JIG best of 2012

Well check us out, both DN8:Pulse and Outpost:Haven were nominated in the shooter category over at Jay's site.

http://jayisgames.com/best-of/2012/shooter/

If you liked either game give them a little vote please, as we don't want to come last. You can vote every day, but don't bother as that's really just fucking mental and we still won't win.

Cheers,

Squize.

PS. Also check out "American Racing", "Hanna in a Choppa 2", "Super Villainy" and "Sushi Cat 2" all in the Action section and all by friends of ours. All excellent games and the links are right there to play them.

Multiplayer and Outpost

I originally posted this on my page at newgrounds, but seeing how it came up in the comments here, and the fact I'm too lazy to write something new today, I thought I'd reprint it here.

 

So many people ask about a multiplayer version of Outpost that I thought I should write up some thoughts about it.

Firstly, we'd love to do it. It'd rock.

Why don't we just do it then, so many people want it and we want it ourselves ?

Firstly it'd mean a total rewrite of the engine. We use the Nape physics engine for so much in the game, not just the obvious stuff like the crates, but all the walls, baddies, bullets etc. It handles all the collisions, so nearly all the code base we've got would need to be thrown away and we'd have to start from scratch.

Ok, that's not the end of the world, reusing an engine from game to game is quite a luxury anyway.

Next up, and this is the big one, the cost. To do it right I think it would take 4/6 months. That's a long time in development and I'd have to do client work during that to pay the bills, delaying it even more.

Lets pretend that's not an issue, say I win the lottery and still want to make it instead of killing myself with drugs and hookers, we still have to pay for the servers for it to run on.

That means at least one server running in the US, one in Europe and possibly one to cover Asia. That's every month, and good servers don't come cheap, it's not like hosting a website.

That monthly cost means one thing, in-app purchases. If we went the usual sponsor route we'd get a one off lump sum payment ( Hurray ) but that would slowly be eaten away as we pay the server costs. We'd actually lose money every month.

Ok, so we're now looking at making it f2p to fund it. That means we want your lovely money, and lots of it please. What's that ? You've spent money on it and you expect to connect to the server first time, every time ? You expect your details to be secure ? You don't want other players cheating 'cause you've spent your hard earned money and what a turd it would be if you're losing to some one who hasn't invested a penny but instead is just cheating ?

That all means we have to use an authoritative server approach, basically all the game logic runs on the server, the client ( ie the swf of the game you've just loaded on NG ) just passes keyboard / mouse clicks to it. More expense, and a longer development time.

Also a lot of portals really live by the "Free" games boast they put on their layout, which means they don't want in-app purchases in games, which means the game won't spread as much as a normal Flash game would. Poo.

Where are we ? A lot of cost, a long development time and we don't earn a penny until its launched, and depending on how we handle the transactions it could be up to a month after launch before all the lovely cash comes in. Now there's no way on earth that a multiplayer game is going to come out bug free and without balancing issues. It's quite possible that during that month after launch when we're still waiting to earn a single penny from it we'll be working on it just as hard as ever. Working for free isn't the greatest motivator in the world.

What are the alternatives to get it done ? Ad revenue isn't really an option, whilst NG and Kong give devs a share, other sites don't, so we just get the pre-roll ad. The value of that fluctuates, before Christmas ad rev is fantastic, in January it's barely worth bothering with, and yet the server costs are still there.

Maybe we could pitch the idea to a large portal who can handle the server costs, and maybe we could get some money on launch, but it would still need micro transactions as the portal needs to pay for the servers plus claw back any money they may have paid us. We may get a percentage of those, but it really wouldn't be the lions share, and we'd still need to provide support and fresh content.

To finish off ( Finally ), yes we'd love to do it, but it's scary as fuck. It's a huge risk and we don't have the safety net of that lottery win to fall back on. If we can come up with a way to do it ( And not Kickstarter, I'd rather bank on the lottery ) then we will.

Squize.

Refactoring... Joy

The other day I wrote about the gyroscope / fan / blades of death thing. I wasn't too happy about it, I wanted it so if you pushed an object in there, say a crate, the blades would really hit it hard and send it flying.

After an hour or so of should I / shouldn't I, I opted to update the version of Nape I was using for all the physics in the game. That's come as quite a shock, as I'm using a really old version and even though I wrote a wrapper class to try and shield me from pain like this, in real life unless everything goes through the wrapper ( Which is slow ) it means a lot of re-writing.

The current version [ of Nape ] is really excellent, feels quicker and does a whole lot more much easier than before. For example the laser sight on your weapon works by ray casting. We fire a ray out until it hits something, then use some trig to calculate what the new length ( Technically the height ) of the line should be. Using the new version of Nape my 20+ lines of code is now about 3. Sexy.

New Nape also rotates objects around 0,0 rather than having to centre align everything, which means I no longer need to put objects into Sprites to centre align them, I can just add a bitmap to the stage. This means nice performance improvements.
Taking a crate as an example, I'd have a sprite with the actual crate image in it, the fire animation and then another sprite for it's shadow ( So the shadow would rotate correctly ). Now we just add the crate and shadow bitmaps to the screen directly. This meant that I now have to have the fire animation in it's own movieclip, which means updating it's x,y and rotation. A small overhead really, as the fire isn't always active.
The added bonus from this is that I can put the fire animation in a different layer, which is what I've done. It's now in a layer above the shadows, so if you shoot something until it catches fire you can then push that object into a dark corner and it'll light it up. It doesn't sound much I know, but it's right, and it opens up some game play possibilities ( Such as having a dark area where you have to set things a light to find your way through it ).

Ok, this has turned into a dry techy ramble. Long story short, the change has affected around 50 classes, which means going through each one fixing them then optimising them. Painfully boring, but it'll pay off.

Squize. 

6 not out

Just a really quick one today. It's our 6th birthday, hurray for us.

I'd like to say so much has changed, but no, we're still writing juvenile crap on the blog with the occasional game release in between.

So yeah that's our news, what have you been up to ? ( I'm just being polite, we really don't care ).

Squize.

See, told you we're back on it

Quick update about O2, I'm going to try and post more about it as we've been a bit too secretive as not to spoil anything plus we don't like showing things with placeholder art.

Here's an image with placeholder art. 

Since I started back up on it I've been working on level 4, which is the 2nd Lee level in the game ( You get to play as both characters this time ).

It's a sewer based one, like the one ( Or was it two ? ) we had in Outpost:Swarm, although I've refined how we handle the water this time so it runs much quicker.

That big red thing ( I've called it a gyroscope in the code, I'm not sure it's the correct word though ) is spinning around at a high speed blocking your exit, almost as if someone has sabotaged it to block your way...
Anyway hacking the 4 terminals on the level will reduce the speed enabling you to pass.

The level is taking ages to put together, like they all do, as there are more one off effects in this one and the gyroscope itself was a mare to get running, as it has to use the Nape physics engine for the collisions. In fact it's still not done, we're not having check points in this one like in O:H as I made a real mess of them, so you'll get the temporary forcefield like in O:S. But this thing will kill you outright on contact, and we can't have you regenerating in the room with it, as you'll either be able to sneak past it when the forcefield is up, or you'll just lose all your lives to it, either way is bad.

So my options are:
a) Put an invisible wall in the way to stop you going in there until it's safe to do so.
b) Letting you go in there, but if it kills you, you start at pretty much the location that you're at in the screenshot.

Nothing is easy. I think I'll go for b) as I have to detect if it kills you as it'll still be running slowly even when all the terminals are hacked. It could be nice if when it hits you you just splat. I think we're going to have more blood in this one than the first, if we're going to be classed as adult in content anyway then we should take advantage of that, so it leaving a big circular smear of blood could work well.

And this is what we've been doing every day we've worked on the game basically. Coming up with a cool idea we want in the game, then realising how much that screws things up and becomes a special case, then coding that special case.

More words soon.

Squize. 

2012 in words and pictures

It's that time again. These normally take forever to do, but I think this one can be knocked out in about 5 mins as we've done fuck all this year.

Shall we start ? Yes, lets.

January:

As always we have our birthday in January, we're 5 now, and still not imploded under the weight of our stupidity.
We were still basking in the lovely Outpost glow ( 2011 that came out, and we've still not finished the sequel. The Beatles still release more albums than we do games ).
We did have an interesting interview with Jean-Philippe Auclair, author of The Miner, which I'm sure you all use now.

February:

We picked up a little head of steam this month. It started with the first image from Outpost:Swarm and the start of the DN8:Pulse development.

We actually finished the first beta of Swarm at the end of Feb if I remember correctly... but there was still a way to go before it would see the light of day.
Olli also pimped a rather lovely lego house he'd put together.

March:

More DN8:Pulse, I tried to be quite active about it's development on the blog, posting weekly updates ( Which is very active compared to the last couple of months on here ).
Want to see some glowy bullets to help fill this post out ? Yeah, why not. 

And that's month 3.

April:

A great month, with both Swarm finally launching on Miniclip < I thought I should link to them, they're an up and coming portal and need all the traffic they can get.
We also got a pre-release review of DN8:P on the excellent FlashMush blog, which we were happy about.
But when exactly did DN8 II, the stage3D mix, come out ?

May:

Ah, the 1st of May. Thanks to Jules and Rob at TurboNuke for sponsoring that bad boy.
One thing we learned was never ever bother doing a stage3D game, as these stats revealed.

Overall I'm pleased with most of DN8:Pulse, I'm glad I did it, but I did make an actual loss on the game after paying for the ( Great ) art and music. It did well on newgrounds ( Our only daily 1st ), got a great review at Jays, and died on it's arse everywhere else.

( Never do a stage3D game, I can't stress that enough ).

June:

I hit 40, and for some reason didn't mention it. Normally I like to big up my birthdays.


I did finally write up a postmortem for Swarm, which was good to do. I really like that game, yes it's limited in scope and with hindsight we could have dropped more references to the story in there, but the AI is cool and it just plays nice and simple.

Also a sneak peek of "Quantic Velocity", our failed game this year. We started off using stage3D, then saw just how badly DN8:P had done, restarted it as a horizontally Uridium like game, then restarted it again as a vertical scrolling one. Just an aborted mess. I'm kinda glad Lux and I went through that, better on a smaller game than a large one we really care about.
I don't think we had a clear enough focus on what it should be, and then I backed myself into a corner with the baddie AI and it was just easier to save the assets for another day.

July:

Nothing much to see here, apart from work finally starting on O2. So we're 5 months, nearly 6 months, into it's development and still no private beta. There are reasons...

August:

We pushed O:Swarm out to Facebook as a little experiment. Due to a lack of pimping on our behalf it's pretty much stayed as it is, we want to go back to it and give it more social love, but if no one's playing it then there's little point ( And no one is playing it 'cause of a lack of social features. Oh ).

Worth doing, just to see all the hoops we have to jump through to get a game on there, and it's far from dreadful, we just didn't expand on it as we could have.

September:

I experimented with HaXe NME. I'd like to go back to it sometime, but when I really don't know.

On the O2 front I added specular lighting, which if I do say so myself, looks fucking stunning.

Hurts lower end cpu's, so it'll have to be an option, which is such a pity.
Also Lux nailed the title screen for O2, which is important as I really like a title screen in place on a game as it helps set the tone ( I'm sure I've mentioned this a million times before, so I'm going to cut myself off before I bore myself ).

October:

Bit of an almost constructive post from me for a change, about Survival horror. If nothing else it was a slightly indulgent way for me to get things into perspective for O2.
The comment which started it all, and quoted in that post, has really helped define what we're going to do with O2. Lots more one off set pieces ( Which is one of the reasons it's still in development ). 

Swarm made it's merry way to Newgrounds, and did quite well ( After being fucked in the eye for a daily 2nd. These things don't normally matter to me, but there was some strange voting that day, which also screwed us for the Halloween comp. Bitter ).

 

And that is officially where the year ended for us. In nearly 6 years of doing the GYW thing we've never let the blog slip for so long. Two actual releases in a year, one a sequel and one a spin off ( And a cancelled futuristic racing game ). Not the most productive we've ever been.
Let me explain, it's not you, it's me. We've been suckling at the adver-game teet a lot more this year than other years. We don't pursue freelance work, but sometimes it just lands in your lap and you'd be silly to say no to it.

So this year we did a quiz plus mode7 driving game for Goodyear ( We're not overly proud of it, hence the lack of mention of it on the blog. Very low budget, and it unfortunately shows ), I did a couple of Flash games for a certain cigarette company ( NDA'd up on these, I don't think I can even mention the agency I worked for ), then an Android tablet app for them which was purely for "in the field" employees, so that's not even available to get anywhere.
Then in November I went over to the US for a month ( Just got back on the 21st December ) doing more Flash stuff for the same company, but mainly JS/HTML ( And no, not "HTML5" which is just a stupid nonsense catch all term for all different kinds of tech, as I had to learn quite quickly ).
I think in total there are 6 Flash games, a tablet one and 4 or so html apps that Olli and I have worked on that we've been unable to mention on here.

See, we're not that lazy, we've just changed from being open and honest about everything to being sly. And evil. It's the new direction for us.

Ok, I guess this it the part we look to the future. I'm currently playing with porting Chock-A-Box over to html. That was originally a game in a day for me in Flash, it's fucking well not in JS. On the 2nd Jan I'm back full time on Outpost 2, which I'm really looking forward to and from there...

We think O2 will be our last sponsored game, it's just a badly broken business model ( There's a blog post on it's own, maybe I should bite my tongue until we've sold O2 ). In the new year we're going to be looking at new tech and new ways to get our games out there.

Thanks for always sticking with us, and we wish you a happy New Year.

Squize.

Is it survival horror ?

Every now and again I like to check in on the games on NG, to see if we've got any new comments as I think it's important to maintain a relationship with our players ( I wish I could say the same about Kong, but it usually just makes me angry. Sorry, but it's true ).

Anyway a recent comment really got under my skin, I don't know why, somethings just do don't they.

"It isn't scary. A rather glaring flaw in a Survival Horror game, isn't it?"

Ok, possibly a valid point, so I decided to look into scary games to see what we were doing wrong in comparison. I've finally bought Dead Space, after reading every other comment telling us that Outpost:Haven is so similar ( Oh you crazy kids, we stole everything from Alien Breed, not Dead Space. We're old ), so my survival horror playing is quite limited, the old Resident Evil games and that, so I'm sure there are other examples which will disprove my theories, let it be.

The core themes in survival horror gameplay seem to be:

- Restricted movement. You're always kind of sluggish which creates a feeling of vulnerability, which increases the fear. Knowing your avatar can't parkour up the wall to safety means you're always going to be drawn into a confrontation. They normally add a run button for those between the action bubble times, as you don't want to be plodding between scary rooms, but when you're in actual combat the run is usually pretty ineffective.

- Restricted view. RE and Dead Space use that over the shoulder 3rd person view for a reason. Your own avatar creates tension as it blocks a lot of your view, forcing you to rotate around to see that blind spot. It's the gaming equivalent of opening the big fridge door when you know the beast with the teeth and claws is going to be there when you close it again for a shock reveal.

- Monster closets. A jump is the easiest way to get a shock, the toaster makes me jump every time when it pops, and I know it's going to because I put the bread in there. A lot of games in this genre rely on that, the monster jumping out of nowhere to make you fill your pants. Which leads nicely onto...

-QTE. Tap the hell out of (A) to get away from the thing with the razor teeth, otherwise it's going to eat your face. The only way you can really have monster closets is to allow the player to break free ( And almost turn it into a mini-game ). Basically it's a fix for broken gameplay. If you played a platformer and a baddie appeared out of nowhere and killed you, you wouldn't play that game again as it's not fair. Monster closets aren't fair, so there needs to be a fix for that unfairness so they can keep the easy scares, and QTE's are just that.

- Limited Resources. In the DN8 games I tried to always make you, our sexy player, the most powerful thing on screen. You should always feel like you can kick arse, and it's just the sheer weight of numbers of the baddies which make it a challenge.
In a survival horror game it's the opposite. It goes back to that word again, vulnerability. You're always trying to get more ammo and health, and usually you have to sacrifice something cool out of your inventory to make room. You're traditionally the weakest thing in the game, it's an uphill struggle, good vs evil, Davis vs Goliath. Like most horror stories the end evil is always more powerful than the protagonists, and it depends on a mixture of their inherent goodness and cunning to beat the unbeatable. Survival horror games have just taken that and ran with it.

- Sights and sounds. A lot of games both visually and sonically play on our fears. It's an inbuilt impulse to dislike certain things, a rotting corpse is nasty because it's in our DNA to think it's nasty, it's to stop us eating it and getting ill. Animals that scurry and slither scare us on a deep biological level as we know they're a potential threat ( Even cats and dogs don't like shit like that, that's why they always spin around a couple of times before sitting down, to make sure there's nothing nasty beneath them to sink it's venom dripping fangs into them ). There's a reason bees are yellow and black, we have all these inbuilt hangups that are just part of us ( And for anyone reading thinking "I'm not scared of spiders though, and they scurry" well you're wrong. So very fucking wrong ).
There are quite a lot of key things like this, and a lot of survival horror games play on them, that's why you'll see a lot of baby type monsters in a game, we're designed to protect the young ( That's why kittens and puppies are so cute, big eyes, cute noses, they are things that we respond to and want to protect. Animals aren't silly ) so having the young turn against us and transform into something horrible jars us. Likewise things bursting out of bodies plays on our sexual hangups in a very deep way. These are cliches, but they work as they're built into is. How many games have you played with a creepy child's laughter, or a woman's scream ? These are on buttons for us.

So where does that leave us with the Outpost games ? Pretty much screwed. We're a top down game which doesn't restrict the players view, as that would be cheating. We can't impair your field of view too much as then that becomes a mechanic [ Creating a forced sense of vulnerability ] which overrides the actual gameplay. Sure we can put you in a room and kill the lights, but we have to turn the lights back on before anything crawls out of the dark, otherwise it wouldn't be fair.
Likewise, we can't really use a Quick Time Event when you're under attack as, well, it's not really playing a game is it ? Mashing a key over and over to be released is a crude fix for a bigger problem. So many games which use that approach will have sequences when there are baddies lined up, and if you get it wrong you're button mashing one baddie and as soon as you break free the next one gets you. It's not enjoyable, it's just a sense of relief when it's over, as it means the frustrating part has ended. It's the gaming equivalent of scratching an itch. As we can't ( Or rather won't ) use QTE's, we can't have monster closets as such. Yes we have spawn holes, but they're always pretty well sign posted and they never trigger so close to you that you can't react.
One thing we did do was restrict movement to a certain degree. Your avatar moves pretty slowly, and even slower when shooting / collecting items / bumping into tables and chairs. This was slated so much that in a dot release of Outpost:Haven I speeded up the movement, and in both Swarm and O2 the movement is faster by default. Not a great success there then.

What other tropes can we take away and use in a top down 2D Flash survival horror ? We sort of limit your resources, but not to any huge degree because we can't use a lot of the above we have to depend on that old chestnut, weight of numbers, to create a sense of terror ( Look at any non-Resident Evil zombie game in the past forever, they're dumb and slow for the most part, but there's just so fucking many of them ), and in Outpost:Swarm we take that to the nth degree, that is basically the whole game.

One thing I didn't mention above was the narrative, as that's common in most games ( Even Donkey Kong has some bullshit story attached to it ). If we do that right, and ground it in realistic terms you can relate to, it can help give us some horror for "Free".
The whole Owlmen theme improved the Outpost games a lot, it hopefully stopped it being a battle between various sprites and became a unravelling mystery. There's a reason Stephen King mostly grounds his stories in realistic environments, it makes it easier for us the reader to believe it, and when the shit goes down it could be us there facing off with a clown with silver eyes. That's why we have papers scattered on the floor in Haven, you know by the time we have big mining ships in space like that paper won't be a thing anymore, we'll all have Google Glasses as contact lenses, or drilled straight into our brain. But to try and ground it in something relatable we use paper as a simple short hand for disarray. We've all unfortunately seen the after math of explosions in office buildings, and dozens of stray sheets of paper is one of the images you take away from that. It doesn't fit the time we're trying to portray, but it fits the theme we're aiming for.

Lastly, we can't compete visually with 3D survival horror games, we're restricted by the format we chose, but sound can make a large difference. I was really proud of the sound we had in O:H, it was so much work but well worth it. With O2 we're adding a lot more, I've just the other day added an "Ambient Sound Manager" which plays additional random noises in the background, which really adds to the experience.

Ok, we're at the end, well done for making it this far. The question was "Is it survival horror", and after looking at the genre, it's still hard to say. Cop out answer I know. We don't adhere to all the usual cliches, but I think it's more than a spooky version of Gauntlet. All I know is that one small comment, in what was really a great review by a Newgrounds member, has inspired me a lot. Both to look into the genre as a whole, and to try and make sure you mess your pants whilst playing O2.

Squize.