Showing posts with label PBR. Show all posts
Showing posts with label PBR. Show all posts

Thursday, 29 February 2024

Leap Into The Future

Monsters Loot Swag Now With HDR And PBR

February has arrived ... and by the time you are reading this, it has also gone. But not before Monsters Loot Swag got a huge update on Steam, and has been ported to a completely new engine build.

This included finally retiring the old engine build and replacing it with the latest game engine build, complete with all of those 21st Century shiny things like an asset system, HDR lighting, Physical Based Rendering of reflections and so much more. The changlog itself ran to some 36 items.

In other game development news, I also ported my old "Aeronauticals" proof of concept demo to the latest engine version. You can download and play that here and watch me do just that below.


 February 2024 is a Leap Year! And soon to be leaping are what is in this pond! 🐸

However since this arrived there has not been much froggy activity due to the weather reverting to being bloody freezing for the last few weeks. Thankfully it looks set to become milder and much croaking was heard earlier.

So that was the month with a strange number of days, and all because two despots mangled the perfectly working 10 month calendar by inserting their egos into new months and totally throwing time out of order every 4 years.

Tuesday, 31 October 2023

Monsters Loot Swag Beta Available

 I have been stuck on this rock for 5 centuries - sorry 5 decades, feels like 5 centuries ... and more on medieval times later ...

Monsters Loot Swag has a new BETA version available on Steam. A BETA in Early Access? Well, yes.

The BETA branch is a whole new game engine ... well, actually it's kinda the same game engine with a whole new system. This system includes a fully function asset system, Physical Based Rendering (that's cool reflections of roughness and metal to normal folks), and HDR!

Want to try out the BETA branch? Go to your game library in Steam and click on Monster Loot Swag, click settings (circled in red) and bring up the drop-down menu, choose preferences and when the new window appears, go to Beta in the sidebar and select the new BETA version. You can opt-out of the BETA in the same way, by choosing default.

 
Don't want to play the BETA for the new game engine? No problems, the original version is still available.

Q: So why is it a BETA and not just the standard game branch?
A: Well because it's taken a fair bit of effort for updating and I need extra testing for various internal linkages that I may have missed, before I can set it to the master/default branch of the game.

Q: Is the default branch still getting updated?
A: YES! The default branch is still getting updated whilst I work on bringing the new game engine BETA version up to speed.

There have also been ~25 fixes and changes, including finalizing the models and effects for the remaining swag attacks and the special use items.


 Monsters Loot Swag now requires just 3 characters, 3 levels, 3 bosses and some extra stuff before Early Access is complete and it can be shipped. I am hoping for completion around April-May.

I've also been giving some thought about my next project to start sometime in 2024 and was thinking of making a third person medieval melee combat game, but not a Soulslike, more fighting against multiple opponents, but not a Musou-like either. Just a solid hack'n'slash.

I would like to make a massive single-player RPG but am actually thinking of something more manageable and bitesized. Something that might actually not require 5-8 years of work to finish ...

There has been quite a lot of this in the last 5 millenium ...
 

Behold, my new thinking cap!

Sallet. Why a sallet? Obvious really ...




 

Saturday, 30 September 2023

Airship Dragoon Gets An Update

 

Airship Dragoon Update Sept 2023
 

 Airship Dragoon received a rare update this month. This was entirely due to me finally finding a way around using Visual Studio 2013, who's license Microsoft had locked me out of when they retired it a couple of years ago. The solution - the OFFICIAL MICROSOFT solution was  ... to hack the registry to forceably gain access to their own product ...

For more on that escapade, see the Airship Dragoon update on Steam.

Work on Monsters Loot Swag and bringing it up to the new and shiny version of the game engine continues unabated. One thing that the new engine has is a full script checker for compiling which actually looks through the scripts and reports errors - and boy did it find some. Whilst most errors were little more than referencing a wrongly named local variable and thus completely harmless, some were not, especially when trying to call function from the server for objects that did not exist at all.

And so began Monsters Loot Swag; Steam Early Access update 18; "The Big Bug Hunt".

This was quickly followed by the Monsters Loot Swag; Steam Early Access update 19; "The Big Bug Hunt Part 2" which continued to fix numerous minor issues and also got glyphs which are a fancy term for text and symbols, working for Playstation controllers and Steam Deck.

I rolled all the fixes from the new engine version into the previous version uploaded to Steam.

So back to upgrading the game to shiny PBR newness and new fangled asset system. Most of this is now done, with the actual loading/unloading having required some careful following of how the new system works to update, change and port my custom code. Single player campaign is now in and full functional with much fancy shininess to explosions due to the new HDR system. Online multiplayer is really the only thing left to finish off before I upload a full build of the new engine as a Beta Depot on Steam.

October is coming

 Next month is October and I hope to finally have a working beta of the new engine build up and running.


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 ...


