Saturday 31 December 2022

That Was The Year That Was: Space Year 2022

Level 6 Monster Boss, Kareu The Horticulturist

So, annoyingly, I somehow missed November devblog, being the first month missed in 4 years. Bloody Embuggeration!

Not doubt I was otherwise engaged with a number of updates to Monsters Loot Swag on Steam, and trying to get the new level knocked out. This not only had Level 6 and it's monster boss, Kaeru The Horticulturist, as pictured above, but also a final fix of a long running bug issue, the dreaded "Out Of Bounds Index Array" which I had previously narrowed down to some sort of audio issue. And, eventually I had it cornered and trapped, and finally fixed, Audio Emitters had been getting their ghosting out of synch. The simplest solution was to create a delay in turning them off and then deleting them, but this had taken months of investigation.

Literally ALL the printf

 With all the bugs - that I am aware of anyhow - finally vanquished, I could finish off the newest level, finalize the missing portrait artwork for the previous level boss monsters, and get on with expanding the game. I am now on the 9th Early Access update to the game, and the fourth major update.

Level 5 Monster Boss, Lula The Non-Resident Alien

And so that is where we are now, with the game running well and up to speed, waiting for completion of levels 6-10 and the remaining 4 unlockable catgirl cosplayers ... and a few other things such as the Souvenir system I have planned, where boss monsters drop a collectable via RNG with a difficulty setting modifier.

All that and more is planned for the new year, with a final completion of the game between late Spring and early Summer. After this I might code up a melee based combat system for a hack-and-slash-cum-Soulslike to see how that works, before deciding on whether to use that as my next project or the Aeronaut vertical slice I made a year or two back.

Happy New Year, and see you in 2023!

Monday 31 October 2022

Halloween Horror Space Year 2022

Behold The True Horror This Halloween!

 More terrifying than any cosmic horror dredged from the neurosis of HP Lovecraft ... it's the global debt clock

Okay ... have you recovered from this ghastly Halloween fright? Then we shall continue with October's dev blog.

Finally I discovered the true source of a long running bug. I have spent months slowly chipping away at this bug, narrowing down the source and timing, even fixing the crash and suppressing the Out Of Bounds Array messages. Should have known that it would be an audio emitter issue.😫

 So it turned out that a lot of events happen when a player buy's Swag in Monsters Loot Swag, effects sparkle, audio plays, icons appear, objects spawn, marker objects hide and if there's a lot of other stuff happening at the same time ... and it's a game where there's always a lot of stuff happening at the same time ... the audio emitter can get out of synch when it wants to disable.

The solution was to stop everything from happening in the same engine tick with a simple schedule to make it all happen in order, giving the audio emitter a good half second to turn itself off and make sure it's ghost update of the network doesn't go tits up. Hurray, fixed and understood the cause. 😓

And speaking of audio bugs ... years ago I  noticed that sometimes the audio went ... iffy. It would start going off-key and warble intermittently. Not long before shipping the start of the Early Access game on Steam, I realized that this was caused by the camera being offset from the player location and thus camera and player could end up fighting for who got the audio source, with the sound cutting out if the camera was further away from the audio. At the time I threw in an emergency workaround by making the radius of all audio emitters large enough to swallow the camera.

Eventually I got around to coding a proper solution, use the camera rotation and the player object's location. This took a fair bit of maths as I could not remember which column of the matrix transforms I required to get to mix together ... until help on the Torque Game Engine Discord Server pointed out that there were already helper functions for matrixes and I could just use matrix.getPosition(); in cpp - boy did I feel dumb. 😅

The Takiyasha Ornamental Water Garden - early image

So, I have spent this month working on Level 6 for the next big update ... which I was hoping to have released this week but will probably take longer as I have redesigned the boss monster twice aleady. It's the Takiyasha Ornamental Water Garden and it builds on the environmental hazards which I introduced previously in Level 5. Behold water! Water is an environmental hazard as it slows down both the player and enemy monsters. I have designed the level so that if the player wants to get somewhere fast they're wanting to go through the water, but slow movement and enemy missiles are bad, so the player could decide to stay out of the water and go around it, thus preserving speed and the ability to dodge better.

