Showing posts with label weather. Show all posts
Showing posts with label weather. Show all posts

Saturday, 30 November 2024

New Playable Character STARSHIP

 

New Playable Character STARSHIP brings the 1950s sci-fi vibe

Monsters Loot Swag got a new update on Steam, with the seventh playable character - and third unlockable - STARSHIP, who arrives with a cheesy 1950s sci-fi vibe. Duck Dodgers eat your heart out.

Starship is a high mobility and range-based character, and the only Monsters Loot Swag character who can truly run-and-gun without needing to slow down and aim to shoot.

And here she is in action.


And whilst we're talking about sci-fi cheese ... feel free to sing-a-long with ex-Pan's People cum Hot Gossip dancers, which I had on 45 speed vinyl ... which was a thing when I was a kid. I pity the younglings these days who will never know such joys as Gen-X took for granted.


 They don't make them like that anymore ...

Lord and Protector Gaben released a new Steamworks SDK build, which streamlined how player stats and achievements were obtained by the game app, with all player statistics now loading via the Steam Client before the game is even launched. Naturally thsi broke all my code which communicated with Valve's servers, so that had to be fixed ... especially for Airship Dragoon which meant hunting through C++ which I had written over 10 years ago ... whew lad.

10 years later and Airship Dragoon has achieved "Mostly Positive" reviews

And it wouldn't be a devblog without complaining about the weather! Err Nerr Snerr!


It didn't last long, just long enough for me to almost go arse-over-tit on an icy path, before a tropical storm came in and rained winter off again.

Monsters Loot Swag and Airship Dragoon are both on sale in the Steam Autumn Sale right now.

Next up, probably the final playable character for Monsters Loot Swag, after which I only have the last level to make and a few extra bits to tidy up before full release next year.

Monday, 30 September 2024

Autumn Arrives And Ai Attack

 The big Summer fan has been put away - not that it got much use anyway - and the Autumn duvet (which is just a second Summer duvet doubling up) is out. The slow cooker has been dusted off for comfy one pot meals, and the hot water bottles are at the ready.

And it finally rained, and my parched veg patch was happy, and all the water barrels got filled up, and now it won't stop raining and the veg patch is flooding.

Code wise, I've been working on my Melee Combat Demo, getting the Ai to fight one another.

The first problem was, well, the other Ai, and them getting in the each others way. In Monsters Loot Swag this was a more simple problem, as I could just have them jostle each other out of the way, with a variable to succumb to any charging monsters who were "coming through no matter what", like bosses.

In Melee Combat Demo I don't really want to shoving everyone and everything out of the way so much, especially if all the people in front of Mr.Ai are already engaged in combat. It's not very helpful to shoving your comrades onto the sharp pointy bits of your foes' weapons.

I came up with a simple; "is there a better target?" check. And if not; "can we easily get around the side?" of the queue in front of us, and if not then just wait. And if no useful data comes back, then to hell with it and go charging through like a bull in a china shop.

Ai use an alert system for readiness, which decides on how fast their thinking routine is called. It starts off at "chilled", increases to "look for trouble" and hits the summit of "oh shit things are kicking off" ... also known as 1 to 3. All these schedules for looping the think routine are modified by the skill or leveling of the Ai, and that is currently based on what weapon rank they are using.

Starting alert looks to do something, but at the moment all I want them to do is test combat, so they move to search mode and head towards any enemy that they can find. There is a brief lull between this and going into combat alert which means that in the test they do make physcial contact between the two teams before all hell breaks loose.

And here is the result of the testing, after I inserted many, many lines of debugging to the console to find out which bits of my maths were bad. Team Bill the blocky blue guys massacre Team Bob the purple-ish LODed guys with a score of 5-2.

Needs more work but it's a decent start and at least does work as team based melee combat.

In non-dev news, I actually played a game recently - shock horror.

Not since Ace Combat 7 came out have I actually played anything, but I got Kingdom Come Deliverance on sale some time ago, and took a couple of weeks out to hammer a good 130 hours into  it. I wasn't really playing the story much, just bimbling around medieval Bohemia accidentally finding side quests and generally shooting bad guys with arrows to slow them down and then stabbing them in the neck if they got too close. It's a strategy I'm sure worked in the 15th century too.

The game world is quite pretty to look at, the first person combat is autistic but passable.

So to the future, more getting Ai melee combat to work nicely, and then start thinking about equipping the characters with more kit. I'll probably also start thinking about making another playable character to be unlocked in Monsters Loot Swag, and probably complain about the weather more, but that's probably called sport to my Saxon blood. Also three probably's in one sentence is terrible grammar, so I'll probably stop writing there ...


Friday, 31 May 2024

Aurora Borealis And Prancing About For Rotoscoping

Chalmers: Yes, I should be--good lord, what is happening in there?!
Skinner: Aurora Borealis?
Chalmers: Ah- Aurora Borealis!? At this time of year, at this time of day, in this part of the country, localized entirely within your kitchen!?
Skinner: Yes.
Chalmers: ...May I see it?
Skinner: ...No.

