Monday, 30 November 2009

Organic Modeling Redux, WM(in)Ds, Melee, Dewicious Spam

The problem with an organic approach, particularly to modeling, is that it's rather synonymous with not knowing what you were doing, but you still needed to get something out.

So, I've remodeled and animated my player models "correctly", dropped my previous "hax" after finally working out how blended files are supposed to work, sorted out the various blend animations, and done a fair bit of "rejigging" to remove various issues of bad deformation.

In short, stuff I'd done previously ... and then redone previously. And this time it's done properly ... after a whole load more reading up and experimentation to find out what the hell "properly" actually was. This ... is the organic approach to modeling. The modeling done by someone who doesn't do modeling. It deals with small pushes forwards culminating in a far off strategic victory, and thus - global domination. After all what is the point of being a tinpot dictator, if you can't be tinpot. Surely one for Philosiraptor.

Whilst this all takes a great deal of elbow grease, the results aren't particularly good in a screenshot, so you'll just have to take my word for it when I say I've been doing all of this ... and not just playing annoying PuzzleBobble Soccer flash games - which I'm now firmly on the All Time High Score list for.

But the Interwebz demands pics, or something didn't happen, so here is not so much W-M-Ds as W-Min-Ds.


Cricket bat with a split in it held together with electrical tape.

Melee ... does the engine come with melee ...

Of course it does, it comes with everything ... everything which you can make - so I did.