I've also coded a lava type of liquid which only damages the player - more on that in Level 7.

Level 6 early testing gameplay

Level 6 is the home of the Stone Golems, high DPS, low HP, but very strong, range-based player characters have much lower strength than melee ones and so have a hard time barging them aside, and can easily get surrounded and trapped.

Once I finish up the level boss, Lady  Kaeru The Horticulturist, who is not going to fight you, and her giant champion who is going to fight you, I will be uploading the third big update to Steam, and the Early Access game of Monsters Loot Swag will be around 60% complete.

In the meantime, don't have nightmares!

Friday 30 September 2022

Monsters Loot Swag Early Access Update 2

This is Pauk The Engineer, she drives Mecha-Boris, the Spidertank. Spidertank, spidertank, does whatever a spidertank does ...

September saw two Regular Updates for Steam in one month, but that mostly because I brought early October's update forward a day to coincide with Friday and the start of the weekend.

Regular Update 1 did pretty much what I said it would in August's blog; the main emphasis was on the player requested radar system so players could find each other in online Co-Op multiplayer mode, and the rest of the update was tweaks and bug fixes.

Regular Update (because that's what Steam calls them) 2 has just shipped, and as this was the first update to have an actual month of work available since launching last month, it has a whopping 50 fixes, improvements, changes and new content.

I forgot I wasn't in developer mode on Steam, got killed, and permadeath erased my own save file - bugger ...

 The main focus for this was to revitalize level 5 and turn it into a broken industrial aesthetic, complete with shattered piping system leaking toxic goo (not a comment on current events). I also fixed the chatHud so that players can talk to each other in multiplayer game mode, whilst waiting for the game to start, and after the level is complete and everyone is waiting the 60 seconds before the next level loads.

There was also a whole load of balancing and bug fixes, and the portrait and loading screen for the level 3 Monster Boss, Pauk; see above. One of the changes was to drop the Shipping Build from the executable which I have long had suspicions causes instability (like 10+ years), crashing when any other build would have managed to get through the error alright. This also allows for the player to access the console, which can be useful when they come across a bug because they can then send me the console.log text file and I can see where the script loop got up to - and I am a dev who likes a lot of script echo to log to find out what is happening (printf too).

And here is a video of what Level 5 looks like, though I decided to remove the ground fog in the end.

So that was the month that was, I removed the summer duvet in favour of the thicker Autumn one. Next month I will probably be working on a whole new level for Monsters Loot Swag; the Water Temple. Ninty plz no sue.

Wednesday 31 August 2022

Monsters Loot Swag Steam Release


Monsters Loot Swag officially released as an "Early Access" title on Steam, and was immediately drowned under an ocean of gay, furry porn. Such is life. Early Access titles do not have access to Steam's marketing visibility rounds, which are only visible upon full release.

Naturally with any new title release, an emergency hot patch fix was uploaded within the first 24 hours, for a bug which had never happened in any of the previous years of development.

And thankfully was not too difficult to hunt down and squash

 Cue begging emails for free keys, including "pay us money and we'll give you a one word review on Steam's Curator system". lol no. I did send off a few keys via Steam Curator to groups which looked like they might fit the bill.

I did however get some feedback, that players in online multiplayer Co-Op mode wanted a radar so that they could find each other. And there wish was my command! Taking the ghosts from the local connection I could get the locations of the other players and their status, so dead players who need resusitating can be displayed with a different icon from alive players. I made the radar range fairly small, a couple of hundred metres and had players beyond that appear at the edge of the radar so that they are always visible. As the player gets closer the icons fade as they move towards the centre of the radar.

Here's the initial video of that in action, minus the fading.

So we shall continue, gearing up for the first month post release update, which will actually be 2 weeks after launch and thus a smaller update than the ones to come. This smaller update is mostly about some bugfixes and quality of life improvements, as well as the portraits of the Level 2 Monster Boss (above in desktop format), Lapin The Ranger.

Next month will be solely about working towards the first major update.

Sunday 31 July 2022

Preparing For Release

This is a bunny. This bunny rides dinosaurs.

 So I have spent the month gearing up for Steam release ... which ended up with me failing Valve's build review. Part of this was due to the testers not realising that the player hosts games on their own box, whilst they had expected online dedicated servers ... and if their testers had not realized that, then I surmised players would also be likely to make the same mistake, and so I changed the whole multiplayer selection screens to be more obvious, state exactly how online play works and also tell them to unblock port 28000 on their router if they are hosting.

Resubmitting the build review I realised that time was ticking on, and with it taking around a week to get feedback, I moved the date of release back. It is now Thursday 18th August. Thankfully my build passed review once I had made a few more corrections based on Valve's feedback.

This is the dinosaur the bunny rides

 I had been working on boss monsters, level two has a bunny riding a dinosaur, level 3 has a sailor driving a mechanical spider called Mecha-Boris.

You can't stop Mecha-Boris!

Stop Boris was a game with a lightgun and spider when I was a kid. The advert was awesome and it's a shame I can't find it on the internet. Here's someone playing it though.

 Due to a deprived childhood I never had Stop Boris and this has led me to become the broken shadow of a man that you see before me. That and the PlayPeople(Mobil) Operating Theatre which I always wanted to finish off my hospital collection. From then on spiders were always known as Borises. The Who had a song called Boris The Spider.

 I also got footsteps and dust emitters working, finding some broken code that would lead to a crash to desktop if the emitter was invalid. Probably been there for 10 years. A quick check for nullptr fixed that and it got sent to someone who can actually use github to upload to the engine's master head build.

Insert Coins - now with added insert coins

A tester had mentioned that they had been unaware of how to trigger the exit node to spawn the level boss due to the GUI being transparent and a lot of action happening on screen, so I made the above GUI to make sure that players can actual see it.

Catgirl Golfgirl

Playable cosplay character four is a golfgirl. Everybody likes golf, except me who was around 40 over par on the crazy putting golf round the back of the pub.

Monsters Loot Swag releases Thursday 18th August 2022 - in the meantime here's a video of Mecha-Boris before I added dust puffs to movement.

Thursday 30 June 2022

New And Improved Mouse Aiming

So it turned out nobody liked the original mouse aiming system

This was not entirely a surprise as literally nobody had previously said that they did like the mouse aiming system, but at least I got some feedback and examples of games which had good mouse aiming schemes. What people actually wanted was not the direct input control system to player character rotation, but for the player character to turn towards a visible mouse based cursor or aiming reticle.

And their wish was my command! Had a bit of trouble networking it in multiplayer co-op mode at first but got an example of setting up a net event that would send the client input directly to the server object rather than having to wait for standard client/server updates.

 It was also Steam Next Fest, were a thousand desperate indie devs got harvested for demo downloads so that gamers could get a badge and 55XP off Valve.

 I ran two livestreams with varying amounts of success and terrible audio until I ironed those problems out - even though I had ironed those problems out in testing previously. Was hoping for 10% wishlist but got 1%, which is at least better than Sweet FA%.

Monsters Loot Swag will ship as an Early Access title on Friday, July 28th, 2022 - which gives me four weeks to get it into a shippable state. eg: make more boss monsters for the compeleted levels.

Tuesday 31 May 2022

Demonstarting Demo Steam Next Fest

Brilliant Advertising That Gets Straight To The Point

Steam Next Fest is a thing where desperate indie devs big and small plead with Joe Public to notice their upcoming game and add it to their Wishlist. It runs for a whole week from Monday the 13th of June and Monsters Loot Swag will be there, with a playable demo - that I am still hammering the bugs out of ...

At some point during this Steam Next Fest, I will be streaming on the Monsters Loot Swag Steam Store Page (if I can get it to work - even Valve say it's awkard as hell in their documentation) to demonstrate the game and I dare say ramble incoherently about things ... probably 8pm BST on Tuesday 14th, and again for a late night comfy playthrough at 11pm BST on Thursday 16th.

 The playable demo has the first level available in Single Player, or Online Multiplayer (or LAN for those strange folks who have physical friends in the real world) and now features THREE player Co-Op (4 in the full game) and the new character "Bikaver".

Melee Based Wine Drinking

 Bikaver is a close-range, melee based character. She likes long walks in the rolling hills, eating grey cattle salami, drinking red wine and dealing out blunt force trauma.

Bikaver has a trio of hand-to-hand standard attacks, features high mobility, with high strength for knocking monsters out of the way. Her special attack is a low damage but wide area attack which stuns all enemies, whilst her evasion is the fearsome - and instantanious - Huzzar Charge, propelling herself through multiple ranks of monsters, both stunning and damaging all in her path.

 She also got a character profile redesign because I didn't like the first one.

 Monsters Loot Swag even runs on Valve's new handheld console Steam Deck ... apparently, I mean I don't actually have one.

And here is the first glimpse of Multiplayer Co-Op mode in action - with low audio because I forgot to turn the volume up for recording ... and then I forgot to turn off the video after we both got killed so half of it is a character screen whilst I was chatting on discord.

Plz wishlist Monsters Loot Swag on Steam!

Saturday 30 April 2022

The Steam Upload And What Was I Thinking When I Wrote This Steam Stats System

 Monsters Loot Swag is on Steam and available for wishlisting here.

So, after a few months of testing off Steam, I have uploaded a build to a Steam depot ... and then immediately started to fix everything that didn't work ...

Who's Best Girl? You're Best Girl! If you don't get ganked ...

 Primary here was the minor issue that to finalize the build I had encoded the script files - and that my own script reading function only dealt with unencoded script files ... this could have been forseen but because it has been so long since I shipped a game to Steam *** 26th August 2014 *** I had forgotten about this sort of thing ... What I hadn't forgotten about was my system for storing Steam Stats.

This May Have Explained My Overly Convoluted System ...

Overly convoluted seems a little weak ... even reading through my own code comments it is best described as baffling. I clearly wanted a system which saved as much as possible on server calls but this was truly was absolute gibberish even if, most terrifyingly of all, it worked. All the same, it still had to be rewritten to make the whole thing readable again.

How Much!??!?!

Something else which I had overlooked was size - and in particular the minor issue that I had completely forgotten to trim my master files for things like artwork and audio. After some careful pruning the required HD space dropped to around a single gigabyte.

Steam Cloud save system is also fully up and running, and the Swag unlocks recorder fully functioning and integrated with User Interface so that the player can look through what Swags and Power-Ups that they have unlocked at a more leisurely pace, outside of the frenetic nature of the game.

As ever, there has been mountains more of work, but I can never seem to remember it all when it comes to the month blog write.

Monsters Loot Swag has been accepted for Steam NextFest, the forthcoming showcase of indie games on Steam, which runs from the 13th-20th of June, so look out the freely available demo coming at the end of May. So that's the next major job.

Thursday 31 March 2022

Players Can Interface With The Interface Part Deux

 March comes to an end ... with me starting a blog in the same manner as February, whinging about the weather ...

I had hoped to bravely remove the winter duvet but I got snowed and hailed on earlier and the wind is coming directly from the Artic. The winter duvet is staying in place.

Behold Stats!

What Does What

Other things which can be construed as mildly irritating is the amount of time I have spent making the Game User Interface, actually useable to the game user ...

As ever, whatever part of indiedev appears somewhat straight forwards suddenly become incredibly convoluted and the gamepad useable menu system has been just this. This included making a brand new input system for button selection that uses both vertical and horizontal selection, including uneven rows and columns.

Blast Monsters

 The statistics were not such a problem as setting out the tutorial in a way that the player could easily digest. Highlighting individual HUD elements seemed the best way of doing this and giving a brief explanation of what the player was seeing in game with any key/button related actions to that element, based on the player's currently selected input type. Now there are some stock engine ways of doing this but instead I wrote my own so all button selection goes through a custom input script.

Win Loot

 This useful and problematic in it's own manner, especially with the input system losing focus if you tabbed out or opened the console, but did give immediate response for sudden changes of input. I wrote my own custom key/input remapping system.


Get Swag!

So after a monumental kerfufle, the userable user interface is finally useable by people who are not me and do not know what everything does or means.

Next up is actually getting a build uploaded to Steam.

Monday 28 February 2022

Players Can Interface With The Interface

February comes to an end. February, a month when the weather is so bad that it was shortened, so it would end quicker. The fence blew down, I got soaking wet and snowed on.

Anyhoo, that is enough of Johnny Britisher's favourite past-time of whinging about the weather.

Whilst the actual gameplay of the game has been working fine for years - the actual getting to and from said gameplay has been a bit of an unreadable mess. It has long been a spaghetti of various and conflicting buttons for starting a new game and hidden console commands for loading saved data.

 First screen when starting a game gives the player the opportunity to load a saved game - if there is one. This gives basic information about the saved file such as the player's previously chosen character, level progress and difficulty. It also displays the character portrait and the portrait of the level boss. If either of these cannot be found it defaults to showing the "unknown" portrait, which is a tentacle who's shape resembles a question mark.

  Starting a new game allows the player to first chose difficulty - which still requires some artwork for the settings - and then moves to the character selection screen. In the stock game there will eventually be a choice of 8 cosplays to dress you catgirl up in, each with their own stats and ability displayed. At initial release there will be 4.

This is "Sunrise", she likes walks on the beach, drinking cocktails and large calibre handguns. She is a range-based class with medium maneuverability, low strength (for pushing monsters out the way) and her evasion is a simple speed boost. Bonus points if you can name the movie this character references.

This is "Southern Hospitality" - because I don't want suing by some US drinks corporation. She likes riding through mud, drinking bourbon and blasting gators with a sawn-off. She is slower rate of fire but high damage, mixed range class, with medium maneuverability, medium strength for shoving, and an evasion which allows her to both vanish and run through monsters to escape.

And here is what it all looks like in action on video:

So, that was the shortened and rather soggy month of February 2022, were I made the interfaces for getting the game to actual work to be player friendly. There's still a few things to finish off like extending this to settings and adding statistics button to the Main Menu screen, but things are at least working quite nicely now.

Monday 31 January 2022

Monsters Loot Swag


Monsters Loot Swag -> Blast Monsters -> Win Loot -> Get Swag!

Available for Wishlist on Steam now. Coming Soon(ish)™.

So I finalized my Steam Store Page, and had a name change. It has monsters, loot and swag so ... it does exactly what it says on the tin!

As the game plays fully but is not complete on the artwork side, with the later half of boss monsters and level designs being placeholder only, I decided to try my hand at the "Early Access" route. This means that the game will ship with a disclaimer that I am still working on it, and it will be periodically updated until completion.

I've also been working with someone else, helping to create an engine integrated module for the Steamworks API so that everything could be utilized via game engine scripts rather than being hardcoded in C++ by per game.

I also took the time to upgrade an old resource that someone else had created of a free postFx Shader Library from DirectX9.0c to Dx11 and then to the latest Preview build of Torque3D 4.0.

Night Vision with noise

Chromatic Aberration - the most hated of shaders ...

Pixelation, for when you want your expensive GPU to pretend it's a 1989 console

In fact most of the month has been shaders and effects ... only for me to discover some gaping problems with my approach and dash into a phone booth to emerge with a flowing cape and my underpants outside of my tights as Captain Workaround!

Wow did I get this gif to nearly loop properly?

Next up is actually uploading a workable version of the game to Steam. This is likely to be the Dx11 pre-PBR version as it is the latest fully working one, though it still requires a bit of GUI (Game User Interface) work for it to be player friendly. A lot of stuff happened this month but most of it was not very image postable.

So that was the month that was, the first month of SPACE YEAR 2022 when I was promised flying cars but instead got a report about a cake that didn't even mention whether it had marzipan or not ...