Showing posts with label model. Show all posts
Showing posts with label model. Show all posts

Thursday, 31 July 2025

Shields, Spears, Seaxes and Warbands

Saxon Warband - you can tell they're Saxon because of that one guy with a Seaxe and the bad teeth

So after getting parrying work last month, it was time to work on shield guarding. Shield Guarding is the easier version of parrying, were you hold up a shield and let the other guy hit you, and the shield absorbs the damage but the defender loses Stamina. If the attack does more damage than the shield's defence rating, then the defender will lose even more Stamina, and if their Stamina reaches zero, their guard is broken and they are staggered - cue free hits. Shield Guarding also slows the player's movement speed.


 With shield guard added to dodge and parrying, the basics of combat are pretty much finished. I did some tinkering with the Ai and they now hunt their opponents on actual sight rather than the previous positioning system I had in place. This makes combat a lot more fluid, and here's a video to prove it, including a brief "look the Ai can now Shield Guard" at the beginning.


 I also noted that the Player themselves could only lock on and off of a target. The camera would then revert to whatever direction it had  before the lockOn occured, and this could be rather disorientating if the Player had done a lot of moving around. Now the Player can cycle through targets left and right by line of sight, and when they end lockOn, the camera stays where it is and just gives input control back to the Player.


 Next up is the crux of my game concept ... warbands!

Warbands are basically teams - and I've got 16 of them with full equipment lists -  that will trudge around the game world, looking for loot and combat. Whilst the main theme is warbands wandering around fighting each other and the Player scavenging equipment/coin/XP from the dead and dying, I am planning on letting the Player eventually being able to join or ally with one, probably for a Danegeld or something. So they'll be a friend/foe system based on previous encounters and the warbands won't always be in a rush to spill each others - or the Player's - blood until something kicks off and vendettas occur.

Norse warband - you can tell their Norse because of their armour stats which I don't currently have models for ...

 I am testing the warband system with just two teams at the moment, Saxon and Norse. This has meant a sudden influx of modelling, as for testing equipment I have needed, axe, longAxe, spears, seaxe and a variety of shields, Targe, Rond and Kite. And then there is the armour, cloth, leather, lamellar, chain, brigandine and plate. The armour is equipped fine and the defensive stats get set, it's just that I don't yet have any armour models so to show that the armour has been successfully equipped everyone has taken to wearing a box on their head.

I also only really have one handed sword animations at the moment, which tends to look a little odd when someone is holding a two handed Long Axe, and combat with a spear involves more thwacking than poking at the moment.

 Each warband has a list of ranks which, apart from equipment, basically detail the attributes and available XP for upgrading that character. Ranks are based on warband type, so the Saxon Fyrd is heavy on low quality levies for the shieldwall with a single Thegn (elite/Knight) and a couple of Huscrals (Men-At-Arms/Heavy Infantry) and no standard Soldiers, whilst the Norse are a more professional outfit of raiders, which make them much more expensive. Both side have few archers and I the datablocks and animations for projectile weapons are still very much on the todo list. For the moment I am concentrating purely on melee, and getting the warbands to move from one location to another as a vaguely cohesive force.

Rather like good old Warhammer, each warband will get the same amount of army build points, set to whoever is the most expensive for a basic force of 10 troops. All other warbands will then get the opportunity to deploy more men, so the largely peasant Saxon army will field 19 troops for every 10 Norse. Whilst the Fyrd's levies may have poor armour, and no bonuses to physical attributes, that is still a lot more spears to be sticking out of a shieldwall. 

Eventually I will get round to battle tactics, such as shieldwalls, but for the moment it's just charge at the enemy and start swinging like a madman.

Next up is getting the warbands to move around to certain points of interest which are just markers placed in the editor. Once I have an actual terrain map these points of interest will be a lot more interesting.

Once the warbands are fully up and running I will start on modelling armour so they finally begin to look the part. 

July is over and it's already August in Space Year 2025. Stop the world I want to get off! 

Monday, 31 March 2025

The Great Rebranding

Monsters Loot Swag - rebranded

 The Great Rebranding of Monsters Loot Swag is upon us.

