Update 8.5: More Currency & Skills + UI tweaks... and live preview online!
Well, we are almost there.. this will likely be the second-to-last main update!
Unfortunately, today I barely had much free time, so didn't really get much done. The game "works" but there are a lot of gaps that need to be filled in for narrative and progression. Hopefully tomorrow! Nonetheless, an older version of the game is online, in preparation for the final game jam update:
https://newretrogames.itch.io/incrementalrpg
That's the version from about 2 posts ago, but feel free to try it out and play around with the systems, and find the inevitable bugs that lurk there!
What's New
- Finished implementing the currency exchange and got it fully working. You can now exchange back and forth from copper to bronze, which is enough for this stage of the game.
- The passive skill system is now also fully implemented - characters can gain a handful skills after performing actions enough times, which level up overtime and boost the skill.
- Help system integrated into the game. Clicking a [?] in some places will toggle an info window
- Numerous UI improvements, NPCs appear with icons instead of just buttons! Rounded borders! Shadows under the menu!
Visual Tweaks
Help info is contained in a default invisible div tag, and when you click the ?, it toggles whether that div is visible or hidden. Simple, but so effective. It's a nice way to give more info than a tooltip, but short of creating some sort of help manual. I will add a lot of these through the UI, which will be very helpful - especially since the narrative and game flow that would guide the player is not properly established, it makes the game actually sort of playable in the meantime.
Normal menu popup, with help text hidden.
After the help is toggled on.
Note also how the exchange rate for selling 10 Bronze is slightly different than the rate of 1:92 would suggest, due to rounding. For now, I like this, as it adds some variability to searching for good deals - sometimes the rounding will work in your favour and sometimes against you, depending on what trade you are looking to make at the time.
The nicest update for me though is the new menus. I created a "shadow" div, which you can see in the above pics, to make the menus look like they are floating above the main area, which helps to distinguish the menu from the main game stuff, and I found out you can do rounded borders in HTML, which makes really look like old school RPG menus a la Final Fantasy now!
Currency
The exchange system is fully implemented, with backward and forward exchange rates. You can trade 1 or 10 copper into bronze, and a market rate (as explained in my last post) is applied on top of the standard 100:1 base rate. Market rate randomly shifts, and is updated live in the currency exchange window (if its open). Backwards exchange rates work, but similar to real life, are always less value (in this case a flat rate of 25% less).
So if you want 100 bronze, for example, and were lucky enough to get it at the lowest possible market rate of 100:1 the cost is:
- x bronze = x * (marketrate * baserate) copper
- 100 bronze = 100 * (1 * 100) copper
- 100 bronze = 100 * 100 copper
- 100 bronze = 10,000 copper
Exchanging back at this time, in theory would give you 10,000 copper back. But, for downwards conversions, with the 25% commission cost it ends up being 7,500 copper. Doh! A 2,500 loss. Just like real life, you don't always get back what you put in.
So instead, you hold on to your 100 bronze and wait for the maximum rate, which is 1.75 - or 175 copper for 1 bronze.
- x bronze = x * (market rate * base rate) copper
- 100 bronze = 100 * (1.75 * 100) copper
- 100 bronze = 100 * 175 copper
- 100 bronze = 17,500 copper - 25% commission
- 100 bronze = 13,125 copper
Exchanging 100 bronze back for this rate would get you 13,125 copper. Certainly, a lot less than the full 17,500 copper it's supposed to be worth - but look! - you only spent 10,000 copper for it originally. That means, a profit of 3,125 copper... all for doing nothing but waiting.
The rate is pure randomly generated every minute. A wishlist item would be to make the rate instead move in "points" much like real stocks and commodities, moving upwards or downwards over time, which, while still randomly calculated, would feel a lot more real. I might also need to tweak the 25% margin so that arbitrage is not too powerful, but for now it's good enough, and it's kind of cool to have an alternative source of money management.
Skills
Skills have been slightly fleshed out. Basically, when you perform an action associated with a skill, the game checks if you have that skill.
If you have the skill, it gets a small bit of XP (1-10pts). Your skill level (generally) boosts whatever action you are performing; the higher your skill level, the higher the benefit.
If you don't have the skill, things get more interesting. You receive a penalty to whatever you are doing, but the skill gets added... but it's "untrained" and doesn't yet appear in your skill list. It is saved as lv. 0 and starts with -100 to -50 XP. You have to gain enough XP to not only pass 0 XP but get to +100XP and reach lv. 1. At that point, you have the skill officially, the game tells you that you've learned the skill and it starts appearing in your skill list. Current skills:
- Gathering: increases wheat gathered per click by 1 per skill lv
- Chopping: increases wood gathered per click by 1 per skill lv
- Mining: increases stone/ores gathered per click by 1 per skill lv
- Combat: increases damage of [Attack] by 1 per skill lv
- Defense: increases def when [Defend] is used by 0.1 (10%) per level
Both the player and adventurers can gain skills, later I will make it so workers also gain skills. Later I will have skill levels for Swords, Daggers, and armours and so on. Lots of potential here, such as a skill tree. E.g. once you get lv. 10 in Swords, it unlocks the duel wielding skill, enabling you to equip two weapons. I can also make a skill that adjusts the base market rate, e.g. down to 90:1, so that you always get better rates.