Friday, 31 January 2020

Space Year 2020 And CO-OP Mode Works

The first month of Space Year 2020 is over. Which is kind of annoying as I always bemoan a month passing in the face of my meagre endeavours. However January has been rather productive.

I created muzzle flashes for the stock player character's weapons. Apparently there is a way to do this in Max using mesh visibility animations ... but Blender3D doesn't appear to have that so I had to fake it with the good old "make it really small and hide it inside the gun when not in use" approach.

 The gifts that keep on giving ... but not this much ...

I also went back and restructured a lot of the power ups. There is a rare power up which drops other temporary power ups - however I found this to be very overpowered, so I changed it to drop a small gift box which contains a 20 second buff to a single attribute - "buff" apparently being the correct terminology for this sort of thing. I also swapped a common single attack damage multiplier for a temporary damage booster that lasts 60 seconds.

The '80s called to remind everyone that it was the greatest decade in history ...

I also channelled my 1980s childhood for an Aliens themed range finder. This finds the nearest unopened swag parcel or node and informs the player of the distance. Originally I tried to get this information via the GUI itself before common sense prevailed that I should be getting it from the player object on the server and then send the result to the GUI so it was networkable.

 Me, myself and I ... and me again ...

Speaking of networkable, I finally tested 4 player co-op mode and it worked quite nicely ... until it all broke but then I fixed it and now it really does seem to work quite nicely. I created a little leader board so all the players can see how they did at the end of the level relative to each other. I had to rewrite how levels are loaded as my previous level loading was very much based around single player mode, but at least I have had the foresight to make all aspects of individual player progression networkable so has been no hitches in spawning clients in a new level with all their old swag.

I have made various other tweaks and additions too numerous to mention, though refractoring the difficulty curve was one. It now works much better in co-op and endless mode, when the player has finished the game but continues to replay through the original 10 levels.

One thing I finally got around to finishing was the model for the Terror Tower item, which creates a zone of protection that the player can hide in. It's a tower of gibbets with severed heads that scares monsters away.

Too Spooky - even for monsters!

After putting on half a stone over Christmas, all of which seemed to congregate in a band around my waist I went for a good 70 miles worth of hiking this month. I am still the same weight but the middle tyre has gone so I guess it's turned into muscle somewhere and now my leg really hurts. More hiking tomorrow but it's only 5 miles to a pub.

Anyhow, roll on 2020.

Tuesday, 31 December 2019

The Boring Look Back Episode Nobody Likes

It's the end of the year highlights show - which I am fairly certain no one likes. So first, here's what happened in December.

I got PTSD from Christmas shopping. Shopping is a terrible thing at any time of year but when the entire country is in panic mode over a certain approaching date this gets amplified even more.

I put on half a stone (that's 7lb or 45grams in new money) in 4 days, and the amount of nibbles that I still have lying around doesn't look like it's going away anytime soon.

I got back into modeling - you know, that thing that I am actually supposed to be doing - and created an animation for the defensive airstrike powerup.

Here's an animated gif, which has been converted into an mp4.

And here's a video of it all in action. It's a defensive powerup so it has a chance to be triggered whenever the player takes damage.

So onto the boring recap.

With the addition of tentacles, I finally completed all the basic enemies and their various special attacks, finally relegating the need for the red placeholder cube enemies which had been the standard for x years too many.

Levels started to get designed (I am about half way through them) and the flat grid world was finally relegated to history.

I eventually upgraded to the latest version of Blender 2.8, after having previously been using the 2007 version which I had found more than adequate for the last 12 years - read as; I don't like unnecessary change for it seems to be a right old faff around.

This change was partially enforced as it deleted another Blender version 2.7 I used for editing normals when v2.8 installed and then it was a simple case of "oh bugger, no going back now".

Thus I was forced by circumstance and the slings and arrows of outrageous fortune to get with the 21st century and learn how to export models and animations anew.

The good thing about upgrading to the latest version of Blender was that PBR suddenly became available, though it was another thing to learn on-top of everything else. Whilst I work on PBR related materials and design, my main test engine is still Dx9.0c for the time being, but will be updated later to brand new fancy Physically  Based Rendering capable Dx11.

Ears go up ...
Ears go down ...

Placeholder Player yellow cube was also retired, and replaced with what will hopefully be the first of several playable characters. It's GunGirl, leggy catgirl strapped into a propeller driven harness.

I made a start on boss monsters for each level.

And that was the year that was. Somehow doesn't seem enough. Progress continues next year.

I've made one ...

tl;dr Some things happened, something didn't.

So onwards and upwards. Can't wait for the Olympics next year.

Saturday, 30 November 2019

The Clip Show Episode Except It Isn't

It's been a hectic month. So hectic I'm going to have to make a filler blog post. But first some actually useful progress ...

I was helping someone out who was having issues getting the exported collision meshes to work whilst using the imported FBX format from Blender 2.8, to the open source Torque3D MIT Version 4; Preview Build 5.

Binaries of which are downloadable here:

Or at least I thought that was what the issue was. It might have been something else. Either way, I successfully resolved this issue, real or imaginery, so I may as well take the time to share it.

 The secret is to use the same node system as you would for DAE (COLLADA).

It appears that when importing FBX format naming is more required than when just using DAE. Anyhow I had a play around with exporting FBX from Blender and here's what I found.

1: It really likes the DAE hierarchy if you want working collision meshes when exporting FBX. :|


2: If you import as SingleSize your object meshes require trailingNumber LOD else the collision meshes will not work. :o Weird right? :?

3: It will import working collision meshes when using DetectDTS or TrailingNumber (even when you have no trailingNumber) without trailing numbers for LOD. :shock: Did I mention trailing number in that sentence at all? :?

4: FBX is HUUUUUUUUUUUUUUUUUGE. :o Importing at scale 0.01 is the same as importing a DAE at 1.0.

So, on to the filler bit.

Headpats ...

In other news I ventured into the 21st Century and got the cheapest fibre optic available, finally allowing me to upload files 9 times faster than attaching them to the leg of a dead pigeon and sticking them in the mail box.

Here is a gameplay video which was 2 gigabytes that uploaded in 30 minutes. You still have to manually select 1080HD on YouTube or else it'll play the 480 pixel version, even if you got full screen and it lies to you about which quality version it's playing ...

So, that was the month the wasn't ...