Gaming Your Way

May contain nuts.

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.

DN8: Post mortem

I've been meaning to write this up for ages, but all my energy has been going into Outpost. Shall we start ? Yes, why not.

What went right:

Procedural baddies:

I think it took a day or two to knock this code up, and it was so worth it. It saved an insane amount of time and additional cost, and it enabled me to make a game on my own. I love working with artists, but sometimes you just need to do all your own thing.
My only worry was that it's fairly standard to have specific looking baddies that behave in set ways, ah there's the blue-ish metal guy, he shoots in a diagonal pattern, and I was concerned that would be lost, but no one seemed to mind ( And I didn't either to be honest ).
I think they're random nature tied in nicely with the whole...

Evolution:

This was a double edged sword. Balancing it was a mare, as a combination had to work without breaking any level by being too powerful. I opted to have the top path more aggressive with the bottom geared more towards defense. The rational being that it would almost work like a difficulty setting, plus it was the only way to keep my sanity whilst doing it.

Whoring it early / beta testing:

The beta testing some of you guys did was pure gold and helped so much, even to the point of it adding features such as the grazing. Also I put the game up for sale on FGL before it was finished, which helped in a roundabout way that is going to make me sound very cynical, but stick with me.
The bidding wasn't going as great as I hoped ( Does it ever ? ) which made me re-evaluate how much content was going in the game. The original evolution tree looked like this,

dn8_grab2.png

Look at that! It would have killed me to come up with that many power-ups. Once I realised that it wasn't going to make me a millionaire then it made sense to lower my expectations.

It meant I could focus on what was left a lot better, and make it tighter. No one screamed about being short changed, so it worked out well. As a final note with this, it wasn't an easy decision, I didn't want to let my baby be less than it could be, and I didn't want money getting in the way, but with hindsight it was the common sense thing to do and saved so much work.

Music:

It sounds great and using random loops to mix things up worked better than I could ever have hoped. It creates the impression there's a lot more music in the game than there actually is, and we've not killed the filesize with it.
A happy experiment that actually worked. Nice.

Challenges:

Not as detailed as I would have liked ( Outpost will more than make up for that ) but they were a fairly painless way to reward the player, plus we also had the advantage of going with Newgrounds for the sponsorship ( Which was a joy ) and could use their achievements API, so we could have both challenges and 'cheevos.


What went wrong:

Keyboard controls:

This is an odd one. I still don't think it needs them, or would be better with them ( In fact I think it would be worse ) but so many people commented about it that it was obviously an issue.
For me the learning point is how to cater for situations like that so we can offer keyboard support in games that don't really need it, and how we can coax the player into using the control method of choice.

RedRum, RedRum!:

One thing I'm annoyed about is the Redrum indicator. I should have removed it after the player had used it as it was dead space, and in an area players seemed to like controlling their ship in. I didn't notice it as I didn't leave my ship there. Sloppy UX design on my behalf, not the end of the world, but something to take away from this game.

Background effects:

I ran out of ideas. As simple as that. As usual I didn't really plan the game, and just thought I'd stumble along and get inspiration before I got to that stage. I didn't. It means some of those effects were a bit cheap and poor. Also the plasma effect and RGB tunnel were a little too CPU heavy for comfort.

dn8_grab8.jpg


That "Bug":

There is a boss that if you position yourself just right you can graze the hell out of it's bullets and really rack up the lives. I noticed this, and kinda liked it. If figured it would take some balls to try it, and I like games where the player can twist the rules to their advantage ( A lot of classic arcade games have glitches like this, Centipede being a great example, although these weren't on purpose ).
I think for everyone who was pleased with themselves for discovering it, 5 more just saw it as a bug. I'd like to do something like that again, if I stumble across it, but I don't think it's worth the negative comments.

Bullet patterns:

Not too many people moaned about this, I think it's just me being annoyed with myself. They should have been better, I just ran out of steam with the project ( Which tied in with the point above about the bidding affecting the overall depth of the game ).


Overall I'm pleased with it, it's a nice little shooter. It's not going to set the world on fire, but it was never meant to, it was just a huge break after both Knights Quest and Championsheep, a self indulgent project, which are always the best kind.
It did much better than I could ever have hoped for on Newgrounds, and with one or two exceptions the feedback was fantastic. Less so on Kong, but I'd expect that as it's not an RPG about zombies. When it came to selling it, we finally got to work with people we'd wanted to for a long time, all of whom were really excellent.

If you fancy playing it after reading all this, clicking this link will make all your DN8 dreams come true.

Squize.

And now its hell

Quick update on DN8. Since we last had one of our little chats I've basically being throwing content in there. World 7 ( Of 12 ) is in now. You may be wondering why its taking so long, I mean its only a shooter ?
Due to the branching level system ( Which was simplified a couple of days ago, I was losing my sanity ) it means for each new world I have to code a background effect, between 2 and 4 power-ups as well as the baddie attack waves ( Along with any new baddies which may be needed ). Throw in testing with each possible power-up combo, and its 2/3 days per world, which is far from quick.

dn8_grab8.jpg


