Wednesday, April 30, 2025

Guild Vendor and Combat Effects

So, I didn't get an awful lot of time this evening, but I did manage to knock over a slow-down effect much quicker than I thought it would take, so complete win there.

So, one of the thing that was irking me, was that if you didn't engage in combat, you could effectively just keep running past things, and they might get a hit in, more so if they had ranged attacks, but it was basically very easy to simply leg it past anything. So, I've changed things up, so that when you get hit by something outside of combat, it slows you down for a moment, basically trips you up. Consecutive hits will impact this more significantly. The idea is, you can probably leg it past one or two creatures without TOO much hassle, but trying to make it past a crowded cave corridor? Not a great idea.

Amusingly, that got to working exactly as I wanted really quickly, so I then whipped up some more items, and Floren now has a Guild Vendor, where new characters will be able to use their initial guild chits to pick up a good bit of armor, or a handy weapon of their choice. There's gear there for each class, and I'll put a few more spell and prayer books up there so that mages and clerics will have more options to start with too, before they collect some further equipment later on.

Tuesday, April 29, 2025

Item Binding Done and Dusted!

Somewhere along the way, I looked at implementing items that will Bind to a character, either when equipped, or when picked up - and although I needed to implement these, I needed to update so many tables and locations that I've just pushed it to the back ever since.

First off, why have these items? Well, sometimes, you just need to earn things for yourself is the shortest, simplest answer. If there's a quest series with a really cool reward at the end, I'd hope players want to complete that for themselves, and not just buy the item from an auction house, from some other player that finished that quest series a long time ago. Secondly, if there's a quest to gather something off a creature nearby, the purpose of that quest is to go hunt those creatures - not find someone else selling those items on an auction house.

Now, some items that are great items, will simply be a rare drop off a particular creature. No issue there, you will be able to trade those, but again, I think that really good items will bind once they are equipped.

Right, so with all the reasoning out of the way, the good news is, that it's all done! The various confirmation dialogues, the changes in the editor, the multitude of changes to database tables, both on my development machine, and on the server for player-data. It's been quite a few evenings of solid, and sometimes very tedious work. But It's done.

It also means, that I can now give each starting character a token from their starting class guild - where you'll be able to trade that in for a choice of weapons or armor fit for that class. Something decent to get each character started!

Also, I've said auction house, as the plan is to completely have one. Eventually. It's just not there yet. But it will be. Eventually!

Saturday, April 26, 2025

Event-Driven Spawns (Cool stuff!)

I was really surprised that I hadn't done it already when I went to implement it... but I didn't have the ability to spawn a particular creature based on party events - or, speaking like a normal person - I didn't have a way to spawn quest-specific creatures when you were on that quest.

Super short version.  I do now.

Slightly longer version, I went through, tweaked the editor code to allow that, then tweaked the app to behave based on either "Spawn When" or "Don't Spawn When" conditions. Super good to have.

Building on what I'd done in the last few days, I used a "junk" spawn from bandits, modified the item to trigger a quest for a wanted bandit, picked up the quest with my party, tracked him down, finished off the quest and collected my reward.

Now, the really cool thing about this being event driven is that it's been my plan to drop events into the players list based on certain world events. Night time? Drop in a night-time event. Day time? Drop in a day time event. It's raining? Rain event. With this new functionality, I can really drive a better narrative with certain things, such as "This place is only dangerous at night" and so on, or have them linked to weather effects and so on.

Here's the screenshot I grabbed with the bandit Chester, as I was hunting him down for the local guards.

Wednesday, April 23, 2025

Items can Initiate Quests Now!

In an awesome ongoing surge through things I've wanted to get done for ages, I modified my editor to let items start quests, then brought it nicely into the app menu and use systems.

Not a lot more to say really, it's been a to-do for ages, and now it's moved into the "Done" quadrant.

Huzzah!

Token Purchases Finally Functioning

