Showing posts with label characters. Show all posts
Showing posts with label characters. Show all posts

Monday, 31 March 2025

The Great Rebranding

Monsters Loot Swag - rebranded

 The Great Rebranding of Monsters Loot Swag is upon us.

I decided with full release from Early Access due soon™ that the main brand artwork would benefit from being in the same style as all the other character portrait art, and so set about coming up with a new paintings. This is also the style which the intro and outro sequences will take - and that itself is currently the immediate ongoing work, and really the last thing to do before full release.

Early Access has alas not worked out as I had originally hoped for, being immediately lost into a sea of being ignored, but then I expect that this is just how it goes for the average no-name indie devs launching early access games.

One thing modeling related which I have been doing amongst the veritable onslaught of drawing, has been to retopographize some of my earlier catgirl models. Previously I had used a Blender3D plugin to automate highpoly models down to lower tris counts. Whilst that had saved quite a lot of time, the tris count was still rather high considering the game is a top-down shooter with the characters being fairly small on screen, and the resulting UV maps were horrible strips, not the sort of thing that could ever be considered modder friendly.

Left: Automated; Right: Manual Retopology

 I had used the custom generic player character which I had manually retopologized from April 2024, and this itself reduced polycount by around 60% of what the automated plugin did, all whilst preserving human readable UV maps. I find that due to the small size of the player model on screen, that baking ambient occlusion into the albedo/colour map improves how it looks, even though ambient occlusion still takes place inside the PBR ORM map (occlusion, roughness, metal).

The generic retopologized human character model

So, once again it was a case of do not send a machine to do a man's job ... and all of the presumed labour-saving of yesteryear had been for naught. So now, I am the proud owner of 8 lowerpoly catgirls who all weigh in around 4-6K triangles.

In frog related news I have been forced to put netting over the frog pond as my local murder of corvids have been committing murder in the frogpond. 🐸 