But see it I did and it was spectacular. Alas I was only armed with an unfamiliar camera and had no tripod set up so the pictures were dark and grainy.

Monsters Loot Swag got another update, available on Steam here.

Much of the month revolved around me being ill with some sort of random stomach issue which has resulted in a detox diet, which isn't as bad as it sounds, though caffine has been kicked into touch.

When not feeling like death, I have spent the month testing more of my rotoscoping concepts for animation, still with only one camera. There has been much prancing around the vegetable patch. Cue list of gifs.

Two-Handed Lunge - The Disembowlment Special!

Wide slash with chopping followup ... The Double Whammy!

Two Handed Sweeping Uppercut - They Won't Be Expecting That!

With various attack types done, both single and two handed strikes, I needed more video of myself prancing around like a demented elf for standard movements, such as forward, back, sides, etc. This was however postponed due to WEATHER and lots of it. It had bucketed down days, possibly weeks, it's hard to tell when you lose all sense of the Space-Time-Continuum due to being excessively soggy.

Whilst waiting for the biblical deluge to wash the sinners into the gutter, I added a shield to my hack-and-slash base character model. Whilst I had posed with my arm out, pretending to have a shield - bokken I can muster, Viking rond alas not - I had not been too aware of sword or body penetration. Thankfully my sense of spatial awareness was quite good, and changes and rotations were kept to an absolute minimum.

It did finally brighten up today, and so I spent more time running about on the way too small available area next to the veg patch. After a quick rotoscope I have some basic forward movement.

Tip-Toe, Through The Meanies ...

After some consideration on forearm and hand deformation I thought it was getting a little too mangled at the wrists, and so edited the base character model to include wristTwist bones, which proved to give much better deformation than twisting the forearm and hand along the Y axis.

Slash With Shield

Skewer With Shield

Reverse Cut With Shield

So that was a very wet May, hopefully it will fair up come June, though ... how the hell have we got to June already????

Thursday, 31 August 2023

RIP My Strawberry Patch

There is a reason as to why I spend as much time as possible parked bollock naked outdoors, lounging by the veg patch, glass of (increasingly cheap - cost of living crisis / flagging sales / bad luck / terminal syphilis / name the James Coburn reference / etc, etc) plonk in hand and that is because of the unpredictable summers on Meme Weather Island (we used to rule the world, you know).

Here's a picture of a cut to break things up - not game related

Well it's been crap (again) and insesant (how many S's and in which order?) deluges have washed out the delicate summer fruits which barely got the chance to wither on the vine. Last year I was inundated with strawberries to the point of complaint and this year; nada. Circle of life, etc etc.

Meanwhile in the indie game development world; I have continued to port over Monsters Loot Swag to the new engine build. Art assets - mainly texutre images - had all been redone and modified as you can read from last months glorious endevours; as you can read here. And, yes, I also complain about the weather in that blog too ...

This is a cat pretending to be a dog, pretending to be a seal - not game related

This has left me to "just" - a euphemism that does not seem to carry the appropriate weight - update and transfer all of the gameplay scripts. Doing this in a methodical manner has been a long, dull, and extracting process, however I have discovered - and fixed - a considerable number of bugs, enough to make a new build patch of the game on their own, which you can see here.

Since posting that update I have hunted down and squashed more bugs and issues, which will be included in the next update. I have also ported a whole raft of shaders to the new version of the engine which can be found here.

Next up is to port over all of the user interface screens and get them working with a new input system before I can release a beta depot of the new engine build.

Tomorrow is September, and apparently Meme Weather Island is going back to 24C now that I have packed the summer shorts away ... so I'm not putting the Autumn duvet on just yet.

This is cat(girl) drinking coffee

Monday, 31 July 2023

Flaming July Raining July

 

Behold, 693 materials converted to PBR - but the models LOD out quick so you can't see that here - trustMeBro™
July has ended as Flaming June started ... flaming wet. The chances of a good strawberry crop in August diminish by the second.

Work wise, every single object in Monsters Loot Swag has been updated to the latest engine version and the fancy-pants visuals of Physical Based Rendering (PBR). All 693 materials have been changed to get rid of the diffuse and specular mapping, and brand spanking PBR compiltable albedo and Occlusion / Roughness / Metallic (ORM) maps have been created. I also settled on a standard 512 pixel size for the vast majority of objects as they are not large enough during gameplay to warrant textures any bigger (except bigger boss monsters and the such which are now 1024 pixel maps). All of this should also help reduce the total memory footprint for texture loading.

This new version of Monsters Loot Swag will be initially available as a beta on Steam, before later becoming the standard game version.

Boris The Spoder-Tank reflecting a rather barren test level in real-time™

All of the terrains for the already completed 7 levels (3 more to do) have also been updated to the latest engine build, and are now filled with reflection probes to simulate the area around specific features.

A reflection probe before I realized I had to embiggen™ the capture radius to get objects to reflect in it

