The natural counterpart to the inventory screen is the shop. It’s one thing to be able to pick up, equip and drop loot, but that is only half of the ecosystem. The other half is offloading that loot so you can
hoard your wealth and never spend it because the best items are actually always in the world buy better things.
This week, I have been building shops… and quests, so you’ll have some money to spend in them (without me having to litter the train station with gold ingots).
Shop Until You Drop
Once again I am cribbing from the Infinity Engine, because I found that shop interface clear and easy to manage. One the left is the list of stuff you can buy; on the right is the list of stuff you can sell. That’s all you need, really.
Because both sides of the transaction are lists, then this format can break down if a shop has too much stuff on offer. However, having both sides as grids like the inventory just feels too weird — and a grid becomes very unwieldy (less wieldy?) when you have to add extra information like an item’s price next to it. I’m compensating by having the two lists be much larger; plus, I expect that my shops won’t ever be overflowing with junk in the same way as Baldur’s Gate, since I only have one “character class” to cater for (albeit a very versatile one).
I don’t have much to say about the building of the shop system. There’s really not much to it — with the inventory system already providing icons and a general interface layout, all the shop required was a bit of recycling and tuning and bam! There it is. Purchasing is a matter of checking a couple of numbers against each other and either performing the action or not. The hardest part was building the interface, not implementing any of the negligible amount of logic involved.
This actually seems to be a trend right now. Most of the features I’ve implemented recently have gone in suspiciously smoothly. The inventory, the journal and the shop. The reinstatment of Fog of War. A dismantling of the faction hostility system (in favour of direct character relationships). Extensions and refinements to the trigger and conversation systems. Maybe… Maybe after six years of development, the RDZEngine is actually getting ready for the prime time?
The final element was to make a little mech that could reasonably function as a shop. One of the key concepts for the world of Exon is the “peddler”, a travelling merchant who carries all their stock on their back. While major hub areas will have shop buildings, more outlying areas will only be served by these civilian wanderers.
Peddlers are unarmed, so of course you’ll need to help them now and again. The peddler at the Exon Academy train station, for example, is interested in acquiring the chitinous shell of a Giant Rust Mite, and will pay handsomely for the privilege.
(If you’ve managed to go all the way around and obtain the Giant Rust Mite shell before speaking to the peddler about his job, it’s also possible to instantly complete the quest by enquiring about the job he needs done and handing it straight over.)
Out in the wilderness around the Academy, a bandit by name of Ronkwer has been causing trouble. Before opening the gate for you, the guard gives you a warning about the bandit’s remote-controlled bots. Perhaps if you can smash a few up, you can find out where they’re coming from… and put an end to Ronkwer’s harassment of the locals. That must be worth a few quid, right? You just have to find where he’s hiding…
On your way to the Giant Rust Mite, you’ll likely run into more of Ronkwer’s handiwork. A local engineer who maintains a small solar power array has had his maintenance bots hacked, and his friend is trapped inside their warehouse. You can handle a few spiderbots, can’t you?
All of this is constructed in Unity, with my trigger system. I’ve built a handful of actions and conditions — checks for whether you are carrying an item of a desired type, actions to reward you with money — and chained them together entirely in the editor. Conversation nodes fire off triggers that add quests, while events like killing a unit or acquiring an item update the quests and prime the conversations to start with the appropriate text. And all without a single giant yellow exclamation mark in sight!
There are only two major screens left to develop — the Datavault, which will hold information you’ve discovered about vehicles, animals, corporations and whatnot (don’t worry, the lore will be accompanied by damage bonuses), and the Repair screen, which will allow some merchants to restore your equipment to pristine condition. But with some firm quests in place, it does seem that I have finally built… an actual game. Exciting!