Sunday, 16 July 2017

Paved With Good Intentions

Puts on gravely voice.

This is road ... to hell.

So, so much for making a development blog every month as I completely forgot during both May and June. Anyhow, here's July's.

SPARKLES! Everything is better with sparkles, and now sparkles are better than ever before! They're now an animated bitmap texture which changes colour and work along a complimentary colour scheme - eg: opposites, red/green, blue/orange, etc



There have also been some serious improvement in AI. Enemies now come in a variety of flavours.
Red are ranged based enemies who shoot projectiles. Light blue are dumb/zombie melee enemies (and thus carry a white stick to denote that they are melee based class) who stalk the player. Purple/magenta are melee class hunters who follow the player. Black are melee class chargers who rush at the player to attack and go flying past if the player can dodge out of their way.

On top of these enemy classes there are also special types of attacks. These are Radioactive Fire who have a green glownig arua and leave a green fire in their path, who do damage on contact; Electricity who can stun the player for a second and thus reduce movement at close range; Retardant which is a yellow falling aura who stun and slow the player for several seconds on contact; and finally Homing missiles, which come in two forms, one which is semi-accurate and can be dodged without too much difficulty and one which is both fast and accurate and very difficult to dodge.



There is also now a game over screen which lists various statistics for the player such as enemies killed, damage absorbed, cash picked up, etc, and also displays a list of swag collected by their icon's. Currently it's only a game over screen for when the player dies but it will also double as an end of level screen once I get level progression coded - and coding level progression is what I am currently working on.

My thoughts on level progression are as follows. Player needs to get to the exit, but the exit requires unlocking from a separate node. The higher the level, the more nodes there will be to unlock. Currently I am in two-minds whether to have the node activated with cash the same way swag collectibles are purchased, or whether to have them activated by having the player stand in the area for a certain amount of time like base/point capturing in an First Person Shooter (like planting the bomb in CoD multiplayer - though I've not played CoD since number 5 WaW, so what are they up to now? CoD 9000?). Either way, when the level exit it unlocked an enemy Boss appears and must be defeated to open the exit. I think that only defeating the end of level boss will be neccessary rather than cleaning out the whole level (like in say, Risk of Rain).

So that's how things are shaping up on the still untitled Swag 'Em Up!

Sunday, 30 April 2017

Power-Up Death March Volume 9000: The Death Marchening

Whoopsie, almost missed the monthly devblog!

So I am still hammering away at the final few power-ups. They are all much more complicated in models and animations and have been taking longer than expected ... which should not really be unexpected as everything always takes longer than expected which is thus ... er ... expected?

Everything looks better with sparkles! Desu!

Time Stop, special defensive item. When activated it stops all enemies from attacking the player for several seconds. There is also a joke about Japan in there. ;)


The original version of the animation had the watch spinning around. However this made it difficult to see the actual movement of the watch needle and the spinning of the internal gears. In the second version I took the spinning out and made the whole object a BBZ, that is a billboard which always faces towards the camera whilst also orientating vertically (the Z axis).

One thing which I discovered was that mesh models of the explosion class object do not use LOD, so the highest level of detail always shows.


And here it is in action against the AI enemy red cubes.

Still more complicated modeling and animations to do for further power-ups before I can get started on actual world building and level creation. Death march onwards ho!

Wednesday, 22 March 2017

Collectibles Continue

Developing collectible power-ups, bonuses, and general work on creating 108 pick 'em up swagables continues.

I'm in the final stages of creating the events for using special items, where the remaining objects are consist of more complicated models and animations. Much of the audio for special events has been done. I ended up buying a couple of huge audio packs from ImphenziaAB which took some time to wade through as there was several thousand unique sounds and a further several thousand tweaked audio tracks. Many of the sound effects I wanted for in-game events needed multiple sources mixing together.

The following images and videos should give somewhat of a flavour of the special events and power-up collectibles I've been working on, with the whole thing not taking itself overly serious, as can be seen from the description overlay upon picking up the object.

Cuddle Free Zone featuring the "Keep Out" yellow tape from certain Japanese "entertainment"

