Wednesday 21 December 2011

Data, Data, Data, 28 Items, Multi-Purpose Ammo, Artillery

Item data overload! All items finally done, at least the data and how they all work in game - still placeholder models ---> Art is last on the list. Also multi-purpose ammunition, for people who are tied of not being able to use similar bullets in multiple weapons.
--------------------------------------------------------

Weapons, items, armour, artillery ... done, finally. Or at least the data and testing for them all it done, if not the final 3D modeled form of them - that's for last on the list of "What Needs To Get Done And In Order To Have Done Everything". So everything is still placeholder in the visual department. No pics this time, but cue vids.

So, here's a quick recap.

There are 6 classes.

Each Class has 4 levels of items.

There's also a "generic" class of 4 items everyone can use without penalty.

Ammunition of a each caliber can be used in any weapon of that caliber.

There are booby traps which can be placed before the battle for the enemy to walk into, and thewse can be detected and captured by the Sapper Class.

Most items are weapons of some form, some are equipment, and some are defensive (like armour).

Light armour is ... er, light. Heavy armour is ... er not light. Stealth armour is camouflaged. Whilst thinking up various defensive equipment for the classes, I also thought it might be fun to have some "non-conventional". I decided on a certain type of armour, which defended the user not by stopping damage, but by reducing accuracy of the firer by dazzling them. For a visual, I decided on some sort of energy shield, and was drawn to the old WW1 battleship "razzle-dazzle" camouflage schemes - only with a bit more colour in it and a moving pattern.


Amongst the variety of standard and conventional weapons I thought up a few exotic ones such as a badly spelt "flammenwaffen" - since renamed Flammenwerfer - a lightning gun that fries things - unless they're in a faraday cage ... say totally metal heavy armour ... in which case they don't do any damage at all - various rifle grenades, portable mortars, flamerockets, sniper rifles and machine-guns ... there was also the Railgun, which punches a hole through everything for 200 metres, reducing damage as it goes.



And artillery, in fact a few different types of artillery, each with different damage, blast radius, accuracy, but also a concussion radius to stun. There are rockets which are all noise and no trousers but scare the hell out of everyone nearby and cause large morale loss and panic. More standard artillery strikes and heavy mortars, guided flame bombs, and also carpet bombing by dirigible.



And for all of this hurty-hurty stuff, I needed a healy-healy system. So aid-kits are dual purpose, healing wounded squad members as you'd expect by increasing health - but also being available to create medivac. I rejigged the damage system so that disabled squad members who are not killed outright will fall wounded and slow bleed to death ... unless you can get someone with an aid-kit to heal them and call in medivac. Eventually they'll be a nice screen for this medivac but right now there isn't. Medivac-ing also boosts everyones morale a little as it's good to see your mates saved to fight another day.



And throw in a shed load of bug fixes and general improvements.

------------------------------------------

My original deadline of completion by 1st January 2012 will be missed by a mile - but I'm still vaguely on course for completed gameplay with placeholder art. After a few rewrites that were costly in time, and the occurance of total burnout around October that caused an end to continuous crunch, it's still not a bad effort and should be completed early in the new year.

Wednesday 9 November 2011

Kitting Up, Deploying Out, Inventorial reFlummoxing

Interface for "one-off battle-mode", choosing your squad and tooling them up to the nines. Also a total rewrite of the inventory system ... again.

--------------------------------

With the vast majority of the dirigible moving, hex gobbling, Strategy Campaign Mode gamelogic completed, it was back to the Squad Tactical stuff.

To make testing and debug rather easier I developed the "one-off Battle Mode" to cut out having to go through the Campaign mode to spark a battle. In the final version, the single Battle Mode will be the training mode for the player to familiarize themselves with squad combat, or just if for a quick and casual "get to the actung, baby" mode.

There are various preferences with this, from squad objectives of clearing the area of the enemy, to defending or assaulting team headquarters ... which will probably end up as being a sort of first to grab the enemy colours wins when I get it sorted out.

Difficulty controls how much money, veterans, quality of veterans, class based items are available. It works as a balance, "Easier" gives more of the opponent's default ratings to the player, "Harder" strengthens the opponent and reduces what is available to the player.

There are also options for terrain type and weather conditions, with weather reducing visibility and spotting chances. Weather also acts as a factor to which of the eight offensive strategies the Ai opponent squad will decide to use.



And of course the player can choose which ever of the six factions to play as.

This then leads to the "deployment and equipment screen" which is the same before any battle regardless of game mode. Here you can select which veterans, or untested militia troops to deploy, areas where they'll start, and all the equipment and ammunition that they'll be carrying into battle.

There are six individual classes of squad member - each with four levels of specialized equipment, which in Campaign Mode have to be researched and purchased, and in Single Battle Mode are dependant on the Difficulty Setting. Save for a few highly specialist items, any class can use another's equipment, but they will usually incur some form of penalty. For weapons this is usually a reduction in accuracy, for armour a penalty in the squad member's Action Points. For some very basic items there is no penalty, eg: everyone can throw the Recce's flashbang without penalty as it's used just like a standard grenade.

This equipment and deployment section brought me round to the terrible task of redesigning the whole inventory system ... again.

Terrible because apart from it being fairly convoluted and time consuming ... it's also as boring as hell.

But it does look and work better now, being much more user friendly. Gone are the segregation of weapons, ammo and equipment - now replaced with a scrollable up-down list of everything together. Originally I'd seperated so that you could have weapon and ammo displayed together - but the fact is that you can do that with this method AND show an additional 60% of items with a lot less scrolling involved to get through them all.



The squad member deploys into the game with the first weapon or item in-hand that was in it's deployment equipment list. And the deployment equipment order is now matched in the in-game inventory.

I've also prevented live explosives from being picked up. There's a two-fold reason for this; firstly, putting something that is about to explode in your backpack is a very bad idea and secondly, I wanted to eliminate the "live grenade relay" that was common in the original X-Com, were you lead scout spotted the enemy, and then the guy furthest away pulled the pin on a frag, and tossed it from one side of the map to the other, along a chain of squad members in a highly unrealistic and rather cheaty manner. This is now a no-no.