The other day I did 3 world backgrounds in one big hit, so only 2 left to do. Four more levels worth of baddies, and I think around 8/10 power-ups. New code wise it's mainly the challenges left, and then just bits and pieces like the preloader, pause mode, mute button and whatever else I've forgotten.

It's become a bit of a slog this week, but the end is in sight. Hopefully there will be a big fat beta on Friday for you all to play with.

Squize.

ShootingYourWay

New things, new things, new things.

What are they ?

Let me shove a picture in here and tell you.

dn8_grab7.jpg


What have we got here then. The energy bar I mentioned last time, Matthew's Graze bar as suggested via the comments ( Ta mate ), a proper player sprite at last, sporting this years must have rear pod attachment.

The baddies actually shoot now, we're not in bullet hell just yet, but we will be. There are side pods too, as well as side and diagonal shots. With a lot of bullets and particles on screen it looks beautifully mental, and it's creeping closer to what I want.

Also a lot of the sound effects are in, plus in-game music. The music is a combination of 7 or so drum loops and bass ones, running at 175bpm, and randomly mixed together, which surprisingly works really well. I'm getting closer to the dream of a 100% random game so I don't have to produce any assets at all.

Next up is doing the attack waves for world 4 and then that's all complete, only another 8 to go... I wish I hadn't written that down, that seems like so far away right now.

Squize.

If only every week...

Every day this week so far seems to have been more productive than the last. It's so rare work being like this that I've really got to make the most of it.

Let's start with the screen shot that makes the game look really crap, before going on with what's new.

dn8_grab6.png


Ok, we've got a HUD in there at last, with a nice colourwash effect running through it. Combo's have been added ( X03 in the background there ), there's a procedural baddie generator in now which randomly generates baddies for us ( The player ship is going to need a make over to make it match with the new chunky style ), I've increased the fire rate which has made a huge difference to the playability, the attack wave plotter has had new features added to it which allows different patterns, double shot weapons are in as well as an energy bar ( Not shown in the grab as you have to evolve to get it ) and the game loop is in place, so you can lose your lives > go to a game over screen > start again.

All that this week, not bad. And yet it still looks like shit in screen grabs. Let me get to the half way point regards levels and content and then I'll post up a demo, it's a bit too early yet.

Squize.

Starting to add the love

The levels are starting to go into DN8. Today has been mostly spent trying to replicate an old school dot tunnel effect. Only took three total re-writes and a chat with Olli, but so worth it.

dn8_grab5.jpg


Like the rest of the game, it doesn't seem to screen shot that well ( Unless of course I could be lying, and the game does look as poor as it does in static shots and I'm just bigging it up to you ).

Not sure what to tackle next, adding the combo points in may be nice little eye-candy task, but with auto-fire I'm not sure how exactly they're going to work, the hud would be a good thing to go in so we can start scoring, or maybe the baddies shooting at the player.

Anyway I better get back to it, I'm well behind where I wanted to be.

Squize.

We have the [dead] baddies

Dropped the collision routines in today, basically ripped the code from X as it's a good fit for this game. Unbelievably it took less than an hour and pretty much worked first [ Couple ] of times trying.

dn8_grab4.png


Spent more time on the explosions, which to be honest don't look all that in a screen grab, but work well when running. I'm aiming for a really over the top swallow your tongue whilst having a fit look.
Once I throw some combo text in there it should look nice and busy.

We're getting close to having a vertical slice in place.

Squize.

We have the baddies

Time for a quick catch up on DN8. It's been a bit of a slow week hence the lack of updates, but it's finally starting to take shape.

dn8_grab3.png


Since last time we've got a player sprite in there, which just follows the mouse on the horizontal, nice simple stuff. I added in some player bullets which really didn't take much time ( Although I feel there's going to be some re-factoring when it comes to the power-ups ), and fresh off the press are the baddies. At last.

Normally for baddie waves I take an ultra simple approach. Open a fla, draw a nice curve, turn it into a guide, tween a sprite along that guide and spit out the coords as an array, drop that into the game and its job done.
I started doing it this way again for DN8, but for the life of me I couldn't get it to follow the guide properly. After about 5 minutes of swearing at Flash ( Not my fault obviously ) I decided that we're going to have mathematically created waves. Yes, my lack of patience has created a ton more work.

At present the game only handles Bézier curves, but they sure do look pretty. To create a pattern I just do the following:

new Array("beizer",[startX,startY],[controlX,controlY],[endX,endY]);

That's for the actual wave ( Curve ), and then we just

push([triggerTime,waveReference,baddieType,NumberOfBaddies,GapBetweenEachBaddie]);

triggerTime being when we want the wave to run, waveReference being the first array with the curve parameters in, baddieType just because, NumberOfBaddies is so we only have to calculate one curve and have as many baddies as we want following it, and GapBetweenEachBaddie being a delay in frames before triggering the next baddie ( So say we have 10 baddies, to stop them all appearing at once we can set GapBetweenEachBaddie to frameRate*2 to leave a two second pause between each coming in ).

There is a bit more in there which is possible due to using curves like this, but I don't want to splurge it all into your face in one go, we need a bit of mystery in our relationship don't we.

Squize.