Rebound Attack which sends the damage back against the attacker

The Floor Is Lava being an old children's game

Fantasy Armour works pretty much as you would expect ... and features a reference to the old Doom invulnerability shader

Ban Hammer - when the enemy gets reported to the mods

Amongst all of these collectibles I've added the randomized chance for a "Swag Dispensor" (I'm gonna need a btter name than that, maybe just "parcel") to drop a poison bomb. The player gets an audio and visual alert of the danger which gives them a small opportunity to get clear.

Poison Trap

 There are only several more special events to finish off, though these require somewhat more complicated animations and modeling than all the previous ones which have been completed - which is why they were left until last. There are around a dozen others which still require audio adding to their events. However the code has already been completed for all 108 special items. Hopefully after this I can finally get on to designing some levels, and seeing which of the design conecpts for building environments work best.

Tuesday, 21 February 2017

Swag Test


Not going to be much of a Swag Em Up without making sure that the Swag drops.

With 108 power-up collectibles I needed a way of distinguishing the type of object that would be collected from each drop point - without having to resort to making a model of every single one. For this I decided to go with the class value of the item, as used in the image displayed.

Laser Beam - Uncommon Item, Amber Triangle

On top of Common, Uncommon, and Rare upgrades, I also have Use items and added a Hidden/Mystery indicator which hides the class of the collectible. There are also Gradius style Follower "options" which increase firepower and are hidden from displaying in the Mystery category. These Follower objects have their own upgrade system which runs through the colours of the rainbow - influenced from the security clearance levels of the old pen-and-paper RPG Paranoia: ROY G BIV(U).


Gradius Style Follower Weapon Platforms In Action

So I ended up with the following visual indicators for what type of Swag might be dropped. Unknown collectible is a swirling animated vortex, whilst all others use the same class value symbol as displayed on their image when picked up. I might extend this to show the type of power-up available such as on Attack, Defend, Temperory, Permenant, etc.

Swag Value Indicators

To test if all my code and math was in working order, I created a test zone and heavily populated it with repeating terrain meshes and Swag drops. Having previously learned that 1 30x30m mesh produces far fewer drawcalls than 9 10x10m, I used 1,190 meshes to cover roughly 1km squared. Placing Swag Drops 40m apart over a 300m area, meant that I ended up with 272 Drop points for Power-Ups. Each dropPoint (think Swag vending machine) consists of the rotating, non-colliding item for the value indicator (heavier load than the previous static mesh I was using), a placeholder cube for the dropPoint, a pulsing light - categorized in colour to the class value, and some particle and sound emitters for charging the point, and also for dropping the Swag. The last thing was to add some LOOT in the shape of bronze, silver and gold coins.


Swag Em Up!

So that works nicely. I've been recording the value quantities spawned and it all seems to work well with my mathematics formula which is based on difficulty/level progression. And it's beginning to feel kinda like a game now.

Thursday, 19 January 2017

Fancy Pants Stuff

Disclaimer: Blog post does not actually contain any pants which are fancy.

So another yeah towards the universe's doom lurches into existence. I made a whole 5 blog posts last year - 60% of them in February ... ahem ...

I finally updagraded my 10 year old Dell to a new all singing, all dancing, super-computer of a dev machine.

In other news I survived the Great Yorkshire Earthquake which wreaked widespread devastation.



Anyhoo - back to dev:

I finally completed 104 icons, which like everything else to do with indie game development, took far longer than it should have.


I also made a few changes to the HUD to try and finalize a layout. I merged the energy system for heavy attack and special evade into a single recharging system with collectable bonuses to increase the recharge rate.


For fancy effects I started playing around with a little shader code which found to give objects a distortion similar to Predator style camouflage or the invisible demons in ye olde Doom.


It's still a bit of a work in progress for optical camo but after a few additions to explosion code (code here) makes some nice shockwave ripple effects. See the two videos below and look carefully for the magnified turbulence shockwaves.

 

 

So ... onwards and upwards. Development is getting to the stage where I'll soon be swapping out the placeholder items and modeling and animating some actual art assets. To be continued! - hopefully with posts that are more regular than 2016 ...