I decided with full release from Early Access due soon™ that the main brand artwork would benefit from being in the same style as all the other character portrait art, and so set about coming up with a new paintings. This is also the style which the intro and outro sequences will take - and that itself is currently the immediate ongoing work, and really the last thing to do before full release.

Early Access has alas not worked out as I had originally hoped for, being immediately lost into a sea of being ignored, but then I expect that this is just how it goes for the average no-name indie devs launching early access games.

One thing modeling related which I have been doing amongst the veritable onslaught of drawing, has been to retopographize some of my earlier catgirl models. Previously I had used a Blender3D plugin to automate highpoly models down to lower tris counts. Whilst that had saved quite a lot of time, the tris count was still rather high considering the game is a top-down shooter with the characters being fairly small on screen, and the resulting UV maps were horrible strips, not the sort of thing that could ever be considered modder friendly.

Left: Automated; Right: Manual Retopology

 I had used the custom generic player character which I had manually retopologized from April 2024, and this itself reduced polycount by around 60% of what the automated plugin did, all whilst preserving human readable UV maps. I find that due to the small size of the player model on screen, that baking ambient occlusion into the albedo/colour map improves how it looks, even though ambient occlusion still takes place inside the PBR ORM map (occlusion, roughness, metal).

The generic retopologized human character model

So, once again it was a case of do not send a machine to do a man's job ... and all of the presumed labour-saving of yesteryear had been for naught. So now, I am the proud owner of 8 lowerpoly catgirls who all weigh in around 4-6K triangles.

In frog related news I have been forced to put netting over the frog pond as my local murder of corvids have been committing murder in the frogpond. 🐸 