I have been feeding the crows for a while and they've always been very friendly so this sudden turn of events was completely uncalled for. They're big fans of that awful US style burger cheese (wouldn't touch the stuff myself) and also rather fond of monkey nuts, when they're not getting gristly bits of steak or other cutoffs. Also I've seen them beat up Herring Gulls which is what I really want them hanging around for.

So that was the month of March space year 2025, and my efforts to finish off the fluff piece of explaining an actual plot for Monsters Loot Swag continues, taking up much drawing and GUI planning, with all still on course to ship in April.

 

Monday, 30 December 2024

Cosplaying Catgirl Characters Complete

Monsters Loot Swag; Final Playable Character

 As the year 2024 comes to completion, so has the list of playable characters for Monsters Loot Swag. Schiavona is the 8th playable cosplaying catgirl character and fourth and final character who has to be unlocked via achievements. She is a close range, melee based character, with fairly average physical statistics, but is very heavy on inflicting damage.

Cue video of her in action:

All that remains for work to complete the development of Monsters Loot Swag, is now the final level with boss character, and few art related pieces such as an intro containing plot, as if 8 playable cosplaying catgirls battling 8 waifu level bosses needs such flippery as plot!

Airship Dragoon has been on Steam for 10 years

Airship Dragoon got two updates at the beginning of December, the first was due to a new Steamworks SDK which had broken some of the 10 year old code for Steam integration, and the second was because, whilst testing the first update on Steam to make sure it actually worked ... I found a bug from 12 years ago ...

Thankfully, 12 years ago me ... who may still have been in his late 30s ... had left a code comment incase something happened that was not supposed to happen - and during this test of the new Steamworks code ... it happened.

The ancient code comment made it relatively simple to track the "something happened that was not supposed to happen" down to a specific function were pathfinding was sent if it completely failed - something so rare I had never had it happen, not anyone report it in the last decade, but I had not added an escape of any kind to this failure state, and so quickly scripted an emergency "move elsewere" command, so not to get stuck.

Rounding out the year work-wise, I finally filed my tax return with His Majesty's Robbers And Crooks (HMRC), something which the gubbermint has gone out of their way to make ever increasingly difficult. Their oh-so-helpful system active attempts to stop me from paying them money and every year I send feedback telling them that their crappy website has been broken for the last 7+ years and tell them how to fix it, every single year.

I ran out of characters typing into the complaint box


For 7+ years they have not done this
 

As it's Decemeber, and the time of eat, drink and get indegestion, I bought the biggest steak at a reasonable price that I could get.

Hello Vitamin B12!
 

Suitable Protective Clothing For Roasting Such A Beast

Went For Medium-Rare For Fear Of Some Folks Freaking Out If It Was Still "Bloody As Hell"

As Monsters Loot Swag comes to the end of it's development cycle, I naturally have one eye on the next project. Previously I had posted some of my test work on a third-person melee combat system. As my previous two projects have taken so long, I had been wondering about how best to make a short form game that could be expanded on if it received due interest from players.

I noticed that there had been quite a lot of complaints on the new Stalker game, about how it's open world design had broken it's previous a-life simulation, and I thought that maybe going down that route could be interesting - both in gameplay but also in coding the concept.

So, something along the lines of a 4km square map (not too big), with bands of enemy warriors from different areas or periods (Saxon, Norse, Magyar, Venetian, Chivalric, Landsknecht, etc) wandering about, picking fights, fleeing greater enemy forces, with a smattering of random loot and treasure chests, maybe some wild life plodding about.

I had a brief test to see the ballpark range of having lots of Ai players visible, having them invisible, not rendering but still having to update physics each engine tick. This was done in debug mode whilst running an IDE so naturally the framerate was terrible, but it did quickly prove what I had suspected, which is rendering 200 skinned meshes is a lot more overhead than just processing the physics for 200 Ai players.


 In a player build test without the overhead of debugging, the framerate was 500fps empty, 80fps with 200 characters rendering, and 350fps with 200 characters not rendering but still updating their physics. Not that I would ever consider having 200 Ai players battling it out right in front of the player's camera.

It will be interesting to see what sort of load I put on my processor and gpu if I remove the Ai players when they are nowhere near the player and turn them into scriptable objects who would then approximate their actions using RNG as they move around the map, out of the player/client camera fustrum and view range.

Anyhow, that is all for a later date. I hope you have had a Merry Christmas, and here's to Space Year 2025! 

Happy New Year!

 

Saturday, 30 November 2024

New Playable Character STARSHIP

 

New Playable Character STARSHIP brings the 1950s sci-fi vibe

Monsters Loot Swag got a new update on Steam, with the seventh playable character - and third unlockable - STARSHIP, who arrives with a cheesy 1950s sci-fi vibe. Duck Dodgers eat your heart out.

Starship is a high mobility and range-based character, and the only Monsters Loot Swag character who can truly run-and-gun without needing to slow down and aim to shoot.

And here she is in action.


And whilst we're talking about sci-fi cheese ... feel free to sing-a-long with ex-Pan's People cum Hot Gossip dancers, which I had on 45 speed vinyl ... which was a thing when I was a kid. I pity the younglings these days who will never know such joys as Gen-X took for granted.


 They don't make them like that anymore ...

Lord and Protector Gaben released a new Steamworks SDK build, which streamlined how player stats and achievements were obtained by the game app, with all player statistics now loading via the Steam Client before the game is even launched. Naturally thsi broke all my code which communicated with Valve's servers, so that had to be fixed ... especially for Airship Dragoon which meant hunting through C++ which I had written over 10 years ago ... whew lad.

10 years later and Airship Dragoon has achieved "Mostly Positive" reviews

And it wouldn't be a devblog without complaining about the weather! Err Nerr Snerr!


It didn't last long, just long enough for me to almost go arse-over-tit on an icy path, before a tropical storm came in and rained winter off again.

Monsters Loot Swag and Airship Dragoon are both on sale in the Steam Autumn Sale right now.

Next up, probably the final playable character for Monsters Loot Swag, after which I only have the last level to make and a few extra bits to tidy up before full release next year.

Tuesday, 30 April 2024

Terrors Of Retopology Part Two

New UNLOCKABLE Character: Introducing POLARIS

 Monsters Loot Swag got a new update on Steam, this time featuring a new playable character named Polaris, who is a close range, melee based character with a pechant for saying; "Omae Wa Mou Shindeiru".


 Polaris utilizes the cleaned up auto-repology I created last month, with the character weighing in at around 8K tris, with a lower LOD of 4K - down from the standard 12-16K of the other characters. However that did get my thinking that I could probably make a perfectly decent lower poly base mesh with some decent deformation at the joint from scratch.

Base female mesh created from scratch with 8 face limb edge-loops

This weighed in at a mere 3K triangles and had fully working fingers, something I had not really bothered with in the previous character models. I had started off by deciding to have limbs with edge-loops of 8 faces and built it from there, using the silhouette of my previous base character, which was a chunky 20K tris. After creating this first LOD, I made another from scratch, this time basing the limb edge-loops on 6 faces, which weighed in at ~2K tris, including fingers and some other details which probably be removed for an in-game model.

2K tris LOD with 6 face limb edge-loops

After this I decided to make a base male character model using the same technique, something which I could plan my next game project with.

Next game project base male mesh idea

With that done I wanted to have another attempt at animation using rotoscoping. This would probably work best with multiple cameras, but I could only rustle up one working camera for a side view, so had to ad-lib for a facing angle. Initially it looked a bit wonky due to lack of space and cutting my own feet out of view, but when it eventually stopped raining for 5 minutes, I could go outside and refilm myself acting out some movements.

Rotoscoped Animation

And behold the end result was not too bad. The downside is that without exaggerating some foot movements, it tended to look like the back foot was getting dragged and just blending to position, but then the exaggerated movement looks a bit twichy. Either way, bottom dollar motion capture is perfectly feasible, and I may go looking for a second old camera, so I can get a front-on view as well as the side angle, which would help bone positioning in the other viewport. I don't think it's neccessary to glue ping-pong balls all over myself whilst doing this, but maybe not wear baggy trousers next time - but hey, Gen-X here, we even had a song about them.

The next game project is going to be the hack-and-slash concept I've had for a while, and whilst I would like to do another ridiculously giant project with an RPG, I have decided on a more contracted gameloop idea. I was tempted to make it a side-scrolling arcade style slasher, but have gone back to my original free-cam idea, were the player can rotate the camera view as they please.

In other news I was clearly too optimistic about the weather and whilst the Spring duvet remains, I quickly ditched the Summer pyjamas and went back to the Winter fluffy jimjams. It has been bloody freezing, but hopefully this will change. Fingers crossed for May.

Sunday, 31 March 2024

Terrors Of Retopography

4K tris versus 8K tris

 Amongst a slew of bug fixes I have been designing a new unlockable playable character. This has once again led to problems of topology - or more accurately retopology from a not very high poly character to a much lower poly character.

You would think that there would be some automated plugin that could do all of this for you, that it could take a mesh with a lot of triangles and reduce it whilst keeping some semblance of the vertex point weightings. And there is, and it can ... except you have to kiss goodbye to your nicely laid out UV map. Now you try modding this ...

Behold the computer generated horrors beyond your comprehension

It does a really good job of decimation and a really terrible job of UVs, textures and materials in general.

The problem appears to be that my starting mesh is some +20K tris, which is great for an up-close viewing of the character - especially in the viewports of Blender - but not so great when you want it reduced auto-magickally. Especially as I hate manual retopology due to it being the utter epitome of donkey work.

If only you could just remove edge loops in a sensible way - but wait! You can! Blender has it's own decimate modifier, and surely loops can be reduced just as the can be increased? Yes but no.

Just auto-reduce loops bro! Yeah but nah, but really wtf is this?

However this is something that could be cleaned up, and in the end I did, thus using that as a new basic mesh to work from, and it's a much more reasonable 6K tris. And after customizing that to a new character, it can be manually reduced by merging loops to keep the bone weights and UV maps intact.

Try and spot the difference from the actual game camera height

 Once again the real problem seems to be the tunnel vision of working up close in the modeling editor, and I am sure that that 4K mesh could get some more reductions without anyone ever noticing. However it appears to be not just me that goes overkill on character meshes ...

Squint percentage per eye ...

Dragon's Dogma 2 character creator allows for squints by percent per eye ... but in-game, your character is barely a third of the screen in height. Not sure that is going to be all that visible when your character's head is only 64 pixels.

My new playable catgirl cosplayer is called Polaris, and does that 北斗百裂拳, Hokuto Hyakuretsu Ken thing minus the waaa-ATATATATATA battle cry, so you'll have to shout it yourself. The character portrait isn't completed yet and I'm still balancing the stats and attack attributes, so update to Steam should be next week.

It's British Summer Time, at least horology wise, I am removing the winter duvet, so naturally the weather has taken a turn for the worst. Maybe with April here Spring might finally start, as it seems to have done nothing but rain and be generally miserable since October.

 

I also had a thought about the methodology of making a roaming brawler, one where the player could upgrade to the move sets and customize their own controls based on fighting styles and how to code this as combat events. This brought me back to thinking about the melee combat system I coded an example of previously which uses hitboxes, and whether that would be good gameplay system; a (probably side) scrolling roaming hack and slash where you level up your character not just with attributes but also armour and weaponery, restarting each "run at the game" with all the new stuff you earned in previous runs. This way the player would start off very weak and get killed quickly, then spend whatever XP you acquired on better stats or kit and go again, eventually leading to the player becoming massively OP in early levels. It would work a bit like reverse permadeath, with the player's XP being permanant and allowing the unlocking and equipping of better weapons and protections but also melee based move sets that could be customized to control binds.

As Monsters Loot Swag near completion, 1 more level with enemy boss, and 2 more playable characters to add, I am beginning to think more of what the next game will be, and after having created the proof of concept for MLS NINE FUGGING YEARS AGO I think I need to work on a shorter development cycle for my next project.

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.

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.





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.

Saturday, 31 July 2021

Selection Screen: Aircraft and Insignia

 What's a plane game without a pre-mission briefing and selection screen? Lacking that's what. So here it is.

Choose Your Fighter! Literally in this case ...

Here is where you get to choose stuff for the forthcoming mission. The overview screen is where the menu is, as well as a reminder of the mission objectives and the important specifications of the currently chosen aircraft, which boils down to maximum level speed, stall speed, and at what speed the ailerons completely lock-up and you wish you weren't in a 90 degree vertical dive whilst holding down the turbo button.

The aircraft selection screen details all pertinent statistics of the aircraft, displayed as a percentage bar based on the min-max of all other aircraft; 

(range max - range min) * (value - min value) / (max value - min value) + range min = percentage

All except, that is, for Lock Start which is based on percentage of Max Speed, and Lock End which is based on Max Speed * 2.

The Fastest Paint Job Changes In The West

The Insignia screen is where the player can choose their aircraft skin. I was going to call it Paint Job but insignia seemed more fitting. In fact I had a good trawl through the thesaurus for flag, badge and logo before deciding on insignia.

Any skin which can be carried over to other aircraft will be added to newly selected aircraft back in the Aircraft Selection Screen, or default to Dazzle Camo if not.

I am splitting aircraft up into distinct roles (fighter, interceptor, striker/bomber) which have differing effects for lock-up, turbo (WEP; War Emergency Power), stall turns, etc, and am naming these after cavalry units.

So, still to do for the pre-mission screen;

  • Create a Briefing overview where the player can select which aircraft they want to conduct the mission as. Different wings of aircraft will have different roles as mentioned above. Really hate escorting strike aircraft to attack a target? No problem, fly the strike aircraft and have the Ai do the escort mission. This style of play also lends itself rather well to online multiplayer co-op mode.
  • Create a Payload Selection screen that allows aircraft that have external hardpoints to fit bombs and rockets. Also need to create a system for the use of bombs and rockets, as we only have primary and secondary guns coded at the moment.
  • Integrate all of the player choices into the actual mission when it starts.

And here is the whole thing as it currently stands in video. There are three aircraft and about ten skins each.


And that was the month that was. It started with me in shorts getting sunburnt and has ended with me soaked to the skin and wearing a jumper. Classic British summer.

Monday, 31 August 2020

Character Selection Screen

So I've knocked up a character selection screen that, currently is rather devoid of any art work. It's failry simple, uses an array which the player can flick through, each character (currently a whole 2) then display an image of the character (which is currently a placeholder) and more importantly a series of statistics relating to the character at the side. These include the basics such as speed of movement, health and energy replenishment and strength for pushing enemies aside. This is followed by the 3 types of attack and evade, and their relevant statistics, so the player can move through character selection and view the differing statistics for comparison.

I have since changed the buttons to something less awful using a bitmap array and text.

Having finally dispensed with DirectX 9.0c in favour of DX11 and OpenGL, I set about converting some of my custom shaders with ... not particular success.

Yeah, I'm pretty sure that isn't supposed to look like that ... This appears to have something to do with hardware skinning being controlled by the GPU when previously it was the CPU. As this only affects a few things I have come up with some workarounds for the fancy custom materials and will come back to this at a later date.

I've also had more of a play around with my XP-Pen display tablet and started to become familiar with the artist app Krita. I am planning on using this for the 2D art in game, and especially the selection screen for character portraits.

Drawing of an old oil painting I did some time years ago.


I also thought about reworking the artwork for Airship Dragoon, and knocked up a colour sketch idea for composition. Might not actually replace the original artwork but could use a new one for Steam's new capsule formats for updates - then again I could go the whole hog and use it for complete new rebranding.
 

I also did a whole load more stuff this month but can't actually remember what it was ...
 
Anyhow, onwards and upwards ...

Friday, 31 July 2020

My Feet Hurt, New Character And Goodbye DX9

So, apparently the new Blogger interface has been eating my images for the past 2 months ...
So expect to see a blank image leading to a 403 page soon™.

It's been the hottest day of the year here, so naturally I went out for a half marathon route march ... and now my feet hurt.

I finally finished off another playable character model, a shotgun wielding, propeller-powered catgirl, currently named "Southern Hospitality", complete with Daisy Duke hotpants. She has a short range playstyle with slow attack rate but high damage and medium manouverability. After each shot a new shell is loaded with a single handed pump-action for the obligatory "rule of cool".


And here's some video of gameplay.



Apart from finally completing a second playable character I have been porting over my project to the new and shininess which is Dx11 and OpenGl 3.2 (might be 4.0 I can't remember). This meant a final farewell to the much loved DirectX9.0c which I could just about write a shader with. No such luck on Dx11/OGL with such things as of yet.

This has required me to finally defeat the spaghetti code which I had previously wrote, slimming things down in C++ and removing bloat for the porting. I have only ported to the pre-PBR branch of the engine - so really 2019 code - as a stepping stone to entering the latest shiny stuff once I know what the hell is going on. So far so good. Everything seems to run fine - except for my broken Dx9 shaders but that was to be expected.

I've also stuck my hand in my pocket and made a new, capital purchase. Only had it out of the box once for a quick test. If Google hasn't yet fubared my images, here's a quick pic below.


It's been an awfully long time since I've done any drawing.

 
I also used a 14 year old camera to get some pics of Comet Neowise.



It was my parents Golden Wedding Anniversary. 50 years! Albert Speer only got 20 years in Spandau Prison!