And that's about it for this blog. Next up is sorting out the enemy Ai team to successfully use one of the eight different offensive tactics I've come up with for them, and generally sort out the whole tactical battle system and make sure it works. Also work out a formula to how the Ai opponent decides to deploy and equip it's forces. After that it's integrate it into the campaign mode with team member promotions for successful survivors with extra experience, and adding militia who did well (got a kill and survived) to the core of veterans.

In the meantime, vidya of the above in action.

Saturday 22 October 2011

Fog Of War, Classes, Militia, Deployment, Making It All Work

It's been a hectic month, there's been a real ale festival, I watched my local footy team actually win a game - thus breaking the gypsy curse of never seeing the team I'm supporting win - whilst standing in an all seater stadium amongst a crowd with mis-spelt tattoos on their faces and listened to some interesting chanting, often directed at the supporters of the same team in the seating opposite. There was also a mini-heatwave that saw me sat outside at 1am in a t-shirt, wondering how the hell my friend the teacher was surprised to learn that stars were suns ...

... and I even got some dev-ing done ...

After finishing off the strategy component of the game, it was time to sort out how to hook up the squad tactical combat into it all. This needed a fair a few things - mainly a squad. So I've devised a "Core Veteran Squad" of troopers who gain experience depending on their mission performance (and continued survival obviously). Any time that there is a battle, the player can deploy a certain number of troops depending on whether attacking/defending, vehicle type in use, terrain type being fought over, whether it's garrisoned, etc, etc.

The deployed troops can also partly or wholey include members of the "Native Colonial Militia", who, should they do well and survive the battle, can be upgraded to your team of "core veterans" with an assignable class.

Initially I was thinking of just letting the player hire as many troops as the wanted ... but with the class system it seemed more strategic to limit the number of available veterans and allow a constant supply of militia, who can earn a place in the core team. In the end, I decided that 16 was the best number, thus forcing the player to choose exactly which classes were deemed important and in what ratio. 6 Classes / 16 slots.


British Dirigible Deep In Unknown Territory Flees The Attentions Of The Austro-Hungarian Empire -Only To Run HeadLong Into The US Republic's Area Of Control.

Because of the relatively small core number I've also introduced a "saving throw" concept in the tactical battle, where a downed veteran can be saved by a comrade with a aidkit if they get to them within 2 turns, and then call in medevac to evacuate them from the battle. After 2 turns of lying in near death, the unfortunate trooper will finally succumb to their wounds - and you'll need to get a surviving militiaman who's shown a bit of gumption in battle to start a new career as a veteran. Names and initial abilities of Militia are randomized (names depending on factions). Skills are:
Accuracy - shooting, throwing, not missing, etc.
Courage - guts and glory, sussi, determines if they panic, flee, freeze or go nuts when their Moral Fibre drops due to injury, team losses, etc.
Reactions - who shoots first, can they get a shot off before the enemy runs from cover to cover, etc.
Strength - how much they can carry, how far they can throw.
Vision - spotting the enemy, and in the case of Sappers and Recces, spotting booby traps before your whole squad walks into one and vanishes in a big flash.

I've introduced the "Class Progression System" where the player can buy blueprints of new technology for each of the 6 different squad member classes. This goes in 4 tiers, each tier's research doubles in cost. Whilst most items/weapons can be used by other classes, doing so imparts a penalty. Surviving veterans gain experience which increases rank, and rank increases all attributes with x4 and x2 modifiers on primary and secondary Class based skills. So, here's a quick overview of the Class System:

Grenadier - (heavy infantry) mighty beefcakes of battle equipped with the large calibre stuff.
Primary - Reactions, Secondary - Strength
Fusilier - (light infantry) More guile than brute force.
Primary - Reactions, Secondary - Accuracy
Gunny - (heavy weapons) BFGs all round for fire support. Weighed down with too much ammo to run when attacked, Gunny has balls of steel - and is more likely to go nuts than any other panic type.
Primary - Strength, Secondary - Courage
Marksman - (sniper) Cool and calm, Marksman's languid pulse allows for accuracy at long range and always goes for the headshot. Marksman has a smooth aiming style and cannot do reaction fire during the enemies turn unlike all other classes.
Primary - Accuracy, Secondary - Vision
Recce - (scout) the guys at the front pointing the enemy out for everyone behind them. Can also spot booby traps at 25% Vision skill to yards/metres.
Primary - Vision, Secondary - Reactions
Sapper - (engineer) removing stuff from Earth with cool explosions, also spotting, laying and disarming booby traps. Is the best bet for tackling tanks/land ships/panzers if I get round to implementing them.
Primary - Strength, Secondary - Vision

Your chosen team of guys deploy to battle at one of the sides of a square map, going North-South, East-West, etc. In the deployment menu you can decide which area left/centre/right each guy starts at, so you can create little squads from the off.

The terrain type of the hex being fought over determines the battle terrain, which is then decided by randomly choosing a mission with that terrain type. Weather is again randomized and affects the vision skill. Clear gives full vision, cloudy reduces it to 200 units, stormy 100 units and night just 50. Various weapons have different levels of accuracy, range, damage, shots per attack and reloading time. No point giving everyone long rifles at night when firefights take place at sneezing range.

And back to the strategy part of the game ...

The game logic for this is complete. The Ai teams level up and spread out, basing their actions on one of 5 different strategic approaches. If the player's battles are set to automatic, the game plays through completely to the finish.

I've introduced a "fog of war" element, done over a few US IPAs last night ... nice when things work without too much fixing. The Ai dirigbles in the pic and video are only visible to help me see what they're doing in testing. In-game they'll be hidden unless near territory the player has uncovered.

Next up:
I've got to sort out the buying of equipment for deploying the squad to battle, and also artillary support.
Come up with a method for the Ai to decide exactly who and what gets deployed for it's part in the battle - 10+ Ai battle tactics are already done.
Maybe ... Come up with a system for deploying a tank / land ship / panzer in the tactical battle.
Maybe ... Cause resources of hexes to dwindle over time ... by 20 turns you can really be bringing in some cash.
Smooth out a few remaining issues between how the strategy and tactical gametypes relate to each other.

