Wednesday, October 30, 2024

And now back to our normal programming...

So, if you come here frequently, or you've just looked at the frequency of posts, it's recently been a bit of a decent break for me. I took two weeks of holiday from work (such luxe!) - there's two reasons for that.

Firstly, I went for a lovely holiday with my wife, and we had a delightful bit of switching off from the world. We both took books for the evenings, and good boots for some serious hiking in the mountains. We ate, we drank, we read and we relaxed. 

*chef's kiss*

Secondly, from the day after we got back, we've been going at full throttle painting the house and I also built up another addition to the garden. So, of the fourteen days of break all up, there's four days left. We're both feeling utterly accomplished, but it's been about ten days with next to no programming on my end. I did a few bits here and there, but after labouring all day, there's not much left in the tank mentally, so there's nothing super huge to celebrate.

The good news is, that there is indeed four days left before I'm back at work. Which means I've got some good coding time ahead of me. There's a plan for what I want to get done even.

Roughly, in order: Change the code and app so that NPC images aren't stored in the app resources, but downloaded from the server and cached for use instead. Do the same thing for terrain information. Add content to the world. I'd also like to have a better way for the item data to be updated to the server than it is now, but I'm not locked into a particular method for that yet. There's enough there to keep me occupied anyhow.

So, lastly, in things that made me laugh, I started filling out the world in bit of work, and added in spiders (also, I wanted to check the graphics changes I'd done with creatures that were more than one square large) and so I quickly added a new zone area to the game, dropped in some creatures and ran my party in. Turns out the last time I used spiders, I'd been mucking about with stats to check ability logic. Anyhow, the spiders basically mauled my party of level 1 characters without breaking a sweat. At least I got to see that respawns were still working as they should be.


Friday, October 18, 2024

Rendering Redux

I've been meaning to for a while now, change the way that sprites are rendered, switching from the current concept of "render and prepare each one to a tile size" to "render it in the tile, to any size you want". And today, was finally, the day when it happened.

So, that's a quick update. It's enabled a lot that I wanted to do around bringing in some images in a higher resolution and so on, as well as some other assets that I have where the asset itself is normally surrounded by a good deal of clear space - which would have shrunk the final output needlessly and so on. Blah blah, code stuff, code stuff.

Is good. Is better. Is success for tonight.

Here's an inn in the starting area, with the newly much larger party sprite for my party. The final one will end up probably somewhere between this one, rendered at double the size of the original and merely a higher resolution original.

Oh, and I'm off for a break for a few days. Loads of cold weather and hopefully good food in my future!

PS. Quick thought. This works for the normal scale creature (supposed to be as large as the party animation. I'll need to validate my numbers still work for things that are supposed to be multiple tiles in size.

Wednesday, October 16, 2024

Stabilising and Bugfixing

There's been a good bunch of things in the app, that I've known about, known that were broken or unfinished, but I've simply been avoiding them as I know I can circle back to them. One of those things is reagents for spells and abilities. It's certainly a to-do to be able to give an special boost to an ability or spell with the right ingredients on hand. So, there's a button for it. If you press the button, right now, the game hangs. Whoopsie. I know I'll circle back to it at some point soon and fix it out, but it's an example of, well, something sharp on the workbench I know about, but shouldn't be there if someone else is coming to use my stuff.

So, I've been hurriedly fixing all manner of such things, to get the app crashing much less, and getting the game stable. Doesn't mean I'm implementing all the things, just taking the sharp stuff off the bench and putting it in a drawer with a "Fix me" sign.

At the same time, I'm looking to add in some content into the world. The quests that were there, were purely for me to test out all the features I wanted in quests. Not to actually do much else, so as I start having folks running about, I really do need to add some content for them to do. "Here, play my game, there's one section with some wolves, and one section with some goblins! Have fun!" ... ... ... really doesn't go as far as it should. So that needs urgent attention too. If only I didn't have a full time job and work around the house and maybe a team of developers to work on all these things... Well, if I had all those, I'd probably be bored. So here we are.

Oh yeah, and at some point, the sound stopped working properly. I think I need to fix that urgently too.

Monday, October 14, 2024

I'm Doing My Part!

Yes, there's been that many bugs that it could be a new instalment of Starship Troopers -PS, nothing after the first was worth a dime).

There's an annoyingly high number of server bugs that I'm finding. Things that I already solved for in my dev machine, but that didn't get copied over properly to prod in the different environment. Dumb little things. Annoying little things.

Things that I'm fixing pretty quickly and getting back to where things should be.

I'm also paying more attention to some things... like Goblins not moving in a particular encounter... investigate code... look though combat logs... scratch head.... discover that I've set up the goblins with zero move. So yeah, working as expected - and the moment I updated it to what it should be, things just worked again. A whole bunch of things with Quests too were flagged and fixed.

So loads of those little things, but quickly found, quickly fixed. I've even started updating conversations and quests again, so the folks doing the alpha testing aren't standing about scratching their butts with boredom.

So, it's been a super productive start to testing. Super chuffed!

Saturday, October 12, 2024

Today is a Special Day Indeed

So. Today is a special day. But lets start a few days ago.

I created a set of install files from my development server and did a good bunch of testing to make sure that generally things that should work, do in fact work. And they did in fact... work. So, I sent them out to a few friends to test. And.... whaddya know. Doesn't work.

So, I'm scratching my head, trying to work out what's gone wrong. I install it on another physical device I have. Works. I run it using a different email address, thinking it might be some artifact from my login. That too, works. I do a bunch of trouble shooting, and I find that it's not working when I drop off the wifi at home and use mobile data. Now, if you're really clued on, you're probably solving this already - but that's not where my head was at. I was thinking that there might be some weird certificate issue between hosts that's for some reason showing up when I am on a different network, so I'm playing with stuff online, and no luck. More head-scratching follows.

I eventually dig into the code. And find that while I thought that all my code was working perfectly online, it was in fact secretly still happily dialling into my dev server for some aspects of communication. Okay, so there's that to fix. I'll cut to the chase, but a lot of code fixing and development of new code to handle certain functions was done and deployed online to my prod server. It's quite different as the tech stack online is different o what's at home. Anyhow. Not important. I finally got those parts properly online and deployed.

Huzzah.

Great Success.

My friends can log into the app, and finally start running about. And a lot of stuff doesn't work. So I've now been madly running about, arms flailing and the like making fixes to the code and deploying to the prod server. I've mainly fixes most things that are/were different. I seem to have completed a quest properly finally, which means quests are completable. I also broke something in combat. All the player characters seem to vanish in combat and not exist. So that's a tomorrow thing to fix. I played with a few things today, so I'm sure I borked it then.

Anyhow. Tonight I can enjoy and bask in the warm glow of no longer being the only person playing Torn Realms.

A huge thanks to Nath and Abhi who are installing my stuff, testing for me and dealing with many more app crashes than they should.

Wednesday, October 9, 2024

In the Weeds, but Important (aka While I remember!)

So, boy oh boy, this is an update that's deep in the code. The code that no-one will ever see, other than the game should stay running nicely and not hog up more and more memory on your device.

I've finally written up the code that will load needed bitmaps for all the monsters and player characters on the fly, and just as importantly, drop them back out when they are no longer needed (until they are needed again, when this starts over). Similar code also works for the various animated landscape things (torches, trees etc).

I'm not getting into any deeper discussion on how it works, cause it's just not needed. The good news for me, is that it finally, does, indeed work. Which in turn means that you, or me can go legging it around the world, and there can be all manner of different monsters and things about the place, and the app will happily render all that's needed without the Android system underneath it cracking it with how much memory is being used up as more and more is loaded into various things.

With some luck, tomorrow I'll tweak the lighting system to make a few changes to how lights are displayed. I'd like to have a max differential between the ambient lighting in an area and a light source as well as a cap on a light source luminosity. That will make for better looking effects, but also allow me to make some items better in different areas. It makes sense in my head currently, and that's what I'm working towards!

Oh, and we're looking at the Floren Lowlands just to the north of one of the starting zones.

Wednesday, October 2, 2024

Character Inventory Updates

So, quick update. I've been chipping away at various bugs (Read; BUGS BUGS BUGS!!) and generally enjoying the process as it lets me not only fix bugs, but give things a quick polish while I am at it.

Case in point, the Character Inventory screen would cause a crash if the phone changed orientation in some contexts. Great. I'll fix that, and at the same time, tidy up some of the other layout items, implement text colour identification of item quality and tidy up a few other things in the vendor/loot screens. Winning all round.

Also, this is Grumpster, one of my terribly named test characters on my development server, along with a mix of bought and looted items and equipment.

Plink plink plink

So, I've just dropped another internal test build out, capturing another big bunch of changes I've been building up with particular ...