Monday, August 25, 2025

It's threads.... all the way down...

It's been a delightful (Narrator's voice: it has not been delightful) three days trying to get one little screen update to work. One of the things I needed to get improved was the front loading screen. And, I thought the simplest way to make it not feel like it was just hanging for 10 seconds, was to show what it was doing. Simple. (Narrator's voice: it should have been simple).

So I set up some extra update script, to show what was happening. And it didn't do anything, till it was finished. Ten seconds later. Then it showed that it was in fact, complete. (Narrator's voice: Called it)

That was about two days and twenty three hours ago.

Since then, I've been scratching my head trying to work out why a simple update, that, using logging, was telling me black and blue that it was updating perfectly well, wasn't updating perfectly well at all.

And look, this is once again, one of those "If you know, you know..." things. But it turns out that, yet again (Narrator's voice: There's a lot of swearing not being typed here) Threads aren't as simple as you might think. And in this case, they are, but a particular Android queue that I have set up in my low-priority-background thread... does everything as the highest possible priority. It doesn't make anything like that obvious, it just does. And when I went through the docs (Narrator's voice: You know things are desperate when you start reading those) that it runs the response on the UI thread (That's Android's highest bestest most importantest thread) JUST IN CASE there are some UI updates to perform.

So. Once that penny dropped in my head (Narrator's voice: Like I said, when you know, you know) I was able to solve the update issue, but much more importantly, a whole bunch of other issues that caused lag in the app, that had always been there, but I didn't know why at all. They weren't game breakers, but certainly were noticeable if you were looking for them. And now, by being able to actually push all the background tasks to the background, it's running much better.

Friday, August 22, 2025

The break that just kept going and going

So, while I've not really been making a concentrated effort to get away from the code, I have kind of done very little in a long time in the app. And like I said a few posts back (though it seems like a really long time ago) there's been a lot of changes going on, and it's been altogether way too easy to fall out of my routines in what I did and when. I will be very upfront though. In terms of stress, it's been MUCH better. It's also given me time to get into a few things that have been on the back burner for way too long, and I will admit, I got a bit greedy with some of those things and couldn't really put them down.

The good news is that I've done a lot of organising in my man-cave workshop. I've redone the dust extractor for all my woodworking machines, and it works amazingly now. I've also redone a bunch of storage up in a mezzanine above it, and have finally (earlier today) made some semblance of tidiness and organisation in a bunch of my tabletop gaming stuff - which was at a level that was just soul-draining each time I looked at it, or needed to get something or do something up there. I've also managed to give away a few woodworking machines to make more room.... and yada yada yada... basically, I am metaphorically cleaning up my life through my workshop and garden. And I think I've needed it mentally.

So. Torn Realms.

Yes. It feels like there's a few more days in the workshop to be able to get my car back in, and have it to a truly good level again, but with that, it's also meaning that I will be really focused on the app properly again as my main priority.

I've not completely been ignoring the app, in fact I've made quite a bit of world here and there, and what I'd started in the new Quirkwood has been going really nicely, but that's also not what I need to focus on right now. There's a few small things left in the app that I'd like to get done and then release it for testing to a bunch of new testers (a good bunch revolves around initial party creation, and making sure that's spot on - so I can't have old testers really getting into it) and I need a game-tips thing while the game is processing data after login, but before full game launch. It's really not a lot of work. And so it's going to get done. And there's going to be some fresh testing.... and if the input there is good, I think it really is open testing time.

Saturday, July 12, 2025

Quirkwood Progress and Play-Testing something else!

I've been mainly working on the tileset assets for Quirkwood, getting them all imported into the editor and set up as needed to work on the next larger zone - and that's coming along great. I've got the files imported now, all the brushes made up for the complex decorations and so on. and so I can have fun building out the new zone - at least in terms of map.

The other thing I've been doing is some beta testing for a friend on his game. It's also an RPG, but there are a number of differences. It's an MMO for a start, so he has a single player and it is all real time.... Anyhow, the important thing is that while I was testing his game, I think a lot of the feedback I gave him was actually the same, or similar that's been given to me in a there-or-there-abouts way. It was great to be able to test something that's also been developed by a single indie dev (he's also written his engine from the ground up!) and seeing all the technical stuff working, but as a player, also seeing some of the "How do I....." and "Tell me more about the world...." type stuff.

And, as funny as it sounds, doing a few days of play testing, and focusing on that rather than Torn Realms, has actually helped me so much in terms of giving me the ability to see my own things anew, but also from a different perspective. There's a few things I'll want to do in short order to make the start especially, more player-friendly. Once again, as I've been told, it's all about the polish, making things "just right" and leaving the player in as little confusion as possible. There were a few things that as I was playing, sort of made sense, or I was guessing at - but not knowing and being sure of what I was doing was quite frustrating. I also saw, again, just how important it is to as a player, feel agency to accomplish what I was trying to do, and know when I was doing it right, versus when the game was expecting something else - and I didn't know it.

So loads of good learnings and experience there.

Oh. This is how Quirkwood is coming along. 

Wednesday, July 2, 2025

App Loading Times

So, such success, much speed.

I did manage to get all my code bits written up. When the app starts up, it's passed info from the server on dates and times of asset files. It checks what you've already got cached, and sees if it needs to update anything. No? Sweet. Lets move on. Yes? I'll just grab the files I need.

So, just a quick update, I'm sort of getting ahead of what I had planned in my dev pipeline, which always gets me funny. I think tomorrow, I'll add in a better loading screen, so that there's something to view, aside from just seeing the numbers count things it's done.

I also just remembered that I also need to change the way quests complete, so that it dings it off nicely, even if the reward is just a bit of XP or something. It should pop back up to a nice "Hey, you've completed this thing..." instead of potentially silently finishing things up. 

I've also spent a little teeny tiny bit of time and imported some new assets to use in Quirkwood, to till out the zone and make it more interesting. I am currently not spending a lot of time in the editor as it's not really in my priority list, though it's fun, and I can do it in very short bursts of effort.

Tuesday, July 1, 2025

Character Skill Tree Interface Improved

A while back, when I was on a quick call with a mate, as he was testing something out, I came across a small-ish bug that happened more on a device, rather than the emulator I normally test on. 

Namely, when you want to level up a skill, well, there's a button to do it with. And on the emulator, when I click, it clicks. Once is once. But a device.... yes.... the touch event. a finger press may be multiple click events. So, my mate Jon clicked the skill-up button, and went from zero to 3 points in a skill as the touch event fired off a bunch of the same thing.

Namely, part two. The UX (really, the UI is the problem, but it leads to a poor UX) for skills just wasn't quite good enough. The skill trees have nice big skills, but although you could click on them, and it did show up in the top of the screen what it was... and you could scroll if it had a long description - that's also where the skill-up button was. It just wasn't "there" there.

So, now, when you click on a skill in the tree, it brings up a lovely new overlay, giving a much clearer view of the skill, how it works, the full text description, and there's the skill-up button there, so when you click it, while it fires off the request to the server, it also puts you back to the main skill-tree view - so you can't unknowingly chain-click the button.

So, that's a really long way to say "I made a screen less crappy!"

Tomorrow, the plan is to make the app load quicker hopefully - though I need to make a good few changes to different parts of the code, so not entirely sure I'll be able to get it all done tomorrow. But that's the plan.

Saturday, June 21, 2025

The King is Dead. Long Live the King!

So that was the cry that went up in medieval England when a king died, to herald both the passing of the old monarch, and the crowning of a new heir. And it sort of feels like that.

I've taken a bit of time to process the fact that I've been made redundant from work, along with the team I was in (shoutout OpsDev!!) but things cannot be changed. I did spend some time looking for another role within the company that I am employed at, but this redundancy process has been underway for a good while, so there's not really a lot of ripe fruit on this tree so to speak.

So. I've purposefully taken a bit of time for myself, to work out what I want, and from my last post here (which I very much acknowledge was a long time ago) not much has changed. I don't really know what I want to do right now. I do know that I will take some time off to think it over. And I think part of that means I need to really get this beta over the line. To give it a fair go, and see what's what.

I have been doing a few smaller, UI and UX things on the app, which have been fantastic in terms of the way things play. 

So, First up, there's no more fat fingers in the middle of the screen. I've switched movement up, so there's not a little joystick at the bottom of the device, keeping fingers out of the way of where your character is moving, and making it much more visible where you are going.

Right after that, I've made the camera pan from one active character to the next, so that there's an obvious shift from where the action was, to where the action is. Small, but important - and annoying much more finicky to introduce than I thought it would be. 

Next up, I've changed the way text, both combat and general, is displayed on the screen. I'm using a fixed delay-and-fade rather than trying to do my own game-time-fade which is much more intuitive and just feels nicer and better.

Right after that, I changed the way that skills and hotkeys are displayed. Well, sort of. You can set your own hotkeys (with reagents if you wish) to any hotkey in combat for each character. But I've added a script in there, that when loading your characters, fills any un-used hotkeys with skills and abilities that aren't already hot-keyed. Sort of a way to make sure you're not missing anything.

Also. I've been setting up a new tileset for the next zone that I'm adding to the game; Quirkwood. Cause I really enjoy seeing new zones and the world coming together, and I felt that I mentally needed that. So, I'm slowly working on building that out in the editor. There's not a lot there to show yet, but little by little, it'll get there, and I can use it as a delightful interlude while I work on other things.

So, I guess.... I've had a whinge. I've had a sook, and I've had a f##ken cry about it. Time to harden the f##k up and get back to work. You also get a million and eleven internet points if you get this reference. And if you don't.... ( Rude Filter Warning!!! )

Monday, June 2, 2025

Some Big Life Changes

So, last week I got some news from work. The team I work in is being made redundant. So there's a lot to process for me there.

The good news is that at least there's some money in the severance package, so I have some time up my sleeves to get myself into another role. But I think I am going to take a little bit of a break from work and try to get to the bottom of what it is that I want to do - as I've not been overly happy with my job for a good few years.

So, what does that mean? Well, for one, it means that this game just went up in my priority list. Where my daily work took number one priority, and house, life, chores and game took lesser priorities, my day to day is going to be split between working out what I want to do properly, getting the game up to scratch for the beta finally and a long list of stuff about the house that's probably been passed over for way too long.

But I think it is also going to focus me a bit more. I'm on a financial clock now to sort stuff out, so there's no more safety blanket of "when it's ready..." and things just keep ticking along in perpetuity. I'm paying for cloud assets, so I really do need to get this show on the road once and for all. Even if it is a beta. It needs to happen. So yeah, priority went up. And time able to invest in it has gone up. By a lot.

As for non-game stuff (cause I'm using this blog half the time as "get things off my mind" service, I've been employed for two decades in the same company - though working in a very expansive variety of roles, giving me both great experience across many facets of the business, and also exposure to a good number of different work styles - and I have no idea what I want to do next. I've a long list of jobs I could do. But I really don't know what in that list I want to do. And I've had almost a week to think about it, though I was processing a lot at the time, but yeah. I don't feel any closer to a "yes, this is the thing..." moment. Early days I suppose.

So, next things to work on is still feedback on the interface. I need to polish up the camera slingshots between characters/monsters as they activate in combat and I need to implement a change to the way movement is interacted. Basically, the way the touch events are done on the phone currently, you end up blocking your view nicely with you finger/hand so that's rather annoying. I need to make that better. I think I know how and what, but I need to implement that.

Right. Therapy session over.

It's threads.... all the way down...

It's been a delightful (Narrator's voice: it has not been delightful) three days trying to get one little screen update to work. One...