Trading strategy
game, Mobile game, Unity
11 months of development
Departments:
Code, Art, Tool
Development
(Masterthesis)
The mobile game RPG-Trader was developed as our practical project as well as our master theses. Over the span of eleven months RPG-Trader evolved from an idea into an Alpha version. The game revolves around a merchant, travelling through a fantasy world on the hunt for great deals. With the earned profit upgrades and improvements can be bought as well as more expensive goods.
Vincent Fischer
RPG-Trader’s base gameplay loop is simple: Buy items at settlements, travel to dungeons and sell items to Adventurers to make a profit. The earned money can be spend on more and better items or improvements.
Besides implementing gameplay features I also implemented the economy system’s base:
a cellular automata that influences the settlement’s products and prices to create an emergent
economy.
Additional mechanics and logics included:
Some systems e.g. travel planning went through multiple iterations to make sure the interaction was appropriate in terms of usability.
Due to our high ambitions regarding the project we quickly realized,
that we needed some additional tools to optimize our workflows and reduce efforts. Some
aspects that were essential to evaluate the game’s overall balance weren’t visible as a
whole in the game itself.
The main goal was to conceptualize and implement a variety of
partly connected tools to ease the development process and reduce redundant tasks to a
minimum.
While automating tasks can be helpful, a lot of the times I also had to
evaluate whether or not the workload of developing a specific tool was worth the work. I
also considered the tool’s reusability as well as the involvement in development further
down the line, while deciding which tools we needed.
As a result I have developed several
Editor Tools and also added Gizmos and Custom Inspectors to ease the team’s development
process.
Click the dots under this text or use the arrows to have a look.
As the name suggests, this tool is used for the creation of new items.
While it would be possible to create them in different ways, the tool allows us to only
create items when specific conditions are met.
Viewing possible item images without
browsing the project window enables us to only choose suitable item images for the chosen
type of item.
Instead of browsing the project window to search and edit values of items, the Item Manager shows all items currently available in the game. Items can be found by filtering for specific categories or values as well as by searching for their name. This enables us to edit item information and reference other items and their values at the same time. The Item Manager is also the first place to check and see if a specific item is indeed in the game.
To keep all of our game mechanic’s values easily accessable I implemented the Mechanics tool. It's possible to quickly find, change and adapt values without having to look for different scripts within the project. Additional information can also be provided next to the regarding input field. This was especially helpful for the economy’s cellular automata values.
Similar to the Mechanics tool the Gold Manager gives an overview of the values, that influence the distribution and flow of the gold within the game. This way they are easily accessable within one window and offer additional information. For example: Calculations with example item prices help with determining the impact of the percentage factor within the item’s price calculation.
Due to the way adventurer representations work in our game, it’s very time
consuming to check, whether the item images are displayed in the right order on the
characters.
The Art Asset Manager allows us to check the item images on all characters at the
same time in combination with other item images. This way we are able to search for layering issues and
check, whether the item images are interfering with other item images or the background of the
adventurer representation.
Due to the high variability of combinations of character, armor and
weapons, we decided to use a layering approach for the adventurer representation. Every item
has three specific display layers to allow for different effects. This way item parts can be
shown on top of or behind other items and body parts.
The different images of an item are
combined into Item Images, which also define, what item type is represented in the
images.
The import of the images can be automated via the Item Images Importer. During
the image export in Illustrator specific artboard names are used to define, what the item is
representing as well as the layering positions. Depending on the file names the
images get added to their specific item images file.
If files are missing or other errors
occur, the automation for the specific item images is cancelled, else the item images as well
as the item images are moved to the correct folder within the project.
The game’s economy is based on a cellular automata, that changes each
tick. Due to the way the cellular automata is influencing the settlement’s prosperity and
thus the spawn rate of items as well as the item prices, there is no visual representation
of the cellular automata in the game itself.
The Cellular Automata Tool was developed to
change this and provide an overview of how the cellular automata influences the game’s
economy.
It’s possible to easily get information about a settlement’s prosperity as well as
it’s inventory, without browsing the project window and searching within the inspector. The
start prosperity values of all settlements can also be adjusted.
Due to the possibility
of changing the tick length we can also check, how the game’s economy is progressing without
actually playing the game itself.
The System Controls window allows us to reset single aspects of the game as well as the game itself, without having to search through scripts or change multiple values. A few functions for debugging and testing were also added. The goal was to keep specific functions in one place and easy to access for troubleshooting problems.
One of the main problems we faced was that we had no way of checking
specific values e.g. how much damage an average Tier 1 Weapon deals.
The Statistics tool
allowed us, to check for those values and e.g. use them as reference for new items or other
game elements. Some sections also feature graphs to visualize distributions. In combination
with the Cellular Automata tool the distribution of prosperity over time can be viewed which
gives additional insights into the game’s economy.
The game’s roadsystem is made of nodes, that are connected to each
other. Checking those connections for errors and solving problems like wrongly connected nodes or wrong orientations can be
though, if you are dealing with Scriptable Objects on their own.
A roadsystem tool was
implemented that has multiple options for displaying information in the editor. Especially
for the nodes, that aren’t settlements or dungeons, this is handy e.g. when checking for a
specific node name.
Before implementing any tool the classes Adventurer, Item and
Monster received custom inspectors to ease adapting their values and get familiar with GUI
and EditorGUI methods.
The main goal was to structure the information to give a more
organized overview and make the search for informations easier. Related informations were
grouped together and boxes and titles further emphasized categories.
Unlike using
Property Attributes to change the existing inspector, the custom inspectors allowed for much
more flexibility and better organization of elements.
Every value change can also be
undone.
One of the core elements of RPG-Trader is travelling between settlements and
dungeons. Manual testing of all 6162 possible combinations of travelling opportunities is simply
not possible.
One option was to test a bunch of combinations at random, leaving us with a chance
of connections causing errors we aren’t aware of.
The best solution to catch any major errors
while travel planning was automating the testing process via script. To check, if something went
wrong, the script uses the same method used for ingame travel planning and tests, if the implemented
logic causes faulty results.
There’s also a simple tool to create a
route from one node to another and show the selected route on the map. This enables us to check
what might be causing the problem.
With the automated testing we were able to catch 382 special
cases, where travel planning wasn’t working correctly. Due to time restrictions regarding our
master theses we disabled travel between these locations.
Rhythm game, PC, Unity
5 months of
development
Departments:
Code, UI, Character Design, Project management
During my masters education we were given the opportunity to participate in an international
games course. The teams were made up of team members from the Tokyo University of Technology as
well as our own university. During this course we developed Olympia-themed games, which were
intended to be shown at an exhibition.
We also learned about working in intercultural teams and
organizing a team across two time zones and with different university schedules.
Swim Sync
is a rhythm game, where the player has to perform a variety of button combinations in order to keep
the swimmer in sync with the team. Depending on the performance the player is rewarded with points
and ratings, that can lead to a new highscore.
Martin Elicki, Ayano Miyagi, Kaito Takeda, Christopher Thiel, Chihiro Yamada
2D Action Adventure, PC, Unity
5 months
development
Departments:
Code, UI Programming
During one of our courses we created a vertical slice for a 2D action adventure revolving around Robyn, a time-traveling thief, who’s on the hunt for different artefacts. In order to get to those, Robyn has to either avoid the guards or manipulate time to dispose them. To reach the artefacts a few jum’n’run parts as well as smaller riddles have to be solved.
Adrian Bircken, Martin Elicki, Vincent Fischer, Simon Zimmermann
I am a game developer specializing in game programming currently located in
Lübeck, Germany.
Working in and communicating with interdisciplinary teams is something I really
enjoy, since there's always something new to learn and knowledge to be shared. During my time at
different universities I had the pleasure to work with people from product design to electrical
engineering.
During development I like to support my team members e.g. by developing tools and
automating recurring tasks as well as implementing mechanics and logics.
2014 - 2018
University of Applied Sciences Lübeck
During my bachelor's degree I developed a broad knowledge foundation revolving around the
creation of digital products. I spezialized in Human Centered Design with focus on UI/UX, Corporate
Design and programming.
Bachelor Thesis: Learning to learn - Development of an app to teach
learning techniques
2016 - 2017
Institut für Lerndienstleistungen, University of Applied Sciences Lübeck
At the Institut für Lerndienstleistungen I developed all kinds of media used in online study courses, ranging from information graphics and illustrations to animations as well as developing interactions using Java Script and jQuery.
2019 - 2021
Harz University of Applied Sciences
Throughout my master's degree I focused on applying my gained know-how and skills to games. My
studies were centered around developing high-quality games, while further expanding my programming
skills.
Master Thesis: Programming of logics and tools for a mobile game
I like to spend my time around my mare, either on foot or in the saddle. While we do enjoy polishing our foundation, learning something new, like cutting cattles, keeps things interesting and challenging. I am also interested in animal welfare.
Early on I transitioned from traditional media to digital media for drawing and painting.
When
I'm not at home, you will most likely find either sketchbook or ipad, sometimes both, in my bag.
To nobody's surprise I really enjoy playing video games. While I do like a variety of genres, I
enjoy coop games the most, especially if there's a possibility to create chaos or explore a world
with a bunch of friends.
I also enjoy discovering escape rooms, whether in Germany or abroad.
Biology has always been one of the most fascinating topics for me.
Especially zoology, botany and
genetics offer a vast amount of interesting facts and knowledge.