Given how nicely and quickly I managed to implement characters starting with gear yesterday, I really thought I'd have a chance of getting tokens implemented yesterday. Alas, it was a lesson in hubris, and towards the end of the day, I thought I was within reach - after having upgraded my editor to handle these things, then making changes to the app in how items are read, then changes to how some adapters process things, then a whole bunch of stuff what happens in the app when checking if a purchase can be made, then finally working out what needs to be passed to the server and eventually getting it passed there.... to realize that unless I made significant changes to much of what I'd just coded, that the server would need to do most of it all over again - and that was not going to be efficient. So this morning I managed to get stuck straight into it as I've got the day off (I've actually had the last few off, hence the dive into bigger things) and made the needed changes, passed all the extra information to the server.... and finally...

Characters can now make purchases using tokens instead of money when a vendor allows it. This means a multitude of things. Firstly, I can now give mages some tokens when they are created, so you'll be able to pick and choose the spells you have to start with. Same for other classes to get a nice bit of armor, or a nicer weapon etc. Brilliant. Secondly, it means that I'll be able to have some quests reward you with a token that you'll be able to trade for what you want, rather than just a single item from the NPC. Again much better. And lastly, it also opens up the potential to have a form of barter in certain places, or with certain vendors which is quite intriguing from a story point of view.

Tuesday, April 22, 2025

New Characters.... Start with Stuff!

So, I've made a few starter items, and tweaked some code. New characters will now start with some super basic equipment, but equipment nonetheless. It's also equipped when the character is created, so it should make it easier for super new players to not have to work out that they need to buy stuff, then equip it etc etc.

It's only early in my day, and I'm not working today, so hopefully I can throw in some more stuff before the day is out.

I don't want to give myself too large a target, but while looking at this starting equipment, I was thinking that having some starting tokens, that you can trade at a starting location for things might be handy too. I've given folks some basic clothes and a rudimentary knife, but for mages... they're not going to start with any spells - as all spells need a skill... what if I give you a fire scroll, but you want to be a death mage.... do I need to give you eight starting spells? It all seems a bit confusing. If I can get tokens working (which I do plan to do already for some quest rewards and the like) it would certainly make this easier.

That Bug... FInally Squashed!

So, for a good few months, one of the bugs that's been just getting past my ability to be resolved has been the one where the screen rendered goes completely janky when the device orientation is changed, but before the player moves. Once the player moves, it resolves, but that change did something. To a lesser degree, it was also present when the preferences were changed to render a new resolution. And it was, to a much lesser degree, also present when you walked into a house, or up or down stairs.

No more.

I finally hunkered down, sat there with the code for rendering, the other code sections that work around these actions and kept at it.

It's also one of those "it makes perfect sense" when I've spent the two days to work it out, and yes, it makes perfect sense of what's going on, and why it was doing that. And of course, as it always is, threads were involved. Not the only culprit, but involved. So amusingly, there were indeed to issues that were causing individual issues, one when the orientation changed, and a different bug when entering/exiting but they're both solved.

So, that's been an utter elation to finally have that fixed. The game just looks so much more finished with that no longer being a thing.

So, next things next.

I'm doing some testing on a tablet, to see how things look with a completely different screen, and aside from one random crash, the app seems to be stable and without issue so far.

So, next on the agenda. I need to tweak the code when new characters are created to give them some starting items. My band-aid solution for that was to simply start the party with some cash and drop a few cheap "starter" items on a vendor, but I think I need to do better than that. So, that's my goal for tomorrow. Create some "starting with..." items and to tweak the code that creates characters to add them automatically when a new character is created. Oh, and to add in a party trainer type NPC to the starting Inn.

As for the screenshot, I started a new party using my wife's tablet and created characters named after what she suggested.

Guild Vendor and Combat Effects

So, I didn't get an awful lot of time this evening, but I did manage to knock over a slow-down effect much quicker than I thought it wou...