After which, all the gameplay will be done, and I'll be on to replacing all of the placeholder art with the real stuff.

Vaguely ... still on for something close to resembling a finished ... or at least finalized game by 1st January 2012.

tl;dr - here's a video. The terrain is blue to show me that it's loaded the urban hex battle type.


Wednesday 14 September 2011

Strategic Ai Player Logic Finished - Cue 9000 Day BugHunt

As a great believer in "attacking the difficult boring stuff now", I'd worked out the gameplay logic required to have my Ai factions work their own strategies in the "strategy" part of the game ... for that is where strategy happens.

And then it took me 9000 days to reduce the level of embuggeration from "rather high" to a mere "bugger all" <- I'm from Yorkshire, in England, old England, not the one in America, which though I have no idea what the weather is usually like there, I doubt it gets anything like the amount of drizzle that the original gets ... we use this colloquial terminology a lot, not usual about bugs or bughunting, just life in general.

But bugs there were.

9000 days of bughunting ... or over 9000 days of bughunting? Actually it was more like 18 hours a day for 2 weeks of bughunting ... and I made a serious attempt of going through a pack of post-it notes recording them all. Which is how I tend to work.

Write codeyscriptythings, playtest, record failings on post-it note, rewrite codeyscriptythings, playtest, cross off fixes, concentrate on recurring issues, then rinse, wash, lather, scrub and repeat. post-it note to self: in future use "imaginary" soap and water for wash/rinsing euphermisms ... also check if euphermism is the word I think it is ...

So, with bugs fixed and my liver thinking that I've been held hostage away from the pub against my will, let's recap on what actually works.

In the "Main Campaign", the Player has a team/faction/nation, with Ai taking the other 5. The idea is to carve out your little empire, bringing in cash with resources, that are mined by the native population, that are fed with agriculture. More natives than food = unhappy workers, less work, less income, and eventually sedition of urban territories.




Poor management of colonial types leads to dastardly acts of piracy and sedition! Just ask any American ...


Each faction expands through territories, creating new garrisons to keep down unhappy natives, as well as helping to reinforce nearby areas with additional troops. If a Faction loses all of it's Garrisons, it's booted off the map and the remainder fight over the spoils.

Each faction can also save up for more dirigibles ... or can simply capture one by winning some aerial combat, thus depriving the enemy of either the cost of a new one, or the time it takes for their sponsor nation the send a replacement (5 turns). No dirigible means no "fast action response" to attack, and they're left to defend their territories with just native militias. And with no dirigible available to zip around the colonies and keep the locals in check, the natives slack off from the jobs and income halves.

Each of the Ai Factions has their own strategy randomized at the beginning, to determine how that Faction will play the game, ranging from aggresively expanding and looking for enemies to strike, to carefully protecting their territories, keeping natives happy for a steady stream of income and building up their defenses.

Currently the battles are all sorted out by a simple "resistance table" roll ... played Call of Cthulhu/ StormBringer/Runequest with pen/paper? Then you know what I mean ... [/oh_teh_nostalgia] ... for the moment it's based on simple troop numbers versus population with garrison modifiers, but eventually it'll be expanded to choose veteran troops from the sponsor faction/nation, local militias (for cheap and cheerful) and fought out over the tactical squad-tactics part of the game.


Tactical squad-tactics ... because Take That Grammar!


Anyhow, that's to come next ... when things get bafflingly complicated and I have to do stuff with "files" and variables that I'm never attempted before ...

In the meantime ... video ... not very exciting video ... as it just shows the turns being taken by Player and Ai and all of the battles are resolved by hidden dice throws ... but you get the gist ...

... in fact it was so "not very exciting" that for the first time ever I attempted to replace the audio on the YouTube video ... I don't know what I chose, but the first 15 seconds sounds like something a Windows platform developer listens to ...

Thursday 25 August 2011

Strategy Gameplay CivLite Hexagon Hell also Dirigibles

Does exactly what it says in the title ... I think ... Behold the wonder of hexagons! Behold not very good mathematics for procedural placement. Also behold Dirigibles. Have you beheld? Then good.


The idea is StrategyLite-TacticalHeavy ... to be honest I just made that up right at this moment - which is probably exactly how marketing departments work in huge, lumbering, faceless multinational corporations ... maybe I'll patent it ... and then sue everyone who ever used a hyphen ...

I'd ummed and ahhed about how to make a world map for the strategy campaign section of my squad tactics game idea - and after about 30 seconds decided on hexagon models, mostly due to them having less sides than octogon models. I proceeded to quickly make said models because I had nothing hexagonal to use as a placeholder. Then a slapped a load of them together to see how it looked.





