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



Tuesday, 28 February 2023

February Is For Pumpkins and Witches

 

 February, the month of the year long associated with witches and pumpkins!

Yeah, no, okay it isn't ... but my latest update for the top-down swag-em-up waifu shooter Monsters Loot Swag features the first of the unlockable player characters, Pumpkin! 

*Crosses off cute witch from his list of weibo anime meme characters*

Pumpkin can be unlocked by getting the "Marathon" achievement, and her attributes are as follows:

PUMPKIN is a mix ranged, playable character with a long ranged standard attack and decent strength for knocking monsters out of the way. Her special attack is a very high damage strike to the enemy to her immediate front, whilst her evasion stuns all monsters within half the screen with a slap of her broomstick. Whilst her healing and enery recharging is somewhat low, this is made up for with her exceptionally high starting mobility.

Vital Statistics ... 38-26-34 *rimshot*

And here she is in video action.


Speaking of videos ... here's a few more.

I have been looking at updating my working game engine code to the latest release of free and Open Source Torque 3D, the version with the fancy PBR and 21st Century asset system which apparently all modern game engines consider to be a must have. 

I had also spent some time making demo code for a third person camera system that has movement input orientated in screenSpace - eg: input "left" makes the player move left along the screen. Most third person games like Elden Ring, GTA and Sleeping Dogs (which is the only one of those I've actually played), have this input-to-movement system. For years randos in the forums had asked for this type of camera based movement, and I coded it up in an afternoon. This differs importantly from the top-down system in Monsters Loot Swag, as the camera is still the property of the player object, rather than being a seperate entity that orbits the player and is beyond their immediate control. This did mean quite a bit of hacking away at the player's move function but I managed to leave in the original system for first person view.


After this I added a lock-on system, so that the camera would orientate to view a target whilst keeping the player in-frame and allowing the same screenSpace based movement input system. To test the correct rotational direction of the camera I gave the rotation speed a delay which makes it look kind of janky.


Both the third-person camera and the lock-on resources are up on the Torque3D forums, but do be aware that the lock-on code was written in a haze of sleep deprivation and the maths can be described as "fugly", the networking is good though 😅.

Next up is another unlockable character for my Early Access title on Steam, Monsters Loot Swag, and I may also start to write up some demo code for a melee based hack-and-slash game, which might use actual weapon hitbox detection rather than faking the whole thing with maths and raycasts.

Tuesday, 31 January 2023

New Year, New Game Update

There's a joke in that loading screen somewhere ...

A new year, a new game update, a new level, and a new level Boss Monster to be defeated! It's Zorra, the Knife Enthusiast who guards the firey lava lakes of the Temple of Pele - that's the Hawaiian Goddess of volcanoes not the late footballer.

The update changelog can be viewed on Steam.

It's level 7 - so that is 70% of the game levels now complete, and it's the first level to introduce the environmental hazard of lava.

 As there was already a callback for entering liquid in C++ which passed the type it was fairly simple to set up a damage system when the player was immersed. However as there was no string variable for the player to record what type of liquid it was, the type would not get passed on the leave liquid callback. In the end I just used a trigger.

With another level complete, next up, will be some new cosplaying characters for the player to use. These will be the start of the unlockable characters, which is a Steam achievement in itself.