Slowly and methodically porting the game to the new engine has caused a few issues, namely my previous disregard for naming conventions. Many files ended up being called "thing_x_new4_v08_redux_final_final2" and then added to a profile, but the new engine uses an asset system so suddenly naming is important, and the file's name becomes the profile name. This was further confounded by previously having multiple files of the same name in different folders, so a fair bit of renaming has occurred, especially in the 262 audio files which needed to be called the name of their profiles.

So, next up is getting the actual old gameplay logic to work with the new asset system. I am optimistic that this will not be too difficult and that the main issues will revolve around some renaming of server and client connection commands. As ever I prefer to work methodically so that I can actual see where things have changed and understand how the new processes work - which seems infinitely preferable to ham-fistedly ramming the whole game into the "convert to new build button" and then wondering why everything is a mangled arse afterwards.

Hopefully August will also see a return to some decent sunny weather and I can get back to shorts and a t-shirt rather than continue building an Ark in a jumper ... we live, as ever, in hope ...


Wednesday, 31 May 2023

Boxes In Boxes

 

According to the weather forecast, she will need a jumper ...

After getting mild sun burn sat out by the veg patch with a bottle of wine, we are now back to standard British weather of needing a jumper for late Spring and early Summer ... Flaming June looks like it means that the fireplace will need to be lit ...

Steam brought out an update to the Steamworks SDK, sneaking it out again as they did in the previous month without any fanfair. Once again they had made changes to the authentication system, and once again I had to wade through code comments to find out what it all meant - except this time I also had to wade through the online documentation, complete with it's links to various 404 dead pages. To quote the docs at https://partner.steamgames.com/doc/webapi/ISteamUserAuth:

 NOTE: This call requires a publisher API key to use this method. As such this API MUST be called from a secure server, and can never be used directly by clients!

So, yeah I'm good, this was just splitting up web-based games from the standard Steam Client authentication. Also feel free to click the api.steamworks link at the bottom of that page for more helpful advice. 😉

In April I had attempted to create a melee combat system of checking through a defending player object's hitBoxes for intersection with an attacking object's hitBox - to see if this would be faster than using a raycast system of quad edges projected from the attacker's weapon - all whilst suffering from the Dreaded Lurgy.

What I found, during illness enduced brain fog, was that there was no current system to determine whether rotated worldSpace boxes intersected (OOB) only AABB. Now without the brain fog I had another attempt at coding a solution to this, with a nice easy early out if half longest box sides added together were beyond central distance, though ended up using raycasts after all for the actual connection checks, which were oriented in worldSpace with the attacker's box and then a perpendicular test if no initial result was found.

The end result was that I found checking through the defender's 12 hitBoxes (but potentially up to 20) could easily take more than the standard 4 raycasts which I had been previously using. On top of that, box intersection would take more the boxes behind the initial hit into account, nearly doubling the struck areas, so a big melee swing would 98 damage rather than 40 something. To order these results in worldSpace would require another raycast or more maths based on location and orientation.

tl;dr - I've kept my original melee system, it works fine for what I want, but I might use the OOB intersection for weapon on weapon parrying.

So, that was the month that was. Flaming June awaits, with a promise of thick jumpers and hot cocoa ... 😒

Friday, 31 March 2023

Damp Island is Damp

It seems to have been raining forever - at this rate there will be no water left for April to have showers ...

Monsters Loot Swag has had it's 13th Early Access Update! This fixed a whole load of minor issues and one major one - the awful openAL crossfade falloff has finally been slain ... with, naturally, a 2 line fix. 😫

Turns out it all that was needed was to feed openAL an ini file to tell it to stop dropping the fall off so early.

Also our leggy, harness encased, propeller powered catgirl has been testing an engine upgrade with glorious PBR! For which I made a Cornell Box in Blender 3D.

Reflections! Shiny, shiny reflections!

Now, updating the whole game to a new engine build which features not only shiny stuff like PBR, but an entire modular system is going to take some time. 

However, talking about new engine builds with funky modular features, I have been coding an animation based melee combat system in C++.

So far I have light and heavy attacks, activated by either tap or hold input. Both kinds of strike share a single Prepare Attack Animation, which works like a charge-up, and is based on weapon type. Light attacks are randomized, whilst heavy attacks are based on player input at the end of Prepare Attack Anim.

Each weapon has it's own attack speed and the player themselves have a "rage meter" which increases attack speed with the more blows they land on an opponent.

There are also primary and secondary types of damage, for instance a broadsword is primarily for slashing but can also stab. I plan on introducing different styles of armour (gambeson, lamellar, chain, plate, etc) which offer varied protection against the major types of attack damage of slash, blunt and stab.

Here's an animated gif showing a light thrusting attack - this was before I added weapon specific speed modifiers.

Light Attack - Yellow Circle Capturing Button Input

So that it was it for the wash out of a month which was March. I had was planning on setting up the Spring duvet for my bedding, but it's been so miserable and cold I think I will stick with the Winter duvet for another month. 😰