imprint
This portfolio is meant to be viewed in landscape mode at ideally 1920x1080 resolution.
home work about contact

RPG-Trader

Trading strategy game, Mobile game, Unity
11 months of development

Departments:
Code, Art, Tool Development
(Masterthesis)

Description

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.

Tasks

  • Implementation of a variety of mechanics and logics
  • Refactoring of previously used code
  • Automated tests
  • Development and refinement of the art style
  • Creation of art assets for characters, monsters and items as well as the creation of template files
  • Conception and implementation of a variety of partly connected tools to optimize workflows and reduce effort

Team Partner

Vincent Fischer

Mechanics and logics

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:

  • Playercontrols for mobile and PC (for testing purposes)
  • Dynamic and connected world: Movement of adventurers between dungeons, possibility of ambushs while travelling, possibility to fight bandits in case of an ambush, connections between settlements and dungeons via different nodes
  • Bartering with Adventurers
  • Travel: Automated planning, Animation, Possibility of ambushs at a variety of locations and with different loss risks
  • Progression: Variety of carts, draft animals and guards as well as guild upgrades for even more improvements
  • Soundsystem (unused due to time limitations)

Some systems e.g. travel planning went through multiple iterations to make sure the interaction was appropriate in terms of usability.

Tools

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.

Item Creator

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.

Item Manager

Item Manager

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.

Mechanics

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.

Gold Manager

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.

Art Asset Manager

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.

Item Images Importer

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.

Cellular Automata Tool

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.

System Controls

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.

Statistics

Statistics

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.

Map Gizmos

Map Gizmos

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.

Custom Inspectors

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.

Testing the route

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.

Swim Sync

Rhythm game, PC, Unity
5 months of development

Departments:
Code, UI, Character Design, Project management

Description

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.

Tasks

  • Implementation of different systems including mechanics, soundeffects, VFX, camera changes and animation controls
  • Conception and implementation of the user interface
  • Art style development and character design
  • Planning, organization and coordination of the team and the project

Team

Martin Elicki, Ayano Miyagi, Kaito Takeda, Christopher Thiel, Chihiro Yamada

Stealing Through Time

2D Action Adventure, PC, Unity
5 months development
Departments:
Code, UI Programming

Description

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.

Tasks

  • Implementation of mechanics and adjustments of the character controller
  • Branching dialogue system with choices, that influence the game
  • User interface programming (Menu, HUD, stealth and time beam indication)
  • Implementation of animations
  • Creation of a few art assets

Team

Adrian Bircken, Martin Elicki, Vincent Fischer, Simon Zimmermann

Ann-Kristin Hargus

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.

Curriculum Vitae

Informationtechnology and Design (B. Sc.)

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

Student Assistence of Media Development

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.

Media and Game Conception (M. A.)

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

Skills

  • Gameplay Programming
  • Tool Programming
  • UI Programming
  • Automated Testing
  • UML
  • Documentation of Code
  • Workflow Optimization
  • UI/UX Design and Testing
  • Human-Centered Design
  • Corporate Design
  • Layout
  • Illustration

Tools

  • Unity
  • C#
  • Java
  • Java Script and jQuery
  • Adobe Creative Suite
  • HTML and CSS
  • Perl / Action Script / PHP
  • Cinema 4D

Hobbies and Interests

Horseback riding

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.

Drawing & Painting

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.

Video games

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

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.

Want to get in touch?

hello@akhargus.com