Tuesday, 30 November 2021

Steam Capsule Box Art

 Before we start, we should address the fact that I have communicated with the STATE APPARATUS and the APPARATCHIKS of whom have actually communicated back within the space of 60 DAYS ... which must be some sort of new world record in getting any response out of a CIVIL SERVANT - who incidentally -  are still all off work, riding their tax payer bought Pelatons at home whilst the STATE APPARATUS demands everyone else goes back to the office.

We desperately need that extra 150 quid off you to squander on some bollocks

Okidoki, vidya gaemz.

Steam has started releasing information about the Steam Deck, videos and guides are available here. Looks like competition for handhelds (eg: Switch and only Switch 'cos nobody else wants to do hardware anymore), but then do we all remember how exciting Steamboxes sounded? Maybe the handheld market is less crowded (eg: Switch and only Switch 'cos nobody else wants to do hardware anymore).

Anyhoo, the upshot of all this is that I no longer feel compelled in SPACE YEAR 2022 to bother about any display size under 720p vertical.

So I have been testing out some Steamworks features on the new game, which I have not actually uploaded yet to steamworks, but am just doing it locally with Steam loaded. This gives the rather odd result of a blank page with my game title showing online and recording my progress in-game.

Fixed a bug where I accidentally dropped napalm on the player and not the enemies ...

 Having decided that this all looks a little awkward online as only I can see my own game's presence anyhow, I decided it might be an idea if other people - eg: potential customers - could also see my game's presence, and thus we set about designing some box art for the Steam store page.

Soon(ish)™

This required me to remove the towel that is semi-permenantly draped over the display tablet that lies on the desk (it's an upturned A0 drawing board wedged against a window sill to take the weight of all the screens on it) and recharge the pen to get some reponse out of it.

Being a classically trained figurative oil painter (not that I've done any of that in 10 or 15 years ...) I do still find the methodology of digital painting to be a bit ... odd. Is it better to greyscale the form of the painting and then add another layer for blocking colour with some sort of transparency, or should I add colour with tone and shading for each stroke - which seems a right faff. Also I am not terribly enamored with the digitally replicated paint brushes as it's not really how physical medium works - at least not oil painting, especially when the brush leaves layered marks but I need to move the screen/canvas over to another part of the image without breaking the flow ...

Anyhow I have decided on a composition that looks like it can work by cropping with all of the sizes that Steam Capsule images require, and I havr blocked in some very rough tonal marks to find form and some basic colours. This in itself has made me wonder whether it would be better keeping the colouration simple as in a 3 layer comicbook style or more a more complicated and painterly style. Of course I might just do both and see.

Need to change that hair colour ...

In other news the UK had a storm which was actually a real storm rather than the usual crying wolf about some seasonal gales. Whilst a fence panel went down, the broken tiles which I had glued together with NoNails survived. One of the few weekends that hiking had to be called off due to safeguarding the house and general threat of death.

I am 50% prepared for Xmas which means I have alcohol, toilet paper and a sawn-off shotgun to protect it all. Still waiting for variant Ligma ... 😜

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/

 


 







Thursday, 30 September 2021

One Year Of Aeronauticals

 So it has been an ENTIRE YEAR (from 1st October 2020) of working on my aeronaut/aeronauticals/dogfighter game that was loosely inspired by Ace Combat with 1930s aircraft and a lot more tightly inspired by Descent: The Great War space combat simulator but with gravity.

How it started (after a month or so anyhow) ...

And, how it's going ...

 
So ... that's been a bit of a change then ...
 
First up, I've created a brand new class of object, aeronautVehicle, that derives off vehicle class, which derives off rigidShape which is the thing that controls the physics, and shapeBase class ... which everything and it's dog seems to derive off if you want it be any form of a dynamic object.
 
This meant that I had to work out how an aircraft actually flew worked. Obviously this would be incredibly boring so instead I worked out how an exciting arcade style flight model worked basing it on ideas and physics values that I mostly pulled out of my bum.
 
Actually that's not entirely true, I did detailed research for months previously, basing everything on real world values and compiled lengthy text files on how the whole thing would work; eg: hitpoints were based on empty aircraft weight divided by length per area element (wings, tail, etc); and thrust was based off maximum take-off weight divided by kilo-watts of power per engine (or something like that) with modifiers for total aircraft area versus air friction... eg: fat aircraft would lose speed faster than smaller ones, etc, etc.

Similarly gun damage was based off calibre, calibre per 10mm modifier, number of guns, and some other stuff, with more guns increasing both damage and overheat timing.

The real problem was creating an Ai system to fly the aircraft against the player. Not only did they not have to crash into anything --- which ended up being much harder than you'd think --- they also needed to act as if they were a real pilot, so I ended up making 12 (?) evasive maneuvers that they could pull when neccessary. Stalling ended up being a huge issue depending on speed and attitude of the aircraft and tightness of a turn. I ended up creating a class of super-Ai pilots who I never stood a chance against, and had to dial the whole OP back, discovering that the margin between genius Ai flyer and absolute idiot was very small.

Damageable elements reduced performance of the aircraft's speed, turning, rudder, etc, and the whole thing had to modeled in 3D and textures to give the player good visual feedback as to what is happening to their aircraft.

PBR was a thing ... a thing which I did not know what ORM stood for and so ended up putting the rough and occlusion maps into the wrong channels because that is how they are set out in the materials editor.

My grasp of networking certainly improved, I had managed to create a co-op mode - based on seperate instances on the same box because I only have the one machine - and I soon realized that I wasn't supposed to just fill the whole of pack/unpack with all of the read/write data because much of that was on the server anyway. Trailing definately need to be on both or either Ai/players would trail and the others wouldn't depending on how they were handling their aircraft. Huge amounts of pack/unpack were commented out and the weird jittering my AI aircraft had been doing in debug mode stopped.

I created a crude lobby system were the level loaded without the mission starting except a briefing to give the player the details of the mission via a seperate file and to choose their aircraft and paint schemes. The player would then wait in this psuedo-lobby for other clients to connect or start a co-op multiplayer mission alone and newly connected players could drop in and out. Debriefing required a bit more voodoo as shifting large amounts of player-mission contextual descriptors - that's text - required some fancy thinking to avoid abusing huge numbers of server to client calls - something that I had been very keen on working smoothly and with the least possible amount of bandwidth.

 Creating missions was a series of timed and triggered events based on what the player and Ai pilots were doing. This required lots of scripting due to the lack of physical triggers which a player could walk into on a more normal character based game of the types I had previously demoed or developed.

And so that is kinda of it. After a year of development I have a fully functioning dogfighting game that plays halfway between an arcade shooter and simulator with a mission complete with playable roster of aircraft, briefing, debriefing and drop in and drop out online co-op mode. So naturally it's time to relegate this to the backburner and go return to my previous game project (and really tidy up it's networking) as I want something that can at least be released for Early Access early(ish) next year and Freespace-style dogfighter will require the most work whilst topdown catgirl mayhem is around halfway complete but needs "fluff" adding for the player's ease of life for the first few levels.