I have been feeding the crows for a while and they've always been very friendly so this sudden turn of events was completely uncalled for. They're big fans of that awful US style burger cheese (wouldn't touch the stuff myself) and also rather fond of monkey nuts, when they're not getting gristly bits of steak or other cutoffs. Also I've seen them beat up Herring Gulls which is what I really want them hanging around for.

So that was the month of March space year 2025, and my efforts to finish off the fluff piece of explaining an actual plot for Monsters Loot Swag continues, taking up much drawing and GUI planning, with all still on course to ship in April.

 

Friday, 31 January 2025

Space Year 2025

 🎵 In the year 2525 ... if man is still alive ... 🎵

Well I feel barely alive in the year 2025 ... mostly due to having come down with the lurgy ... or the space lizards frying my brain with their invisible doom ray - sometimes it's hard to tell the difference. Fun Fact: I met the guy who did the intro to that song and my dad jammed with him a few times.

Work to complete Monsters Loot Swag continues in earnest. With all of the cosplaying catgirl characters that the player can unlock and control now compelte, it all comes down to designing the final level and final level boss.

For the last map I've gone for a HR Giger / Z Beskinski surealist horror aesthetic. This has required me to make a lot of custom textures, which have been taking up the greatest part of this, the first month of the year. After a while I found my eyes going funny looking at all this stuff.

The Final Countdown With The Final Level

All the rank and file enemies for the final level were designed some time ago, and naturally there will be tentacles, for, as we all know, tentacles are the natural predator of overly excitable catgirls. Once the final level is complete I need to make the level boss and then just a bit more 2D artwork for the randomized "souvenir" system which is already in place and comes with three whole Steam Achievements.

After that I think I'll do a little rebranding of the Steam capsules with some new artwork.

And then it's shipping, come hell or high water.

Early Access has been somewhat disappointing without a single useful crash report in the forums, but alas I expect this is just the price of being a brokeass non-name indie dev in a literally sea of brokeass no-name indie devs. The most useful thing was when the engine got updated to give me feedback on misnamed script errors, something the script IDE alas doesn't. This helped me fix a fair few wrongly named or non-established local variables, the sort of thing that could and probably did cause crashes.

I still have all my Steam Visibility Rounds available for full release, so we will see if that helps boost eyes on at final release time. I remember it working quite well for Airship Dragoon but that was 10 years ago with considerably less released products jostling for attention. Anyhow, we won't know until we launch.

So next game ... how to get eyes on game at release? Early Access gets drowned out so I'm thinking maybe an open beta? Just let folks actually have a play around with a basic but working build and see if they fancy wishlisting it? Well it's a thought, and I don't have any others that cost zero dollars, so we'll probably go down that route.

January is over already, that's like 8 percent of the year gone, which is about as horrifying as it already being Space Year 2025.

Anyhow, back to going googly eyed with Gigeresque texturing ... 🥴


Wednesday, 31 July 2024

More Third Person Melee Mayhem

Finally, summer has arrived in the dreary part of grim northern climes, though July started as June ended, with weather best described as "crap", and a sudden return to wearing jumpers.

Game development-wise things have continued much as before, with the vast majority of effort being aimed at the third person melee project demo.

I had long wondered what the best way of getting different clothing and armours onto a model would be. Many moons ago there was a turn-based RPG there was a post-apocalyptic neo-Roman game ... who's name escapes me ... and they literally had to load every piece of armour that the player could wear onto a single model and use the "hide/unhide" commands. 

Well many moons on from this and it looks like the only way to accomplish such things appears to be in the same manner, as you cannot just mount meshes and have them conform to the character's skeleton and mesh weight painting. Deciding that making a single model with EVERY PIECE OF CLOTHING that could ever be considered was not a great method for potential later updates, I delved into the engine to see how best this could be accomplished with code and script. The answer was to add a list of meshes to the character model's constructor, though this did mean it all had to be done at preload and was thus impossible on the fly, so once again, we are back to "hide/unhide" commands. However, at least this way it could be automated to search for all available meshes (and their LODs, which have to be added seperately per mesh), rather than sticking it all in the model and never being able to change it later.

Behold The Hat Of The Ages!

The Shape Constuctor code for adding meshes was somewhat out of date and relied on directory locations, so I updated it to deal with the engine's asset system. I'm thinking it would be best to have a function look for all relevant assets - probably from a folder naming system - and then add them all at runtime preload to the character mesh, followed by immediately hiding the added meshes and then only displaying them on the model when specifically called for; eg: when the player slects clothing or armour. I am not currently certain what the limitations on numbers of meshes would be this way.

Orientated Box Outline In WorldSpace

 Speaking of coding, it took long enough to get my custom code and the debug drawer to agree exactly how an oriented box works in world space. I had an idea for testing for blocking and parrying by using the actual strike/bounds box of an object, except weapons are not actually objects at all but are virtual due to the FSM system. After some testing I decided it was going to be difficult enough to make a successful parry this way and will probably go down the Dark Souls route of using animation frame timings - though unlike Elden Ring, I very much want to avoid this being tested on the client side as that appears to highly exploitable to hacks.


 Whilst I had coded a lock-on target system a few years earlier, in practise at melee attacks it was not always easy to actually strike the target, regardless of it being screen centre, and quite often I could miss and my strikes would go just wide. I decided to code a toggleable "face target" system, thus allowing the player to decide whether they wanted to absolutely aim for the enemy at the loss of movement speed due to circling side to side or backing away.

This worked fine but seeing the player spin in place to face the opponent seemed very 20 years ago, so I went back into the animation system and coded a speeded up sidestep when doing it.

Artifacting gif is artifacting ...

Whilst adding things to the lock-on system, I thought it might help to distinguish which target it was by having a health or status icon. I started off with a health bar over the target that reduced in size the further away, eventual throwing the lock-on off if the target was too far away. After this I thought I might create a central lock-on icon, for instance Elden Ring has a tiny white dot at the centerpoint of the target. I found this and the opponent health bar to be a little too busy on screen, so made the central icon a circle which changed colour depending on the target's health.

Whilst testing lock-on I discovered an issue with my original code from a few years back, I had always tested it with the player moving around the target, but not the target moving. This turned out to cause some nasty jitter due to the client being a tick behind the server. Rather than mess around in the depths of prediction I just took some old "target heading and velocity aimpoint" code from my old Aeronauticals air combat demo, and retrofitted it to have the client look 0.064 ahead, 1 server tick and 1 extra tick for the client being an engine tick behind. I added this code to my resource on the Torque3D website and slightly rewrote some of the original lock-on code to make sure that everything was using the render transforms that the client was seeing rather than the actual server positions of objects, something which I had previously noted in code about displaying names above objects whilst looking into coding the health bar for the target.

In other news some muppet crashed half the world's computers and offered discount pizza as way of apology. It turned out at some point other computer systems had been updated too, and Monsters Loot Swag no longer worked on Linux due to changes with Wine and so the DirectX driver needed updating ... but apparently no one mentions these things and you just have to use The Force to find out. Turns out there was a slightly larger D3dCompiler47.dll which needed to replace the slightly smaller one. Monsters Loot Swag now once more works on SteamDeck.

And that was pretty much July, numerous other things happened which I cannot remember, I got a tan when summer eventually arrived because you just don't know when the free vitamin D is going to disappear around here. After months of drowning in a seemingly perpetual deluge of rain, I am back to hoping for some wet stuff coming out of the sky as my water barrels are empty and the veg patch is parched.

Next month is the 10th anniversary of Airship Dragoon being on Steam. I thought about maybe doing "something" but the models were all exported using a system which doesn't exist anymore (pre-Collada), so anything new would not be compatible with older animations ... which is a bit of a bummer. The past is a foreign place where they do things differently ... so I think I will just let sleeping dogs lie on that one.

Tuesday, 30 April 2024

Terrors Of Retopology Part Two

New UNLOCKABLE Character: Introducing POLARIS

 Monsters Loot Swag got a new update on Steam, this time featuring a new playable character named Polaris, who is a close range, melee based character with a pechant for saying; "Omae Wa Mou Shindeiru".


 Polaris utilizes the cleaned up auto-repology I created last month, with the character weighing in at around 8K tris, with a lower LOD of 4K - down from the standard 12-16K of the other characters. However that did get my thinking that I could probably make a perfectly decent lower poly base mesh with some decent deformation at the joint from scratch.

Base female mesh created from scratch with 8 face limb edge-loops

This weighed in at a mere 3K triangles and had fully working fingers, something I had not really bothered with in the previous character models. I had started off by deciding to have limbs with edge-loops of 8 faces and built it from there, using the silhouette of my previous base character, which was a chunky 20K tris. After creating this first LOD, I made another from scratch, this time basing the limb edge-loops on 6 faces, which weighed in at ~2K tris, including fingers and some other details which probably be removed for an in-game model.

2K tris LOD with 6 face limb edge-loops

After this I decided to make a base male character model using the same technique, something which I could plan my next game project with.

Next game project base male mesh idea

With that done I wanted to have another attempt at animation using rotoscoping. This would probably work best with multiple cameras, but I could only rustle up one working camera for a side view, so had to ad-lib for a facing angle. Initially it looked a bit wonky due to lack of space and cutting my own feet out of view, but when it eventually stopped raining for 5 minutes, I could go outside and refilm myself acting out some movements.

Rotoscoped Animation

And behold the end result was not too bad. The downside is that without exaggerating some foot movements, it tended to look like the back foot was getting dragged and just blending to position, but then the exaggerated movement looks a bit twichy. Either way, bottom dollar motion capture is perfectly feasible, and I may go looking for a second old camera, so I can get a front-on view as well as the side angle, which would help bone positioning in the other viewport. I don't think it's neccessary to glue ping-pong balls all over myself whilst doing this, but maybe not wear baggy trousers next time - but hey, Gen-X here, we even had a song about them.

The next game project is going to be the hack-and-slash concept I've had for a while, and whilst I would like to do another ridiculously giant project with an RPG, I have decided on a more contracted gameloop idea. I was tempted to make it a side-scrolling arcade style slasher, but have gone back to my original free-cam idea, were the player can rotate the camera view as they please.

In other news I was clearly too optimistic about the weather and whilst the Spring duvet remains, I quickly ditched the Summer pyjamas and went back to the Winter fluffy jimjams. It has been bloody freezing, but hopefully this will change. Fingers crossed for May.

Sunday, 31 March 2024

Terrors Of Retopography

4K tris versus 8K tris

 Amongst a slew of bug fixes I have been designing a new unlockable playable character. This has once again led to problems of topology - or more accurately retopology from a not very high poly character to a much lower poly character.

You would think that there would be some automated plugin that could do all of this for you, that it could take a mesh with a lot of triangles and reduce it whilst keeping some semblance of the vertex point weightings. And there is, and it can ... except you have to kiss goodbye to your nicely laid out UV map. Now you try modding this ...

Behold the computer generated horrors beyond your comprehension

It does a really good job of decimation and a really terrible job of UVs, textures and materials in general.

The problem appears to be that my starting mesh is some +20K tris, which is great for an up-close viewing of the character - especially in the viewports of Blender - but not so great when you want it reduced auto-magickally. Especially as I hate manual retopology due to it being the utter epitome of donkey work.

If only you could just remove edge loops in a sensible way - but wait! You can! Blender has it's own decimate modifier, and surely loops can be reduced just as the can be increased? Yes but no.

Just auto-reduce loops bro! Yeah but nah, but really wtf is this?

However this is something that could be cleaned up, and in the end I did, thus using that as a new basic mesh to work from, and it's a much more reasonable 6K tris. And after customizing that to a new character, it can be manually reduced by merging loops to keep the bone weights and UV maps intact.

Try and spot the difference from the actual game camera height

 Once again the real problem seems to be the tunnel vision of working up close in the modeling editor, and I am sure that that 4K mesh could get some more reductions without anyone ever noticing. However it appears to be not just me that goes overkill on character meshes ...

Squint percentage per eye ...

Dragon's Dogma 2 character creator allows for squints by percent per eye ... but in-game, your character is barely a third of the screen in height. Not sure that is going to be all that visible when your character's head is only 64 pixels.

My new playable catgirl cosplayer is called Polaris, and does that 北斗百裂拳, Hokuto Hyakuretsu Ken thing minus the waaa-ATATATATATA battle cry, so you'll have to shout it yourself. The character portrait isn't completed yet and I'm still balancing the stats and attack attributes, so update to Steam should be next week.

It's British Summer Time, at least horology wise, I am removing the winter duvet, so naturally the weather has taken a turn for the worst. Maybe with April here Spring might finally start, as it seems to have done nothing but rain and be generally miserable since October.

 

I also had a thought about the methodology of making a roaming brawler, one where the player could upgrade to the move sets and customize their own controls based on fighting styles and how to code this as combat events. This brought me back to thinking about the melee combat system I coded an example of previously which uses hitboxes, and whether that would be good gameplay system; a (probably side) scrolling roaming hack and slash where you level up your character not just with attributes but also armour and weaponery, restarting each "run at the game" with all the new stuff you earned in previous runs. This way the player would start off very weak and get killed quickly, then spend whatever XP you acquired on better stats or kit and go again, eventually leading to the player becoming massively OP in early levels. It would work a bit like reverse permadeath, with the player's XP being permanant and allowing the unlocking and equipping of better weapons and protections but also melee based move sets that could be customized to control binds.

As Monsters Loot Swag near completion, 1 more level with enemy boss, and 2 more playable characters to add, I am beginning to think more of what the next game will be, and after having created the proof of concept for MLS NINE FUGGING YEARS AGO I think I need to work on a shorter development cycle for my next project.

Thursday, 30 November 2023

Novemeber Cometh November Goeth

 

November has come and gone in what felt like record timing. The Steam Autumn/Fall sale is underway and I threw in Airship Dragoon for the Steam Awards category "Labor of Love", due to updating it after nine years on Valve's platform. More on that available on Steam.

November was a blur of getting the dreaded lurgy - which seemed to take forever and half a million hot toddies to clear, and testing, testing, testing ...

Testing many, many things ... 

Such as trying to lower the polycount on Monsters Loot Swag models. Previously I had used an automated plugin to reduce polycount for Level Of Detail, however this made a horrible mess of UV mapping. So I decided to try Blender's own decimation tools such as "UnSubDivide" - which would surely reduce edgeloops by simply unsubdividing the mesh ... yeah, well, actually it didn't ...

Unsubdivide edgeloops ... unsubdivides right?

Almost like it does one half of the body fine, then gets bored and just compresses the edgeloops and swaps to the other half of the body.

I am not a fan of retopology because I do not understand why it cannot be automated perfectly - especially on a model with perfectly equal edgeloops. This is the exact sort of soul destroying donkey work which should be easily automated and technically is automated if you want it to be a shyte ...

I did try a number of other programs - which I believe cool kids call "apps" these days on the grounds any word over four letters is too difficult or energy consuming to utter. One of these was MeshLab which seemed to do a fairly decent job at reducing 25K to 7K, though I still felt should have saved the UV map better. Or I could just manually retopo, but as I have avoided doing that for years I don't really want to start now ... especially as getting mesh deformation to not be shyte seems to be even more of a pain in the arse ... see below.

In addition to polycounts there has also been a whole host of messing around with the newer aspects of the engine which has been the focus of the Monsters Loot Swag BETA test build. This has been a lot of testing, fixing, streamlining and bug reporting, all of which are slowly but surely going into improving the engine and game build, though at the moment there is nothing too concrete to show as a game update.

But back to low poly.

Low poly Lara with some good low poly deformation techniques

I started making a low poly character, in a somewhat stylized plane based style. Nigh on 30 years ago I actually sculpted this type of head in concrete with a metal frame made of metal coat hangers... which proved to be a mistake when attempting to move it anywhere as I had not made it hollow, and so it weighed a ton.

Low poly mesh deformation is somewhat more of a pain in the butt than normal. Got a bad deform when bend bones? No problems, slap more edgeloops in and jiggle them about a bit. Except this cannot be done when you are modeling a plane based low poly humanoid.

Back of the elbow needs to come out somewhat

The simpler meshes get, the more horrendous deformation becomes, and the more difficult retaining versus collapsing polys are.

This is all being done for two purposes, one is for a potential low poly with hard edges/planes style future project, and the second is for more practise in reducing topology whilst keeping good movement deformation for current work.

In other news, it's cold and damp. The Pentalon Javelins - that's a type of winter spud that is harvestable at Christmas, and not a 1950s RAF experimental supersonic jet fighter; though it really sounds like it should have been -  appear to have died a death, going the way of this year's strawberry crop under the chronic wetness. I've been eyeing up designs of a padded gambeson to try and survive winter and also padded armour may help survive the GREAT HAPPENING when the lights go out and society crumbles.

December approaches ... and don't even get me started on Space Year 2024.

Friday, 30 April 2021

Satsuma Camouflage

 The pub is open and the wind is cold. It's a Bank Holiday weekend, of course the weather is going to be terrible. I had a huge scone with jam and cream.

This month I have been modeling planes, 3 of them, and 9 different skins for 9 different factions. Part of the way through I discovered that the PBR map - known as a ORM map - actual stands for the order in which PBR goes into the channels and that I had got my Rough and my Occlusion the wrong way round. This explained why my ambient occlusion didn't look very ambiently occluded ... Having fixed this for all 4 damage levels, I could continue modeling new planes.

The Nakajima Type 91-1 actually did come in orange. I have no idea what Japan thought they could hide this amongst, perhaps tubs of satsumas? Here it is with the Tokugawa Shogunate emblem replacing the Japanese flag due to Deepest Lore™.

 
This thing really doesn't look safe and has a pretty poor damage rating, but it is agile.

Previously I had completed the Curtiss F-11C Goshawk and so set about making various skins for it. You will probably spot the theme of 19th Century Qing Dynasty due to Deepest Lore™. Here comes a lot of image spam.

 
Chinese Republican "Dare To Die Corps"
 
Cuba because it was an actual thing so I though why not ...
 
Qing Dynasty
 
Kansu Braves - referred to by the Western MSM as "The 10,000 Islamic Rabble" but was actually the Qing's elite fighting force of Islamic soldiers sworn loyalty to the Empress Dowager.
 
The Taiping Heavenly Kingdom - a ... wait for it ... Theocrat Anarcho-Communist Absolute Monarchy led by a guy who declared himself the younger brother of Jesus. Unlike Jesus he murdered 20 million people in 14 years.
 
Black Flag Army - Cantonese bandits who created hell for the French in Indochina.
 
Fists of Harmonious Justice - Boxer Rebellion
 
Five Banner Alliance - more anti-Qing, anti-foreigner secret society
 
Damage models for the Yellow Flag Army, pirates of Canton - sporting the pirate flag from AIrship Dragoon
 
Plikarpov I-15bis from the Imperial Russian Air Service, poor maneuverability but fantastic quad Maxim machine guns.
 
Polikarpov I-15bis in Chinese Republican colours

Overhead damage models of the I15-bis (top) and F11C Goshawk (bottom)
 
Testing vapour trails, which needed a bit of "fixing" for the source code

Here's a video of me testing vapour trails in combat.


And that was the month that pubs finally reopened.

 

Next up, more skins for the Nakajima, and perhaps one more aircraft before attempting to make an actual game senario with it all. Toodlepip!

Wednesday, 31 March 2021

Replace The Placeholder Plane

 Placeholder aeroplane, which I downloaded from some modding site that I can't remember, has been replaced by my own aircraft model.

It's an F11C Goshawk biplane, which is now itself a placeholder for all other aircraft which I haven't yet modeled.

I also coded a damageable area system to give the model a visual personification (don't really think that was the word I wanted but hey ...) of the GUI damage system.

Model now displays damaged areas the same as the HUD damage indicator bottom right

Initially this was just meshes that used the same colour system as the GUI/HUD damage indicator for area based damage so that I could see that it was working. The idea is that the aircraft model is made of multiple meshes, engine, body, tail, wings 1, 2, 3 etc and these meshes are displayed hidden depending on how much damage each individual section has taken. There are 5 levels of damage, the first being undamaged and the last being destroyed. Eventually when an area is completely destroyed it will spawn a debris or rigidShape of the part of the plane which has been shot off. Eg: the top wing will appear to rip off and the aircraft will plummet to the ground.

I also use this show/hide mesh system for the muzzle flashes of weapons. Previously I had simply hidden the meshes inside the model at a hugely shrunk scale, and then animated them into full size.

Next up was to test the PBR and make up some textures. I knocked up a very quick normal map and some metal and roughness maps. Initially they were rather dark, eventually I discovered this was due to too little roughness so that the metal map was rather overwhelming things.

Ignore the catgirls at the back, just comparing PBR ...

After a bit of faffing I got PBR materials working, and thought that the whole looked pretty good actually.

Not bad if I say so myself

After this I proceeded to test the damage system with bullet holes. Here I noticed a fair bit of stretching which could only be remedied by completely redoing the UV mapping.

And here is a test of an AI air battle using the PBR textures. In the end I get my top wing shot off, which disappears as there is currently no debris object for destroyed areas.

So, that was the month that was.

Next up are redoing all the texture maps, albedo - which I never seem to be able to spell correctly, never had this problem when it was called diffuse - normal, metal, roughness , AO and of cause all the accompanying damage meshes and maps. After that, on to more model aircraft.






Friday, 31 July 2020

My Feet Hurt, New Character And Goodbye DX9

So, apparently the new Blogger interface has been eating my images for the past 2 months ...
So expect to see a blank image leading to a 403 page soon™.

It's been the hottest day of the year here, so naturally I went out for a half marathon route march ... and now my feet hurt.

I finally finished off another playable character model, a shotgun wielding, propeller-powered catgirl, currently named "Southern Hospitality", complete with Daisy Duke hotpants. She has a short range playstyle with slow attack rate but high damage and medium manouverability. After each shot a new shell is loaded with a single handed pump-action for the obligatory "rule of cool".


And here's some video of gameplay.



Apart from finally completing a second playable character I have been porting over my project to the new and shininess which is Dx11 and OpenGl 3.2 (might be 4.0 I can't remember). This meant a final farewell to the much loved DirectX9.0c which I could just about write a shader with. No such luck on Dx11/OGL with such things as of yet.

This has required me to finally defeat the spaghetti code which I had previously wrote, slimming things down in C++ and removing bloat for the porting. I have only ported to the pre-PBR branch of the engine - so really 2019 code - as a stepping stone to entering the latest shiny stuff once I know what the hell is going on. So far so good. Everything seems to run fine - except for my broken Dx9 shaders but that was to be expected.

I've also stuck my hand in my pocket and made a new, capital purchase. Only had it out of the box once for a quick test. If Google hasn't yet fubared my images, here's a quick pic below.


It's been an awfully long time since I've done any drawing.

 
I also used a 14 year old camera to get some pics of Comet Neowise.



It was my parents Golden Wedding Anniversary. 50 years! Albert Speer only got 20 years in Spandau Prison!