Classic (and I use the term in the widest possible sense) FPS melee. Animation plays (via the recoil state no less - makes sure it doesn't get blended with other blends), delayed raycast (to take into account time for the swing back) goes out 2 metres along the eye vector, damage and impulse done to anything hit exempting self and weapon.

As part of my "bring player model up to speed" efforts, I'm including player gameplay attributes - which is probably the same thing really - and that of course means weaponry. I've gone for the old school approach of allowing the player to be "tooled up to the nines" with bags of weapons ... probably 20 in all. That's 2 weapons per numerical key a la HL2. SO I wrote a little script for that, trying to do it on the cheap. It worked fine, though someone pointed out that it's not networked - and whilst MP isn't really my thing, I did want to make nice script, so redid it so it'll work in multiplayer.

Also thoughts of finalizing my AI, something which I'll do once I've completed my player gameplay attributes.

In other news ... it's cold, someone ordered Winter ... it wasn't me. Also Chinese Haxxorz? On my Box? Apparently so, though the old Mark.1eyeBall nailed the suspicious files before AV or Defender got their act together. Eventually security agreed with me that something was wrong regardless of initially saying everything was fine which it clearly wasn't, until it tried to dial out to some spamsite in China.

Disaster averted ... only for some days later my file structure to corrupt. Retrieved ... I feel some nice new HDs coming on, and not the type I've spent 3 years complaining to Dell about. And if I'm going to have to install everything from scratch again - I might as well ditch Vista for W7. We shall see. Amidst all of this fervour bent over a keyboard, lack of benchpressing has turned shoulders to jelly and the first twinge of trapped nerve has reared it's ... I don't know, nerves don't really have heads ... but if they did it would have reared it. Hot water bottle down the jumper.

Didn't I promise you good folks Spam?

Mummzy has got a book out, first in years. Published on the cheap, you have to do your own cover - cue the BA Hons PGD in Fine Arts which I don't put behind my name because they look silly. Originally she wanted some sort of terrible Conanesque 1970s fantasy boobz-and-swords cover ... I managed to talk her out of that. Haven't plugged the old tablet in for a freehand draw in aeons - it's been all texture making recently. But good practise for my ideas of comicbook cutscenes/intros/etc.


Over9000 hours in MS Paint - honest

The publishers asked for a bleed, I gave them one, then they didn't use it, making the cover slightly off centre. [/RAEG]

Spamwich available from Amazon US or UK

[/end_of_spamwich]

Righty ... next up will be completing the player methods, sorting out some more weapons and tweaking the ones I've done. I'm up to 6 types at the moment. I'm thinking along the lines of keybinds sharing 2 types of vaguely similar weapon types:
1. Melee Weapons
2. Shotguns
3. Close Range Firearms
4. Rifles
5. AssaultRifle w/ GrenadeLauncher
6. Light MGs
7. Rocket Launchers
8. Energy, laser, sci-fi rifles
9. BFGs
10. ... er ... not sure. Grenades? Or I might put them somewhere else.

The there's a little case of remodeling all the other player/AI types, I've got one romper-suited, bunny slippered, comedy player model finalized, but the others require anywhere between redux and starting. And then bad guys of a scary nature ... and then AI sorting out, and the pathfinding tweaking. And then gameplay in the first level, and guis, and some other stuff.... and eventually a demo, just to get some performance feedback. Oh, and learn Fmod I guess. And ... you know the score...

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

Also, Ball of Fruity 6 is out - I have not purchased. Not because of any Interwebz Picket Line over the PC user getting a beating, but because I've been busy (read the above bit ... it details this stuff).

Now - this got me thinking:
If one of the leading PC multiplayer experiences has ditched modding ... will other 3A franchises follow? It could be that ... at some time in the future ... the only way to mod, map-make or customize ... may be with an Indy game.

Sunday, 25 October 2009

Lights, Lightmaps, Levels, Lorries, Lying Down Animations

Grasping at straws for another "L" word in the title. Licensed Fraps could have been it.

Level geometry complete-ish, lit, lightmapped, populated with stuff.


Stuff has mainly been pipes, lot of brass stuff lying around on walls and ceilings, to make the corridors look a little less bare. Various signs, some helpful with directions, some for comedy. I've also repolyed my cars and trucks, so that they look somewhat better but still stay away from overt realism. And I've got some simple flashing two-tones.


It was looking a bit clean, some damage decals took care of that

I'm a great believer in dog-legs and multiple height overlays in level design, giving the player the chance to see places that they want to go, have already been, alternative routes, and places which they can't get to but adds to the ambiance, illusion of immersion.


Multilevel Crossover Madness - with the opportunity to jump/fall through damaged railings onto other catwalks

There's two seperate routes through from the start and finish of roughly equal length, various chances to crossover and swap them by jumping, falling, not looking where you're going. Both routes are a mile long and come together for a final sequence, plenty of signposting to avoid running around endlessly in circles - because being frustratingly lost is not fun.



Lightmapping has been great, and the ability of pureLight to design everything at once in Blender and then export it in position -rather than lining it all up as I had previously in the world editor - allowed me to add more stuff, like pipes to the walls without having a nervous breakdown about placement.



Feeling decidedly unfit, I embarked on a masochistic hike over the roughest part of the Yorkshire Wolds, and only just made it back alive. I did however grab some nice reference pics of the area for future use, and the abandoned medieval village with ruined church at Warram Percy. linky


Ooooh, spooky

Having worked out how the particle editor functions for a bit of smoke and fire and with my intro levels geometry pretty set, I've turned my attention back to the gameplay, player models and AI. Crouch and prone animations have been done, and the necessary changes to the code implemented to get them to work and also to get the side/back animations for swimming. Still a few things require sorting out, rebuilding of the joints to deform better, some decent arms and hands, etc.

And needless to say the weapons also need a bit of an overhaul. Not just with a few extra polys here and there but also some scripting to get them to work via magazines rather than just an ammunition pool. Save that they're fairly done though.


Choice of comedy hairbands

And to the AI. I've got some pathfinding crammed in, and it seems to work fine, regardless of the day I spent trying to destroy it by getting the wrong end of the stick. So my AI will need a bit of an overhaul too from their ancient origins back when I made my first demo in TGE some 16 months ago. No doubt this will take a bit of brain work, and it'd be useful to have a look in the code and see what controls the stances available to the AI, so that I could script a doPose(crouch); function and the like. It'd be nice to force the AI to hit the dirt when they're getting shot at, rather than constantly crawling around in a scary way as they default to the prone stance for reasons only known to themselves.


Trapdoors never have enough amusing warning signs on them

And after all of that it's scripting actual in-game play. And sort out a gui, mission progression, bits inbetween, a savegame() function, a ton of other things, and a new demo. Don't hold your breath on the last one ...

Did I mention lightmapping? And licensing FRAPS - no more 30 second vids with a watermark then.



A quick run around in Advanced Lighting as a test. 44 seconds.
Link for HD



And an abbreviated run through in Basic Lighting - no spec, no normals, just a crappy PC. 8.28 minutes.
Link for HD

And this brings me to something else - moozik. It ain't the sort of thing I can do myself, so I've been spending lots of time listening to licenseable royalty free tracks, mostly from sites that I've seen linked in blogs here. Looped twice to fit the length of my vid is "Time" by Milkman-Dan, here used with newgrounds.com non-commercial/share/attribute license. I also noticed that he's listed on AudioJungle.net for licensing.

Tuesday, 15 September 2009

No Deer For A Month

Homer: "You got it, no deer for a month"
Marge: "Did you say beer or deer?"

No blog for a month, August passed by unblogged. So this is megablog ... or not, as the case may be. But there is stuff and quite a bit of it.

Also no Swiss Toni this time ... or ... ever ... again.

I'd made a whole load of stuff, props and the such. And then gone back and resorted my original ultra-low poly car because all my newer stuff really made the very old models look bloody awful, so I need to bring a few of the older stuff up to scratch so it doesn't look out of kilter. Whilst I was at it, I stuck a little scripted flashing blues and twos in there, so the emergency lights loop a consecutive red to blue on. For dramatic exaggeration I slapped a "corona" on to the flashes, just a few intersecting planes of translucent texture. Though it makes a rather nice effect. The models now also have glass and an interior.


New motors ... still lowpoly, with a base texture for the body until I do something more

I'd set about populating my initial huge level with various new stuff, as well as blocking in the portals and zones, and then testing various versions/sizes/numbers of zoning. I'd also thrown a huge load of triggers out, controlling simgrouped lights for each area, turning them on/off as required with the player's progression/backtracking, and this saved a great amount of fps. Not having submeshes rendering when out of view would do the same, and I know there has been some talk amongst the devs on this, but in the meantime this proved a good performance boosting workaround.

The stuff is your standard low-poly sofa, bed, piping, consoles, wardrobes, toilets, showers, etc. As well as a host of monitors, some with helpful information like directions, and some with various scripted flashing messages using hidemesh rather than ifl. Also thought a bit more about player related gameplay, and decided to go old school, so no recharging health and you'll be able to carry 20 ridiculously large BFGs. However none recharging health means medkits, and I don't really fancy have tonnes of them lying around. There are plenty of games which have a finite amount of these things, meaning if you're not doing well, you can soon run out of supplies in the game world, making completion of a dangerous task impossible due to low health.


Aidstation with clear and amusing instructions - in Advanced and Basic Lighting

So I came up with the cunning plan to have AidStations dotted about my game world. A bit like HL2 does, but with infinite reuses - only it takes them 60 seconds to recharge. Fine if you're hurt and have to run back/forwards away from the danger to get healed, but rather more tense if you're being chased by a big beastie and are trying to avoid getting hit whilst the timer ticks down to recharge. I'd had a look at how the "heal" function in stock T3D worked, and it's really more of an incremental health increase, I fancied something a bit fast and made a simple setdamagelevel call during onCollision. Run into an AidStation when wounded and get up to 60 health back, the blue button turns amber and depresses, the AidStation is unuseable for 60 seconds. Plus it's got the instructions written on it, so the player will understand what is going on in-game even though they didn't read the readme.txt manual.



So, I'd pretty much populated my initial level, when pureLight gets released, which makes sticking stuff in a whole lot easier, and also makes Basic Lighting so much nicer. Not that we were going to buy it initially, T3D was this years' major purchase, and I'd set the rest of my cash aside to pursue the great British crusade of trying to kill myself with booze. But after trying the demo - and working through Blender's exporting issues - I was pretty damn impressed.

Hence no deer for a month ... or probably longer. Having said that we haven't got off to an auspicious start and there was much deer last week due to the English soccer team qualifying for next year's World Cup.



But we have got off to an auspicious start with pureLight, which is pureWin.

Basic Lighting with toneMaps now looks just like Advanced Lighting minus spec/normals, which is pretty damn excellent. To dip my toe, I have exported the first area of my big level, filled it out in Blender, minus any dynamic objects such as flashing screens etc which aren't in the screenshots - though I have placed the occaissonal amber or blue ambient glow on the lightmaps to show where they're going.

So the key for the screenshots is Advanced Lighting as the top image with Basic Lighting underneath. I divided the scene into just a few meshes, props/ablusions (all down one end for culling), props/area1 (almost everything which isn't wall/floor), props/bedroom (key point, requires extra stuff), emissive matierals (glowing numbers), translucent double sided materials (scrolling, floating console screens), and the main area geometry (everything you walk around on).



Then I slapped in a few lights, mimicking the illumination in the lightmaps, but also in Advanced Lighting it gets teh specular and normal maps to work. And it's this extra specular effect which makes the Advanced Lighting screenies look more 3D with the normals, and also a little brighter than the Basic Lighting, which is just using the lightmaps for geometry illumination. Of course anything without a lightmap (dynamic object like the player), still get the pointlights of the game engine shining on to them to provide illumination.



The ability to export an entire scene from Blender and have it arrive in the same XYZ in T3D with lightmaps is fantastic, no more messing around trying to line things up in the editor, no more worry about an absence of shadows, and objects looking too stuck on one another. I'm hardly going for realisim, but the painterly lighting effect that pureLight gives are opposingly subtle, dramatic and artistic.

It was also nice of the guys at PL to send me a better ASE plugin for Blender. I haven't had time to see what difference the newest PL version has with the Blender's terrible attempts to manage the Collada format, but hopefully Blender2.5 will address some of these.