Each area is supposed to give a random amount of resources (agriculture, population, natural resources) based on geographical type of Temperate, Urban, Mountainous, Arid and Jungle. It works in a simple rock/paper/scissors (don't run with the last one!), so agriculture feeds population, population gathers natural resources, natural resources = spending money from your chosen Regime.

Obviously having a manually placed campaign world isn't terribly interesting for replayability, so I came up with a half-arsed procedural generation scheme, which after much bafflement of mathematics and only one cup of tea since stumbling out of bed, gave me a fully randomized giant hexagon of hexagons. With it being a giant hexagon I thus had 6 corners to place the starting garrisons of each of the 6 factions/regimes I'd decided on.



Majestic ... and that's just the Ambient Occlusion map! Textures to come ...

I knocked out the basic idea of gameplay for this section, with the player's vehicle moving around in a Pac-Manesque manner, eating up unoccupied groups of hexagons, and slapping his sponsor's flag on it. The idea is that when the avatar hits a blank hex, it lays claim to all free hexes that are touching. Eventually they'll come across a hex which is occupied by a rival faction or get raided by dastardly zeppelin pirates, and then it's combat in the squad tactial gameplay bit. Troop numbers for defenders will depend on the population of the hex under attack, and bonus troops if it's in protective range of a dirigible or garrison. The attacking troop numbers will depend on what type of dirigible is attacking the area. Rinse and repeat until each Regime has had all of it's garrisons blown-to-buggeration and only one Faction is left.





Still a fair bit to finalize, I've got to sort out various Ai strategies for this gametype, the whole cash flow thing, creating new garrisons (game over if you lose them all!), and obviously some save system is rather neccessary. Also I need to work out the ins-and-outs of moving from the strategy zone to the tactical zone and back again, with the score, character losses, promotions, etc.

And of course all of the finalized art for this ...

In other news, back to the tactical zone for a moment as I decided it would be fun to have secondary explosions. So if any cache of weapons/ammo that's been dropped has an explosive (eg: grenade) in it, and then it gets caught in a blast - it'll go bang too.





In the end, I'm sure it'll all be ...

Sunday 17 July 2011

TorqueTactics: Magnets! How Do They Work?! I Mean Inventories ...

Fuuuuu --- Magnets!

TorqueTactics/Torque X-Com Style GamePlay Month 2:

So I sorted out a custom inventory system ... eventually ...

Not wanting a gazillion items spilling out and rolling around the game-world, I decided on a simple system (it wasn't). I'd have 3 item types that could be scrolled through back and forth - weapons (guns! etc), ammunition (bullets! etc), items (Hankerchief! etc), and this would be mimicked in the "dropped item cache" which is a bag full of whatever got dropped.

Caching dropped items at a location obviously prevents having to render all of them together, especially useful when ammunition was divided into 5 round stripper clips and a dead team member could drop an imperial tonne of them the moment they left this mortal coil.

So that's 3 arrays of objects for the playerObject's internal inventory, and another 3 for whatever has been dropped (if anything) at that location. And then there are another 3 options that you can do, pickup, drop and use ... somehow it just seemed like more than the 27 possibilities that it was ...

And boy did it take some bughunting to get everything working within those 27 combinations ... I promptly massacred a pack of post-it notes ...





I've also got a system of attributes for each little in-game chap which affects various gameplay parameters. Strength is the important one when it comes to lugging stuff around and off-setting your aquired encumberance. (though in the above pic, that guy ain't going anywhere!) When encumberance exceeds strength it'll start to eat into your available action points.

"Throw" button isn't currently sorted out as it's going to use the same equation as hurling grenades. Everything visible is placeholder artwise for the time being. Everything else in the inventory works as expected and the big missing preview will be an image of the "Class" of the team member rather than individual portraits cos that'd just be nuts considering how fast you can go through fellas when your tactics all go wrong ...

Pior to this little hiccup, I was hoping for inventory completion in just one week (lol, yeah right), it's taken about 17 days ... including a few go slow days where I went to the pub for a couple of small ales and a sit in the sun to top up my vitamin B or F levels or whatever the hell solar radiation gives out that's good for you ...

Anyhoo, back on track for July - the remaining of which will be spent sorting out the Ai ClientPlayer/commander and turning the enemy squad into some sort of team-based, tactically co-ordinated entity capable of using different strategies dependant on mission objective, battlefield conditions, weapons available, etc, etc.

As the Ai are also going to be using this custom inventory system, it was important to get it functioning.



Fuuuu - magnets! Why are they so hard to debug!?

Tuesday 28 June 2011

TorqueTactics: X-Com T3D - Go Project 2! Month ONE

Rudi Unger has Panicked
Astra Petrov has Panicked
Stefan Faeber has Panicked
Sumi Iwasaki has gone Beserk
Fuuuuuuuu-

[nostalgia]Great days, great days ... [/nostalgia]



So 28 days after starting bang on the 1st of June, we ... that's the Royal "we" ... have got the basic gameplay of Project 2 (the "speed" project ... allegedly) sorted out.

What we've got:

Turnbased squad tactics gameplay, somewhat in the vein of Laser Squad and the original X-Coms.

Individual attributes for all team/hostile members, such as vision, accuracy, reactions, morale fibre, etc. Also rank which will be dependant on personal experience throughout multiple missions. Health never goes up, being more experienced does not make you any less susceptible to bullets ...

Vision: For spotting targets and is based on a whole host of variables from angle to range. Reactions are for who gets initiative and thus has the opportunity to shoot first.

Morale Fibre: Losing team members or getting wounded drops morale, which may cause a sudden outburst of unreasonableness brought on by a "Lack of Moral Fibre" and the team-member going LMF, which could result in them panicking and fleeing, freezing up in shock, or going nuts and blazing away at - hopefully, but not neccessarily - the enemy.




Attributes get a bonus based on Class, with each Class having different Primary and Secondary skills. For example: Marksman Class has Accuracy (for shooting) as the Primary Skill and Vision (for spotting targets) as the Secondary Skill. Gunner Class has Strength for Primary (for carrying the BFG and all the ammo) and Bravery for Secondary (machine-gunners don't bottle it and run!).

Individual Tactic For That Turn: Each team-member can choose their tactic for that turn, this is between "Cautious", "Standard" and "Charge!". "Cautious" tactic puts them in a crouch (smaller target) and gives them better spotting and accuracy bonuses whilst reducing movement speed. "Charge!" tactic doubles movement speed and gives the enemy less chance to fire at them, but reduces vision, reactions and hardest hit is accuracy (difficult to aim when you're bouncing around in a sprint). Most useful for crossing open ground quickly and storming into an enemy position for point-blank attacks after they've had their fire drawn by other team members.

Classes also affect usage of equipment and weaponry. A Recce Class (scout) is going to have negative modifiers when using Gunner Class weapons, Sapper Class will be the only one to plant mines (hidden from opponent view until oh-dear-they-stepped-on-it-bang) and Sappers and Recces will be the only Classes capable of spotting enemy mines (with Sappers able to disarm them and then reuse them).


I've been reusing the map from the Torque Valkyria Chronicles GameStyle Tutorial for the time being, and everything artwise is a stock placeholder.

And after copious "test as you go with echoes and HudMessages EVERYWHERE" I ironed out the bugs, fixed the broken loops, stopped the crashes and am pretty pleased with the result of "Month ONE".




Which brings us to Month TWO (even though I've still a few days of June left).

Month TWO will mostly involve creating an inventory system for team-members, with carry capacity based on individual strength with negative modifiers to energy/action points for going over the personal limit. Each item of equipment will require a weight variable.

I'll need firstAid kits and also some sort of "wound monitor", as well as the ability to "medivac" fallen team-members. Get to them and apply firstaid within 2 turns and they get medivaced, any longer or if they're wounded whilst down, then they've had it for good.

Flesh out more of the Class based system with variable equipment, abilities.

Sort out pathfinding and Ai squad tactics based on mission objectives (assault/defend, advance/delay, meeting engagement, raid). Ideally the Ai player/commander would have a range of stock tactics that they could use dependant on terrain, weather, squad strength, splitting squad into smaller sections for pincer movements etc, preferable tactics based on opponent faction (more on factions later).

Sort out a better "final score/mission over" GUI which details team performance, casualties, individual performance, mentions in dispatches, awards, experience, promotions, etc.

If I get time start the "Cavalry" Class of Lancer, Huzzar, Dragoon and get some tanks on the go. Create an armour penetration system, with mobility, gun and crew kills.

And finally it tested in action, with a small "experienced" 3-man squad, against multiple small squads of "lesser enemies"

Monday 30 May 2011

Dubious Demo 2.1 Released! Vow of Sobriety Ends!

Dubious Demo 2.1 is out! My vow of sobriety is over ... but it's 4am and there's no liquor in the house ... this is what happens when you don't plan ahead ...

... WINNING ... TIGERBLOOD ...
... but enough about Omroth and Frozen Synapse ...

Dubious Demo 2.1 is released! Finally! And considering it was 2 years between my first and second demos, this one has been a mere 6 months.

So, whilst you twiddle your thumbs - perhaps as an Indy Dev waiting for the release of Torque3D 1.1 Final (and the opening up of a new bug forum for it :P ), and if you can pull yourself away from Frozen Synapse for a moment, have a little go on Stevie's new demo.





It's had quite an overhaul, new info sections on the GUIs, an intro system, the start of the Narrative Campaign mode featuring level 1 single player scripted level. This has a checkpoint system for saves in-game (not to an external file, gotta work that out yet) so you'll respawn on death at the last checkpoint, and all static pickup items will also respawn to help you out.

PLOT! Not just the sound of a pig diving into mud ...

It's also got a vague narrative to the action some meaning ... you probably don't need meaning to blow aliens to bits ... but nonetheless it has a world beyond shooting to ground the action. Cue cutscenes! Some are player driven with next/back buttons, some are automated to music, these have countdowns telling you how long you have to wait ... all have skip buttons. Nothing worse than not knowing how long a cutscene is gonna take ... except for not being able to skip it!

And now there are 2 levels to play through on the randomized battle mode, and now you've a proper enemy - "The Thing From Ur-anus" ... hordes of nasty little alien beasties desperate to stick the tentacles where you don't want tentacles sticking ... shudders.



And of course my perchant for jokes ...


There's flares, airstrikes, and loads more "stuff". Catchick gets joined by the East Riding of Yorkshire Constabulary, and 3 types of seriously unfriendly alien menace over 2 different, huge levels, 1 narrative campaign mode and 2 randomized battle modes featuring 6 different gameplay mode/styles.



Anyhow, it's in the same place and has the same name as before - yorks.deta.in , weighs in at 170mb download - just click the picture of CatChick and read the info on installing (best not to install to program files as I've not sorted the UAC out yet).

And if you're really lazy - here's the direct download: http://yorks.deta.in/download/YR_demo2_setup.exe

Many thanks to Admiral Akba... er ... Ronny for the webspace and bandwidth. :)

Anyhow, this demo gives off a much better "feel" of how I want things to be and a general direction that I am aiming for.

And that's enough rambling ...

Here's some action showing the 2 main set-piece areas of the scripted Campaign Mode (level 1). Look at that tracer fly!

Saturday 14 May 2011

Move Rock - Circumnavigate Rock - Go Off On Tangent

Those pesky rocks eh? We all have our rock ... some of these rocks might even be real rocks ... but for most of us it's a metaphycisal rock ... or at least it's not real anyhow.

Okay ... enough about rocks, real or imaginery.

Game development is a bit like a Japanese RPG - everyone is slightly squashed and absurdly cute ... no wait ... that's not right! There's a lot of GRINDING and leveling up can get to be a real pain in the derriere. Everyone gets burned out after a while, especially when your on an "all hours the Great Magnet sends" routine.


It's even worse if you're making an MMO!

So rather than spend ALL week down the pub or ALL my time reading mildly interesting but mostly inane Wikipedia articles about what someone I've never heard of was rumoured to have done on a particular date in the 17th Century, I decided to have a look at the RTSprotoype information in the stock documentation and see how the camera system and screen-to-terrain input worked - two things which I didn't know anything about.

And from there I decided to build another Tutorial series, detailing how to create a 3rd person, turnbased, squad tactics/action hybrid gametype which follows the gameplay style of "Valkyria Chronicles" ... which I've never actually played, but have watched the whole game streamed. Originally I was thinking of writing a Tutorial for full turnbased tactical game but thought that Valkyira Chronicles" mix of turns and action was quite novel.

The whole tutorial is complete in theGarageGames Resources Section here and also in the T3D Tutorials Section of TDN.

And here's a video of what it looks like:




So, the next time you hear somebody say that :

Torque can only make Tribes style FPS games

Link them with that.


Oh hi, Catchick ... who still doesn't have a real name and maybe will always be known by what a certain Mr.Kiss first refered to her as ...

... so back to getting this demo out ... which I could've finished a month ago if I hadn't been looking for something else to do instead ... cue pub and wikipedia. The demo itself is nearly finished, it's "that close" - but you cannot see me holding my thumb and finger a little way apart to demonstrate, so you'll have to take my word that it's about four inches or ten centimeters in new money. And the demo is going to get finished and then released.

It's been a long time and a shed load of work involving a shed load of assets, but that's kinda what a FPS narrative campaign is about, and because of this I've also been thinking of "procedural content" more. In my GarageGames profile it reads:

One Bloke ... In His Bedroom ... Trying To Make Computer Games ... eventually ...


... Trying To Make Computer Games ... eventually ... was kinda in there as a joke about how long it takes to actually complete anything, but someday I'd like to edit it to read ... Making Computer Games. So to that aim, post next demo release, FPS project is going on the back burner, and an old skool (I hate that phrase!) turnbased, tactics game featuring an entirely procedurally driven campaign system will come to the fore with the intention of shipping before the year is out - in other words, six months. I did previously moot the idea in a previous blog about an X-Com style game idea I had, and my recent "Valkyria Chronicles" style game Tutorial gave a rough proof of concept for the combat/gameplay control system.



It'll still be massive - I just won't have to script every single fart an Ai makes ... but first, finish off Dubious Demo 2.1, cos this time, it's got the start of a Narrative Campaign ..

Wednesday 23 March 2011

Death of Drawcalls - Birth of Cutscenes, also Flares, Checkpoints

First up, after years of spamming the site with jokes and the occaissional helpful post, I joined the hallowed ranks of the Titans, striding the earth with inflated ego and a pair of socks pushed down the front of their pants ...

... that's the GarageGames Associate program to normal folks.



Steve joins the other Associates for hor d'oeuvres at their Fortress of Perpetual GrimDark

So, on to drawcalls ... and ... oh wait ...


That's better ...

So, back to them drawcalls. I've a vague recollection of mentioning the damn things before in about a gazzillion blogs, but I'm always on the lookout for screwing every last bit of performance out of the engine. I'd been looking at my last demo and wondering if I could amalgamate more of the textures on the buildings. There's a lot of tiling going on with them ... so I decided to try a few experiments in reducing the sizes and adding more sections on to a single image. There was obviously going to be a fair bit of a loss in detail quality, especially close up - but as my work has obviously never been about heavy psuedo-realism, I figured I'd be able to live with it.



Original prop building at the top (5x 512 tileable textures), new single 1024 texture at the bottom.


And live with it I can. I still need up to 4 meshes for an enterable building (exterior, lightmapped interior, lightmapped props, and transparent windows). But for "prop" buildings I managed to get away with a single 1024 texture. I wasn't always able to get a mesh into a single drawcall, occaissionally requiring more, but over all my worst saving of drawcalls was 50% and my best 80% for enterable, lightmapped buildings. All my prop buildings had their drawcalls reduced to 1 from around 5. I also decided to cut out a lower LOD and suffer a few more polys at mid-range now that there's less drawcalls.

I'd also tried the same thing with my many road sections - but visually they really seemed to suffer in a much more noticeable way. So I decided to make a "supermesh" roadsystem which promptly truncated because I'd turned all the warnings of in Blender ...



So after splitting the new supermesh up a bit I'd added 130K polys to the scene for the loss of a poxy 31 drawcalls and no performance improvement with some dodgy shadowing along the now more open meshes ... which wasn't really win ... and promptly reversed the roads to how they were.

After seeing Brian Mayberry have lots of fun with glowsticks - I decided on more function creep and created flares for my player. I'd wanted to avoid a torch (US: flashlight) as it's a bit obvious and always availalbe in a HL2 type manner --- nice flashlight resource though CSMP. The flares are actually quite useful as some of my levels are intending to be "dark" - in fact Level 1 corridor crawl is fairly dark - and I've hidden pickups in various dark corners.

Which actually brings me to Level 1 of my Campaign - which is about done, just a bit more drawing to do for plot devices., but all the action is scripted and tested and tweaked and retested. There's 2 routes through it, it's got a nice ebb-and-flow of action, from scary melee based monsters creeping about in the dark, to intense, open firefights and back again.

My single player narrative campaign mode did throw up a few new issues. I created a checkpoint system so that a deceased player didn't have to restart at the beginning ... which would be fairly annoying as it takes a good 30 minutes to get through the level regardless of which path you take, and you can crossover between them in a few parts. My checkpoint respawning threw up another problem of finite pickups. Yes the dead Ai drop ammo, grenades, etc - but if you're already bulletless then it's kinda hard to get at a whopping great big alien tooled up to the nines with an automatic weapon from 100 units away when you have a melee ranged cricket bat. So I had all the "static" pickups respawn with the player, via a new permanent field that I added to the code (I'm still slowly chipping away at the cpp before getting around to making a full frontal assault on programming at a later date -- I did try to create a custom "thin" version of shapebase but it didn't go well).

All in all it works quite nicely, the extra ammo helps if the player is finding it tough. The player respawns into the continuing game rather than a reloaded one, so if you've killed half the bad guys at a position before being sent beyond the mortal coil yourself, you only have the remainder to get past. I've still to sort out a full "external" save system for campaign progress or restarting a game half way through.

And so on to cutscenes - or really player controllable in-game comics. There's next/back buttons so that the player can flick through triggered plot scene. These are mostly for story, my jokes, and occaisional hints/tips. The story boards and in-game comics are there to "complement" the gameplay - but there's a big old "Skip" button if the player would rather just get back to the action without flicking through them all.


Never let it be said that I ain't a sucker for dry wit ...

In other news, I added a visual indicator of the number of player lives remaining in the "random battle" mode (3 lives for each area - previously you had to read the info to know this and then keep count), and will also add this to a selectable "challenge" mode for the campaign levels. Eventually I'll figure out some sort of scoring system for all modes as well - not particularly important in campaign, but it takes on more significance in "random battles" and any possible, future co-op mode.

Anyhoo - vidya! Here's the comicbook and flares in action ...



And here's an older one without them which features a play through of the first 5 minutes of one of the routes through the level.



I've a few more things to sort out yet, a bit of GUI refaffing for various menus, and finishing off level 1, plus creating a randomized battle mode for that map. And then I'll release a new demo, probably next blog - which will be done when it's ready.

Thursday 17 February 2011

Creates Tutorials, Conquers Resources and TDN, Slays localClientConnection Hax

I use the Torque 3D indy game engine, and to be honest it always had a rather steep learning curve. The site is a mine of 10 years of coding and scripting information ... but rather disjointed and scattered, so I decided to make a tutorial on creating a simple, single player first person shooter game to help ease the initial bewilderment. It's the "Simple FPS Tutorial".

On the Gargegames/Torque3D Indy Game Engine Site, my profile's "submitted resources" count has increased hugely. Admittedly the sheer scale of this expansion ended up being driven by the character and word count associated with the blogs/resources rather than my own quest to fill an entire page and bit of the resources section with my own graven image.

Resource word count had shrunk somewhat, no doubt down to the new servers and general on-going web flux and reorganization that came about with sinking of IA and the rising of GG. Plus the return of the "backslashes eating posting bug".

So an inititally planned three part series, which was then extended to a four part series, in the end became a twelve part series with a considerable amount of waffle stripped out, ending up being a "just the facts, ma'am" set of 12 tutorials that answer some of the most repeated questions posed by scum-sucking, whining, noobs ...

... er ... I mean ...

... valued and respected newcomers to the GarageGames and Torque Community.

So, by the time it takes to publish 4 or 5 Penny Arcades - which is about my last remaining tenuous grip on the actual concept of measurable lengths of time - all parts were written, tested, tweaked, refused uploading, seperated into more parts, tweaked, tested and forced down a copper wire. And then converted into a rather dodgy pdf format (having not done that before) using some open source stuff I found lurking around the net, before finally shoving it into the newly created T3D tutorials section of TDN ... which I also had no idea how to do, and made a right mess of Ronny's formating in the Tuts section until he fixed it.

And so, it is done ...


mfw ... minus the ears ... and boobs obviously ... and good teeth, I'm British ...


It's a step by step tutorial covering what is required to make a simple single player FPS:


Starting a New Project (also covered in docs but I wanted to start the beginning at the very beginning)
Creating the game area for the level
Making Custom Weapons (Art and Script) files for semi-automatic and full-automatic weapons
Having both weapons share a common file for particle effects and audio
Making a custom Player
Making a custom gametype
Making a custom Ai and associated simplistic combat scripts <---- often asked question by scumsucking n00- community newcomers. Previously the answer was both esoteric and hidden in forums/TDN.
Using paths for the custom Ai
Scripting gameplay <---- triggers FTW!
Creating a cool explosion in-game <---- games love explosions!


In the end, only three files are ever edited by the user (datablockExec, scriptExec, default.bind), all others are custom created from scratch ... so there is no overwriting of stock data.

Anyhow, the stock response to new forum posts asking about any of the above should now be:
TDN is your friend


Obviously I had to bang this "Simple FPS Tutorial (single player)" out as fast as possible, especially after what Renee had been threatening to unleash upon the world. Simple FPS Tutorial would have appeared to possess a puny manhood post release of such a monster. So first blood to Steve.


Steve Pictured After Final Tutorial Upload

And the pdfs (with the accompanying custom files for reference) are availabe on eb's Unofficial Torque Community Upload System.

Phew!

So with that done and dusted, and basking in the warm glow of my supernova'd ego, it's time to return to my own project, originally codenamed "Badger of Doom" but possibly about to be renamed "Steve's Folly".

"Steve's Badger" ... no, let's not call it that ... has been somewhat of an organic creation, learned on the job, from the school of hard-knocks, studied in the sweltering miazma of here. Suffice to say there's been some hax made over the years, just to get stuff working and not have to think about. It was either that or whine incessantly in the forums. But, with the stars right it was the Penny Arcade upload to bring forth the mighty sword of spanking, and begin the momentous task of slaying every custom use of the dreaded ...
%hax = localClientConnection();


Said mighty task ... ended up not being quite as fearful as first thought, and was wrapped up in time to see Arsenal score the last goal against Barcelona on the telly. There was some amusing moments to the task though, the highlight of which was:

function serverCmdUnmountWeapon(%client)
{
echo("Server Command to UnMount Weapon - " @ %client.player.getname() @ ".noFiddling = " @ %client.player.noFiddling);
if(%client.player.noFiddling != 1)
{
%client.getControlObject().unmountImage($WeaponSlot);
LocalClientConnection.getControlObject().setarmthread(looknw);
//...


Did you see what I did there :P
Oh how we laughed!

And now we have fully functional networking, regardless of the fact that it's single player, nice to have stuff working properly with pretty script rather than ... that. In fact there's still one small issue but that's 'cos I've got a little hack to interrupt "player move" in code using a global and we'll have to let that wait before we attempt a frontal assault against the code.

So, back to gameplay creation it is. I've had an enormous, completed, but rather empty of action corridor crawler level for what seems like eternity, and it needs turning into a working single-player FPS level.

Video of the play-through of the completed Simple FPS Tutorial

Monday 7 February 2011

Drawing, More Drawing, More Ruddy Drawing - also Theora, GUI

The previous few weeks have consisted of drawing, more drawing, and even more drawing, interspaced with faffing, more faffing and even more faffing, around with various ways to get a Theora video, and then not liking the quality and deciding on a GUI replacement instead.

----------------

[gravelly_American_voiceover]
Previously on Steve's rambling dev blogs:
[/ gravelly_American_voiceover]

I might have mentioned something about drawing an intro sequence for the narrative campaign part of my game. All the big games have them ... not that I've played any of those things in aeons, infact the previous weekend consisted of Penny Arcade (which I quite liked - a bit grindy though, shame the series got canned) and X-Com Enemy Unknown (which is X-Com UFO Defense ... not sure why the name change between UK/US but hey ...), a game which I actually had on floppy (no really kids, games used to come on plastic squares ... and before that it was tape!), and which I rebought from Steam ... not having a floppy drive anymore ...

Interestingly to mention or not as the case may be 'cos it's just occured to me ... these games all have animated intros, with the 1994 X-Com being closer to the static comic page style one bloke in his man-cave ended up using.

I'd had the overall idea taking up unnecessary amount of room in my brain fro a few years ... admittedly more in gazzillion dollar production values rather than one guy with a cheap and intermitantly malfunctioning A4 tablet from Win98 days who had completely forgotten how to draw ... and line drawing is somewhat less simple when your tablet isn't the same aspect ratio as your widescreen monitor ... A4 does not perfectly divide by 16:9 ...

I never managed to get the speed of completion down to anything reasonable but proceeded to "bang stuff out" and the line graph of "production" rose as the variable of "give a toss" sank. I ended up having to cut a few sequences/jokes due to not being able to fit them into the constraint of the music I wanted to play over.

The art style is supposed to be fairly fast to produce and easily replicapable - at least the last bit worked :P -, as I want to include the occaisional triggered comic page event in-game - but not too many of them, and most will either be plot or joke related, with the idea that narrative should give the gameplay a background in which to exist rather than just a "Ramirez, take down that X with your Y" ... plus that's why it's called the Narritive Campaign section ...

I also wanted a more naturalistic art style, but something not entirely heading in the opposite direction of my in-game 3D art, and I wanted to avoid the whole Japanese style ... talking of which ... brace for jokes!





In fact I ended up throwing in a pun on japanese comics.





Anyhoo, job done on that, and I set the whole thing to music as originally envisioned, and then converted it to Theora ... which didn't go as well as hoped. The Theora codec had a real hard time of coping with the subtler light/dark contrasts and a lot of the backgrounds ended up looking hazy and with visible moving errors on them. Even maxing out the bitrate didn't clean it up (but it did look better) and came in at around 17mb, my actual image files are 8.5mb ... so I reckon I might as well keep the quality and have them display as a scritped GUI sequence - with a skip button obviously, so the player can get straight to the action.

Whilst venturing around the interwebz on Theora related hunts, I did come across a whole load of Theora stuff including a slideshow creator which is basically what my intro is. It wasn't any use to me in the end but there's the link incase anyone fancies a look, and there's a load more Theora stuff at that site.

With >9000 hours of drawing finally out of the way (or at least, the huge load for the intro bit done, they'll be more of it in much smaller chunks in the future), it's back to actual game deving, and scripting the action for level 1.


In other news, I seem to have fixed a fair bit of issues that I'd experienced when I released Demo2 (not updated but still available for download courtesy of someone else's bandwidth) and after a fair bit of testing ... things seem better ... oh wait ... when I say "I seem to have fixed" I of course mean ... other people in the GarageGames bug forums have ... I just implement and test stuff I find lying around ...




Looks better in HD, but you knew that.
Also spot the balls up, one of the image isn't in a panel but gets a full screen stretch (fixed for in-game).

Tuesday 25 January 2011

Post Demo ... Another Year ... Where do they come from!?

Another year, I'm not exactly certain why they keep arriving or where the hell they come from in the first place, but the damn things just keep coming. Also back to the grind post tech demo release.

GarageGames has been reborn as ... GarageGames ... which is nice, 'cos now all of those bug reports I filed on the engine are getting fixed.

In other news I've been loafing. Post demo of my "randomized FPS gameplay idea and test of how much I could world size, complexity, view distance and still have something playable" (still available for download hither 120(ish)mb )I loafed. And loafed I did.

It was Xmas time and a certain amount of loafing was required but that appeared to spill over somewhat into me not really working for month. And from reading other peoples blogs I've noticed that I'm not the only person who seems to have hit the seasonal speedbump with a sudden wane in enthusiasm.

This only got amplified with a sudden urge to make a "strategy and tactics" game. Think sort of in the vein of the original X-Com (not the forthcoming X-Com as a 1950s First Person Shooter ... I mean, who thought ...

"You know what X-Com should really be about? A First Person Shooter set in the 1950s! Fund it!"


... and I think I need a close bracket here).

With an overall strategic map that gives way to individual battlezones for turnbased squad tactics, but ditching the isometric view for a mixture of overhead map and over-shoulder cam for the actual action. With multiple playable factions and a sort of steampunk setting. Steampunk not about matching a leather bodice up to a tophat with a couple of cogs on it, but strapping a deathray to a zeppellin and invading Antartica ... For the glory of a cybernetic Queen Victoria, cos if the British Empire doesn't, the Kaizer will, or worse still ... Americans ... with their preposterous ideas of Republic, freedom, democracy and all people being equal ... I mean they don't even have a goddamn royal family, powerless figureheads who have been specially developed through a thousand years of inbreeding ...

I had a very brief um-and-ah about the logistics of doing it all in psuedo-script, and wondered if I'd make a quick demo as a basic playtest ... and the answer was no. Or at least, not now ... regardless that "commercially" I reckon it's likely to hold a far better time->work->possible profit ratio, though that might just be the "familiarity breeds contempt" thing - I've been learning on the job for 2 years, and refining the narrative idea/levels progression concept for 3-4.

I had replayed my demo and rather enjoyed, though need to sort out the armour->damage effect on the player as I think it's overly harsh now.

Back to the grind of my original gameplan, namely one first person shooter, single player narrative campaign with associated replays of all levels in randomized all-action mode.

Anyhow, I wanted an intro sequence, something set to music, why not, everything else has. And I figured long ago that drawing the damn things as comics would be a lot better than disasterously animated 3D manikins with poor voice acting - cos that was the only alternative one bloke in his bedroom can come up with. So I figured that I needed a system of doing full colour drawings, and being able to knock them out fairly quickly ... hence the new avatar.

Actually I despised everything about it initially ... but after staring at it on the forums for a couple of weeks I've "grown accustomed/given up caring/find it less hateful" to it.



But it took me over9000 hours in MSPaint ...

Which isn't so great. And as I'm going to have a fair few of these liberally scattered about as cut sequences, time is of the essence. So, after much practise ... it's not really got any faster ... and nowhere near the 30 minutes I was hoping for. So post completion of intro sequence, we'll be cutting back on the number drawings - though I was already of the mind to make them "reuseable".



Which brings me to the logistics of actually doing the intro sequence. Initially I thought that I should just script a GUI sequence but have now decided that video is the probably the way to go. Hyperthetically speaking - the player starts the campaign, theora video plays inside a gui. There is a "skip" button, because no one likes intros or cut scenes that can't be skipped, and there is a countdown timer telling the user exactly how long they have to sit there if they don't want to skip - because nobody likes watching cut scenes when they need the loo and aren't sure how long they are going to have to hold it in for ...

---------------------------------

And that's enough reading for you, me thinks.

Intro Sequence isn't completed and still needs some more drawings, then it's sort out the action for my "premade many moons ago" corridor crawl, which was always supposed to be level one ... actually the demo level was supposed to be level one originally, done as a full exploration no shooty-shooty level but I thought I'd throw in 2 earlier ones for a more varied all action beginning (with short range and long range based gameplay respectively), so level one is now level three.



Remember this? Wow, that was a long time ago ...