top of page

Lee Wei Liang

Systems Designer | Programmer

Trader's Guild

Made with Unity Engine for Windows PC (I do not own any of the art assets used in the game)

Overview

Trader's Guild is a trading simulator where I designed a dynamic trade system where there is a 3 way trading system between the player and AI and an events system that generates random events to impact the world. The goal of this project was to implement dynamic design techniques to create games with longer playtime and higher re-playability. 

The progression model of the simulation was rewards with variable intervals of reward where the player capitalizes on trade deals that are beneficial.

3 way trading system

Player to AI

  • Value calculation

    • Players are given full control of what they offer and request from the AI, the exchange terms is then finalized where the AI will determine if the trade is worthwhile to them based on the value of the items.​

  • Bargaining

    • Bargain and persuade the AI when offering a lower value of trade item but it comes with risks.​

Player to Town shopkeepers

  • Value adjustment

    • Each town adjusts their prices for each item differently based on events​ that have happened recently.

  • Production​

    • Each town produces goods daily in-game time as a means of creating a supply of goods.​

AI to Town shopkeepers

  • Competition

    • Competes with the player ​to trade with towns that benefit them.

Events System

The events system randomly generates events based on data loaded in from an excel sheet which allowed for easy balancing of game data. The events consists of over/under production of goods, natural/manmade disasters or joyous events held at towns that raises prices of goods bought.

The 2 systems create a dynamic gameplay that is different every session to provide freshness and below are flowcharts showing the in-depth of how the systems work.

Trader's Guild spanned across 10 weeks as a solo project.

Dynamic systems flowchart

AI traders' interaction with Town traders with revolving around events

Design Process

Process overview

When designing Trader’s Guild, I faced multiple challenges as it was a rather massive project to complete in merely 10 weeks of development time alongside other modules. Initially, there were 3 main systems that had to be assembled in place to create a game that attract different types of players.

 

The trading system that allows players to perform exchanges of goods and gold pieces from other fellow traders, an event system that impacts the world’s trading system by affecting prices and a hiring system that was eventually scrapped due to time constraints.

Data Management Design Process

Working with dynamic content meant huge amounts of data must be transferred around as compared to creating staged content. Thus, the tools available at hand must be capable of performing such functionalities. My first struggle was to create an excel sheet that can be easily referred to when working with such data.

Effectively manipulating data such as using VLookup made querying data sets easier, although it took awhile to export the data into JSON, it saved me time down the line.

Trading System

Initially, every trader used the same bartering process to trade goods, however the lack of a hard monetary value existing made it hard to appraise value of goods. Thus, I separated trading to be amongst players to AIs and AIs to town shopkeepers and introduced gold into the simulation.

Playtests feedback were more positive after value appraisal and gold was added for trading with other AI traders so it was the right direction to take!

Simplifying trading with Town shopkeepers to be like an NPC shop also made it clearer for testers as well!

Roles & Responsibilities

Role: Systems Designer, Programmer

As a solo member on this project, I traded my freedom to:

  • Create dynamic systems designs of a trading world.

  • Code the dynamic trading systems.

  • Integrate UI assets into working menus.

Event System

The event system consists of a set of events that can occur randomly throughout the day-time in the world of Evyx. It was intended to create more dynamic gameplay by making the market less predictable as they caused price fluctuations and quantity changes.

There are 2 sub-systems designed to aid the player which are The Codex and Evyx's memories.

The codex was designed to help simplify the amount of information the players need to process by congregating everything they need to know about a town's trading prices. It was also made to give players competing power as compared to the AI who act quicker when information is dispersed in Evyx's Memories.

Evyx's Memory was designed to store recent happenings in the world of Evyx, it provides feedback to the player to know what has happened and to act swiftly with this knowledge. 

Post-Mortem

Overall, the project was a brutal and fun adventure as there were so many processes, I have learnt in creating an economics based game system. While my knowledge of economics may be insufficient at this point, it has become a point of focus for me in the future to bring back the scrapped systems and balance them.

 

Tying up all the data with an excel sheet was definitely a good choice I have made at the start as I have seen some of my peers rummaging through their data to find and tweak and our memory cannot remember exactly data in sets of 100s so over time it will only be more draining.

 

Across each iteration, there were things I could have done better such as testing with a simulated data prototype instead of setting up the systems straight away, as well as reduce the scope so that it is more suited to a 10 week project.

 

I would say my only regret is not working with my peer Wallace who has also created a stock trading system which could have worked well if our projects merged together, do check out his project over here!

 

Thank you for reading about my work on Trader's Guild!

Bargaining

The bargaining mechanic was added in towards the end as a replacement of a scrapped hiring system which will be explained later. It was a simple yet meaningful mechanic as bargaining is a concept people are familiar with.

I designed 2 types of bargaining options for players who want to gamble with a small risk or a big risk with matching success and failure rates. Although it is a simple mechanic, play testers told me they had more player agency to control the tide of the trades and were satisfied about it.

Hiring System

The scrapped Hiring System was originally designed to create an attack and defense mechanic that both players and AI traders could use to hire bandits ambush trade routes and utilizing escorts to protect against said bandits hired from other traders.

However, it was the trickiest system to work with as it went against the Trading System and Events system as those systems were promoting growth and for the world while the Hiring System promoted destruction and stagnation.

The gameplay balancing for this system went up by an enormous amount as I still had to consider keeping the economy alive while having such destructive elements. Thus, it was scrapped as I considered that the time it would take to completely balance it would exceed the remaining 1 week I had left on this project.

bottom of page