Monday, January 13, 2025

Loads of Little Things

I've been chipping away nicely at a whole assorted chocolate-box of various tweaks, fixes and additions to the code.

In no particular order:

I've added long-needed functionality to my animation editor, that lets me import creature animations that face left, and mirror them in the editor so that there's a copy that faces right as well. It's been very low on my to-do list for a very very long time, but my recent additions of models that only have a left/right facing (and only come in one of those from the artists) has made it an utter necessity. I did do some manual image-editing-software left/right copies to test out how the models looked and performed in-game, and they're worth it.

I've also been working on importing a lot of new assets into the engine, as well as just spending some money on purchasing a bunch more from a particular artist. His stuff sadly is only two directional (left and right) but they look good, there's a lot of variety and the app loads them up basically instantly which is great.

I've also been working on adding a bunch of items into the game. Which reminds, me, I actually made some big changes to the editor setup where I create loot tables, making a very basic and placeholder interface much much better. The image shown is my editor interface for one particular drop type, in this case the sort of gear that many goblins will drop. I've got tools to filter any possible items at the bottom, can click on them to show me the stats, to make sure it's the right item, and can click on them to add them to the possible list of items - as well as setting up changes of drops, how many come out, whether events are required for the item, or block the item coming out at all. In other words, it's all finally clean, neat and easy to use. Just in time for me get cracking on the world!

Edit: Oh, I also realized, I'd missed an item functionality, that I can't believe I missed. There's nothing in there currently that lets certain items have a chance of a particular effect coming out. So, say a heavy hammer item might have a two percent chance of adding a debuff on a successful hit, and so on. That will need to be fixed somehow, and I've got a few ideas on how I might make that even better, so it's not purely just the weapons, but that's another day problem to solve.

Wednesday, January 8, 2025

User Preferences Framework Setup

One of the things that's been half enabled, but not really implemented was dynamic changes in the app. I half unlocked it before, fixing a zoom-in and zoom-out when combat started/ended but I took it a step further over the last few evenings as well as setting up a proper android-based user preferences setup.

So, you can now set your own preferences for combat and normal terrain views as well as text sizes for characters/creatures. It happily saves them to your device and the game boots up with those retained next time you log in.

While it's currently only those two, there's a whole entire list of things I'd like to set up preferences for, so with the framework set up now, it should be much easier to chip away at a feature here or there.

Tuesday, January 7, 2025

Magic Transitioning With Ebb

It's been a damned long day, but one thing that made me very happy was logging into the app where I'd left off yesterday, and opening up the Ebb screen, to see how things had progressed nicely in the best part of a day since I left it last night.

Everything is working exactly like it is supposed to.Each of the faces is lining up with where it should be.

:chefs kiss:

The different periods for each of the moons are moving along nicely at their own pace - and the balance between Entropy and Chaos  seems to be working just where it should be, but I'll keep an eye on it to make sure it's spot on with where it should be.

Monday, January 6, 2025

Rumourmill: Ebb and Flow Done!

I have had the Ebb and Flow working in the game for a while, amplifying abilities and spells at different times, depending on the lunar cycle of each of the moons - but I've been really scratching my head at how I was going to visualise it in-game

I very much wanted to show the two sides of each moon turning and eventually rotating away to show the opposite side and just had no idea how to do it. This evening, I had a burst of inspiration and have come up with a solution that is bringing my joy. Much heart-warming joy.

There's banners for each pair of gods and I've worked out how to snip/display just the right bits so that you can see who is looking down upon the world at any time, and they will rotate in time with their cycles, so you can at any time quickly check what abilities will really be worth using - or what creatures might be good to avoid at that particular time.

Here, the face of Water is almost turned away, with Fire coming in to replace it. The Air cycle is just past its highest point while Earth is nowhere to be seen, Death is starting to fade giving way to Life - and with the main focuses shifting away, Entropy is rife, while Chaos is weak.

Friday, January 3, 2025

Testing in-Person