Friday, 30 June 2023

Flaming June Raining June

June started with a jumper, June ends with a jumper

 June ends as it started ... wearing a jumper. Thankfully the bit in the middle was scorchio and I took advantage of the free vitamin D and got a nice tan. My veg patch also got a good soaking and the emergency water barrels filled up.

June has primarily been upgrading Monsters Loot Swag to a new engine build. This requires me to change all the materials from Diffuse/Spec to albedo/ORM for all of those fancy PBR reflections... and that means updating all 693 of them ... (note to self; next game go for flat shading).

Player Characters and bushes get the PBR treatment

Catgirl T-Poses over the nettles to assert dominance

HDR has proven to be somewhat of an issue in all of this - initially because I didn't realized that it was switched on by default, having not used it in previous version of the game or engine, and is now on as default. This led to some awkward automated changes in exposure for filmic tonemapping based on camera position.

Eventually, after a little fiddling with sliders and values I settled on an interpretation of ACES filmic tonemapping.

Stock ACES tonemapping with auto-Contrast - pass the light blub

Manually defined auto-contrast values for a sunny day

Whilst all of this was going on I ended up helping out with a new implementation of parallax mapping.

Old parallax mapping

New parallax mapping

Yes but actually no!

This is the start of a change in how parallax mapping works in the engine, with the original version being replaced with a brand spanking new Parallax Occlusion Mapping. And this is what that looks like! (minus the occlusion casting it's own shadowing).

Definately not the same picture ...

 The POM version required a total change of art pipeline where the alpha channel receeds from maximum height of white, downwards to lowest area of black, whilst the original parallax mapping built up and outwards from the lighter values.

So far I have the characters, bushes, trees, general vegetation, all of the level objects such as rocks completely transformed into PBR mode. So, still to do are the dynamic objects, animated explosion effects, most of the terrains and all of the monsters - and as it's a game about monsters, there are rather a lot of them ...

All that to do in Flaming July - which is not a painting by Lord Leighton.


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. 😰



Sunday, 31 October 2021

The Halloween PBR Special

 Hey kids, wanna see something really scary this Halloween? Caution, it's not for the feint hearted!

https://www.usdebtclock.org/world-debt-clock.html

 If you have fully recovered from that horrifying experience, let's talk PBR. But first ...


Not really that different, but my aeronauticals/dogfighting game is on haitus. After working on it for a full year, I have moved back to my previous game of catgirl carnage swag it up. The reason I spent the last year on the arcade aircraft game was that I needed a break from the twin-stick shooter featuring leggy ladies with fluffy ears due to burnout - see the blog entitled, "A change is as good as a rest" from last year.

Well it's been a change rather than a rest and I managed to create a full working concept for arcade style aerial combat, which I expect to return to sometime in the future. However, for now it's back to all-action catgirl shooty collectathon because it's a lot closer to completion than aeronauticals and since it's been a whole EIGHT YEARS since Airship Dragoon was launched and it's almost embarrassing that I have failed to ship anything in that time.

I've got a new app id from steam and have been busy installing steamworks for the game on my local PC. This has taken a bit of extra work, mostly due to the fact that I couldn't remember anything about getting a game working for Steam because I haven't done it in said 8 years.

 Originally catgirl twin-stick swagathon shooter was called AoT ("Always on Time") ... which I dropped and renamed it "Swag It Up", a rather more to the point title. Don't go looking on Steam yet, I haven't sorted the store front out yet so it's not listed, I have just integrated steamworks locally for testing.

Now for that PBR ...

  Now the engine has a new asset browsing system, which is apparently all the rage and the cool kids can't live without it. Obviously I hate the entire thing but that's the future for you; I was promised flying cars and holidays on Mars, instead I get texture memory leaks and assets overloading their materials from their own asset file instead of using my predefined materials - which are still the ones that show up in the material editor even though the other ones are the ones getting loaded.

I redesigned my swag markers

Once I had found all of this out it was simply a case of opening each asset's file and removing the material reference that was interfering with my existing materials. This was somewhat of a pain in bum due to me having huge numbers of assets/models, all of which had to be individually and manually edited.

Shiny PBR is shiny

 So next up is to finish off the remaining PBR conversions and then go about porting the actual game logic to the latest Preview4 engine build. I think I will however upload the current working Dx11 but not PBR version of the game to steam for initial online testing.

The main thing to get done is sorting out the Steam store page and get it listed. This requires a trailer video and some screenshots, but most importantly I need to draw some good store front box art to advertise the game and also use as a main menu background. I also need artwork for the character portrait selection screen.

As for aeronauticals, it may well return one day and be completed and shipped. So here's a full video of the first mission.


Happy Halloween and don't have nightmares about global debt.

https://www.nationaldebtclock.co.uk/

 


 







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.