What is Locus?

Locus is an augmented reality location based role playing game whose purpose is to entertain players while giving them incentive to explore their surroundings.

The game uses GPS on the mobile Android client to determine a player’s position and render their character on a map at their current location. The map also displays enemies and shops that the player may interact with if they are within a certain radius. As a result, the player must physically go to specific locations in order to play the game. In the case of enemies, once a player is within a certain range they may choose to fight, receiving experience, in-game currency, and items if they win. If the player is within the range of a shop, they may chose to buy or sell items from their inventory.

Locus is written with extensibility, modularity and code-reusability in mind to help make adding new features, content, or actions easy for developers and content creators alike. The system is designed provide a solid framework for developers to extend and modify the codebase to do whatever needs to be done, while still making it easy to add new content like enemies, abilities, or items.

The Technology Behind Locus

Locus is powered by the following awesome technologies:

The Map

The map screen is the main entry point into all the different parts of the game. It is where the player location is rendered, as well as all nearby enemies and shops, and the player's home location. Tapping on interactables when a player is inside their radius allows for players to start fights, shop for items or sell ones they've gained through combat, and ressurect when dead. It features a navigation drawer to get to the other various on-demand game screens that is accessable with a tap on the class icon in the top-left corner, or by swiping out from the side.

The Character

The character screen provides useful information about a player's character, including current status, level and experience, as well as a player's attribute stats. This screen also shows a list of what items a player has equipped. The lower portion of the screen allows the player to switch between the various classes available to them in the game, and displays their current level and experience points for each of the classes. The player may also choose to set their home location from the character page once a day, bringing up a map to allow its placement.

The other important character screen is the Inventory where a player's items are displayed, along with their stats, quantity, and whether or not they are equipped. The icon beside them displays the type of item they are, including consumables, trash, weapons, and armour.

The Shop

The shop allows players to spend their hard earned gold to buy new items, or sell their newly acquired or old items for gold to be able to purchase more. Shops have various types that differentiate them, allowing a shop to be strictly a consumables, armour, or weapon shop, or being a mix of them as well. Shops can be based on real world stores, targeted at the store's actual purpose to encourage players to go out and buy things that they need from shops around shops in the real world.

The Fight

The fight system is the heart of the RPG mechanics for the game. Once a player has initiated a fight with an enemy from the map screen, the enemy and player are loaded for combat, using their weapons, skills, and items to fight in a battle to the death. Under the hood the system has been designed to allow for more complex enemy AI, generic style abilities reusable across players and enemies, a generic consumables system, and the ability to extend all of it easily with both developers and designers in mind.

The Reward

To the victor goes the spoils! In the case of combat, players winning combat will be presented with class experience, in game currency, and possibly items (based on enemy loot tables) to advance their characters. Losing or running away from fights will cause the player to lose a percentage of their currency. Players dying in combat must then physically return to their home location in order to respawn, but running away simply leaves a player's pockets a little lighter.

The Team

Brian Schweitzer, Karlee Stein, and Tylor Froese

Software Systems Engineering Graduates from the University of Regina