I've also been filling out the Item descriptions and working on figuring out item values and crafting recipes since those are things I can do away from my PC. They'll definitely need balancing down the line though! (That's what alpha/beta testing is for!)
First things first, gotta fix NPC's finding Fishponds when Culled!
I have them using the [Find Interact] code, instead of the [Find Jobsite] code that Farmers and Foresters use, so I think I should use that to get them close, then they can use the [Find Interact] to get the places they can actually fish from.
Got it working. Kind of a big oversight of mine, this code should have already been working but I only had a condition for if the NPC was culled. The Jobsite also needs checked for Cull state, since the pathfinding code needs to calculate the distance between the two objects and that's not possible if Culled.
I also added a check before this so that Fishers can move closer to their Fishpond before attempting to pathfind to the access points, the same way that Farmers and Foresters do.

2523
In preparation for working on adding addition tasks for Fishers at Fishponds, I've added [WORMS] and [FISHFOOD] as items.
You have a small chance of digging up Worms when digging in Grass or Darkgrass,
Fishfood is crafted from [WORM] + [FLOUR] + [PLANT FIBRES] at a Blender.

2549
Fisher NPC's will now fish up Plant Fibers when Fishponds get overgrown, these can be used by them to make Fishfood or sold to the Player. They can also throw Fishfood into the Fishponds to increase the health of the fish population to prevent overfishing.

2528
Updated Save/Load system to use the [isJobsite] script when checking if a Jobsite has an Owner, this should now be futureproof. Seems I was just adding them manually previously, despite having swapped everything else to the
[isJobsite] script.

2524
Been mostly away from my PC keeping an eye on my Gran, she had another fall :(, so I've been working on my shitty MS Surface tablet. Ran the GM Profiler and found that the biggest lag is caused by the DrawGround script, so I've reworked that!
The main issue seems to be the number of surfaces I was making. So I did some messing around, reworking and reordering things.
I had 3 surfaces for Water:
One for the shader which is the size of the view (required since it needs to be tiled and repeated). It's also placed over itself with a blue tint and an add blend mode.
One for the area of the view which is land, this is then later cut out of the shader surface so that only the water is made to wiggle and my underwater tiles have detail (the permanent land surface has those tiles stored).
And a final one that draws the animated shoreline.
I tried a bunch of different things to get the it so I only needed the one surface and could draw the land cutout directly to the shader surface, but it wasn't quite working. I got really close but there was some darkened areas on specific tiles?? Turned out that when I'd made the tilesheet, the delete tool must not have been set to 100% so there was phantom pixels. FIXED! Works perfect now!

2525
I also took out the part where I drew the shader surface over itself to make it more blue, instead I'm just drawing a stretched blue pixel over the surface, amazingly this gave the exact same colour, so SORTED!
I originally only did this because I put the game into GMS2 and it threw a surface error. Guess this was a pretty big mistake of mine, even if GMS1.4 was fine with it! X'D
I took out the surface for the shoreline and instead I'm just drawing them directly onto the shader surface, but after everything else is done.
So now I'm down to just 3 surfaces for the draw code, one for water, one for land, and one to crop it if I'm drawing it in the Town Menu!
These changes have vastly improved the framerate on the shitty tablet! It's almost playable! That means the game should work nicely on potatoes!

tablet001
While I was at it, I checked to see what else was taking up most of the FPS. Seems Grass was using way more than it should have been because it can wiggle? So I added a condition check to see if it should be wiggling, if not draw it normally. That's reduced it right down!
Ideally I'd love to draw grass as a shader, I've seen other people do this, but I'm not sure if it would still be choppable? Gonna have to look into that at some point.
Had the random thought that I should be able to add Fishponds to the Water shader. But it didn't work, then I realised my mistake. Because I draw the shader, then remove the land from it, I have to add back in any additional water! Boom, sorted!
The colour isn't a match for the main water, but it still looks nice so I think I'll keep it!

2526
Also, works for Oasis in deserts!

2527
Updated the sprite for Fishponds, and decided to take out the Fencing from around them. Farms and Orchards have fencing as a way of giving a bit of a barrier to enforce their shape. Since Fishponds can't be walked over this seems pointless, so now I'm just drawing them as part of the Fishpond (this also lets the water shader work over them, and fixes a depth issue with fishing bobbers!)

2529
Adding Spike Traps for Dungeons and...urm I might have forgotten a check or two...

2530
Added sprites for them and fixed the checks.

2532
Added two more trap types and added status effects to them. Wasn't sure if I wanted to use the Chest trap code or not, but it has stuff that's not needed, so they just update the Status effect directly. Don't have a UI element for BURNING Status yet...

2533
Reworked the data for Traps, removed the Surprise Spikes and instead just set up conditions for them to loop or trigger based on spawned variables.
I can now have traps already active on spawn, active on touch, loop forever, loop set amount and have spike traps able to end up or down on their last loop.
Changed Gas Trap to use the POISON Status and set up the UI element for BURNING Status. When Poisoned you only receive 75% of the benefit from Food, when Burned your MP cost is increased by 25%.

2542
Was working on something else, but realised there was an issue with the Save/Load system and Soil...INFINITE WORMS!

2534
Set up a new kind of Magic, Orbitals/Shields

2537
I think I've got them set up so they'll always be the correct distance from each other?
https://i.imgur.com/bjozFqH.gif
2538
I couldn't get them to space out if you spawned them separate, turned out I wasn't creating the correct object type, nor checking for the one that was created. This meant you could spawn infinite orbs...
Didn't realise this till after I took all the code out for it :/

2540
Reworked the way Staffs work, changed it so the extra slot that Watering Cans use for their content level decides the type of Spell that a Staff can cast, instead of it being connected to the Element. Also set up the Item info to grab that data and draw it. Now I need to figure out how I'm gonna have the Player Craft them...if I do at all?
I could use the Enchanting Table since that lets you add up to 3 gems to an item but that would mean you could craft a Staff that has an element but no actual magic type, making it useless until you add a second gem.

2541
New sprites add to fill in the gaps for new Magic Types, an electrical orb.

2543
More new sprites, this time for the AoE spells. I think the Fire one needs something in the middle, and they all need particles. Kinda want the Ice one to look more like it's growing rather than just moving. But these will do for now!

2548
Dang it. Seems when I updated how Gems worked a while ago, I forgot to update the Enchanting Bench. So I've had to go through all that and make it work again X'D
Fixed!

2547
Bug Fixes and small Changes
Changed FISHER [Find Jobsite] code from looking for the SolidOverlay, to the actual FISHPOND object.
Fixed Destroying Jobsites causing a crash if in use.
Updated Save/Load system to use [canOccupy] script to check if it needs to reassign the user of a Building.
Fixed crash bug with the Calendar where it would duplicate entries for NPC's and the Player's birthday.
Fixed a bug where Bebug Birthday could be on a day that doesn't exist.
Fixed not being able to sell Flooring/Tracks.
Fixed Placement Indicator not being set red for some obstacles.
Fixed Placement Indicator not working for placing Paintings.
Fixed Water Splash Effect happening forever.
Fixed footprints being generated inside buildings built in deserts.
Fixed a crash in the NPC menu caused by data not being cleared correctly after resizing a Jobsite.
Fixed a bug where eating the last item in a stack didn't clear the values properly and stopped you moving an item to that slot.
Fixed an oversight in Save/Load system where Fences weren't loading properly.
Fixed an oversight in Save/Load system where Soil with no Crop wasn't loading properly.
Fixed an issue where sometimes Loading Crops would set their top sprite to the base sprite.
Fixed Culled Soil not autotiling.
Fixed an off by one error in After Effects of Enchanted Gear.
Updated Soil to use a version of the Snow/Sand Autotiler and sprite tiles.
Improved performance of Grass.
I think that's everything for this month?
Thank you all so much for the support, it really helps me out a lot. I hope I can get much more done this month now that I'm pretty much settled!

Please look after yourselves, stay safe out there and keep being awesome!
0 comments