For a good few years now, around, and most often on, New Year's Eve, either we make the pilgrimage to a mate's house who lives near the beach, or they make a pilgrimage to our house and we spend a lovely new year's eve and following new years day chilling out and relaxing. He's also my go-to-with-random-code-question guy, who has a great high level understanding of applications and many programming structures and concepts. Interestingly, he's not a gamer. At all. So I've very much been looking forward to having him test the app (and he's been quite keen to see this project finally in a playable state) so, this time round, I'd added him to the closed users list, and he installed and started playing.

It was also the first time that I was able to observe how someone uses the app, what they do, what's intuitive, and needs work and so on. I'll add, with a grain of salt, that as he's not a gamer, and not an RPG gamer - some things that might seem obvious to you, or most folks in the target audience, might be completely unknown, but for some things, that also doesn't matter at all.

So, my first thought, was that the tutorial was WAY too wordy. And long. And honestly, a bit junk. So I'll revisit that and improve. Secondly, the movement seemed a bit funny. I'm not sure if it's purely a non-gamer thing, but perhaps I need to look at alternate methods of moving the party at some point - currently the player, outside of combat, will simply try to walk to where you are touching the screen. I might need to implement a "tap-to-go" system as well, so you can just tap the screen and your avatar will get there.

Probably the biggest insight I had as he was playing, was that when in combat, things were too difficult to see. I've for ages had names and health appear under a creature or character - but it's never been quite correctly aligned. And the models were quite small. So, there was a big call-out to tweak that.

And, we were getting a bit too lost behind trees. So... that needed a fix too.

So, here we are. I've tweaked the code so that when in combat, things zoom in nicely - which actually makes all the characters and monsters look a LOT better, but it also makes what's going on seem much more obvious. I also spent the time to work out why the text wasn't aligning nicely and fixed that. Oh, and lastly, I did a small improvement so that if your avatar walks behind a tree (or anything else that obscures them) it will make that slightly transparent so you can see what's what. That also applies to the active character or monster in combat. It's better.

So, while I always had ideas that I wanted fights in a forest, with foliage and stuff to me visually harder, to simulate the lack of visibility by literally making things harder to see and such, it was a bit too annoying. I think this current approach straddles both playable and challenging in an improved way.

Now, all this is leading to a few things in my next build for testers. First, obviously all the stuff I just talked about. Secondly, I've jiggered the code where it needed to be much more agile (like being able to change the scale of terrain being drawn on the fly) which is going to also let me do things like let preferences be set. You want to zoom further out? Sure. You need better performance or have visual impairment, and want to zoom in? Got y ou covered. Same for text sizes and so on. User-Preferences was always going to get done "eventually" but I guess, "eventually" is now.

Monday, December 30, 2024

Rumourmill: There's Orcs About!

So, I've been smashing out as much as I can today, buying up some assets to use, and inserting them into the game as I build up the world and progress is good.

I wanted an area of Orcs in another part of West Floren Island, so I got a nice Orc Warrior asset, did all the imports into the engine and dropped it in. Then I bought another asset from the same artist (Elthen's Pixel Art Shop), this time an Orc Shaman - and the spritesheet came with a small animated totem. That got me wondering if I could manage to get my prior summoning code implemented so that the Shaman here, could summon a Totem - and that the totem would then start doing stuff. And I am here celebrating, that indeed, yes.

In the screenshot, which is a bit bland due to not wanting things covered over by large trees, I've picked a fight with some of the new orcs, and after sending a lovely Flame Seeker at Blazer, the Orc Shaman then created a Bone Spirit Totem next to himself - and the grab is literally as it blasts my rogue, Yhatzee, with a Fireball.

So, there's really cool new functionality, and the world is getting filled in nicely. Winning on multiple fronts to round out the end of the year with.


Sunday, December 29, 2024

What maketh the World?

So, I've been taking a bit of a break from app code (kinda anyhow, there's always bug fixes going on and small tweaks) and trying to focus on building out the world. Which really brought me to thinking about HOW to actually build the world. 

So far, it's been just a case of dropping in a few monsters here and there, to test a particular feature, hopefully roughly in the right place. Wolves outside, check. Goblins in a cave, check. I dropped a few NPCs where I wanted them, and gave them some conversation scripts and things. Great. I have enough to test with.

But.... I think, for building out the world further, I'll have to do things in a much different alignment and order. I mean, I've got the map drawn out, and I've got a few very rough ideas on some back story for things - but even as I started adding in some more spawns to the world, I realized that doing so didn't quite break, but made my conversations missing obvious things. I mean, it's not quite second breakfast, but it's close. You talk about all the wolves in the valley, yes, but what about all the bandits in the hills?

So, as I was heading off to sleep, I was pondering how to best build the world out, and I think I've come up with the right process:

Get a rough idea of the zone and any potential backstory etc at a high level.
Create the map itself.
Create monster spawns and place through the map.
Drop in any NPCs that will be in the area.
Create quests and then finally conversations.

That should limit the amount of rework fixing obvious things as I spend some effort now to fill out this starting zone with all the content I'd like to put in, see how much is needed to get characters up a few levels as a starting area should do as I get ready for the beta.

Loads of Little Things

I've been chipping away nicely at a whole assorted chocolate-box of various tweaks, fixes and additions to the code. In no particular or...