Portfolio

Previous

Proxima Toolkit

Token Creator & Library

'City of Mist' Tag Tracker

AR Tabletop

Tabletop Visualizer

Next

AR Tabletop

Project Summary

AT Tabletop is a MR/XR app combining augmented reality google cloud anchors to be placed in user environments to maintain and track the position of ‘miniatures’ used for tabletop games as points in virtual space.

This data can then be shared to other apps or online web portals for remote viewing of the host user's game environment.

Hosts can scan the environment using the Google AR Fountaition framework makes use of the ARCore XR and ARKit plugins for Android and iOS devices. Once scanned, Cloud Anchors are registered online and persist for 365 days. They can then be used to create consistant user experiences between gaming sessions.

Using Machine Learning powered by Yolo-v2 Object Detection, mobile devices can detect tabletop miniatures and place trackers in AR space to assocate real world miniatures with AR data.

Engine & Platform

Developed cross platform in both Unity and PlayCanvas. Server support for cross platform messages through Node.Js leveraging Socket.IO allows for multiplayer-like syncing of game states between mobile app and cloud users.

Server Node.js / Socket.io JavaScripts handle socket communication between multiple hosts and clients through rooms which persist session data between users.

PlayCanvas was implimented to both expand familiarity with alternative Engines and to account for some limitations at time of development with Unity HTML5 features and implimentation such as limited direct C# unity web integrations for Firebase.

Machine Learning & Object Detection

Personally made image dataset of miniatures for various tabletop games was configured and input into the Yolov2 object detection algorithm using the Darknet framework.

The resulting trained model achieved highly accurate results that were viable for use on a wide range of miniatures including fantasy (Dungeons and Dragons), wargames (Warhammer Fantasy and 40K) and other similar toys such as Lego Minifigs.

The PlayCanvas web portal allows Mobile Host's to sync static camera images to an image plane found in the web-viewer allowing remote web users to view a simulated version of the actual tabletop game and perform interactions such as Moves, Pings, and other requests.

Web Portal Visualization

Online users unable to use the app through iOS/Android can view synced data through the PlayCanvas web-portal which matches camera data and virtual miniature positions to allow online viewers to observe the remote tabletop and relay desired moves and submit ping notifications.

Move & Ping Commands

Using the app, host users can move detected miniature tokens through their icons, moving miniatures in real space and then adjusting tracked icons to match new positions.

Changes to the MR/XR environment are replicated if hosting online sessions to transmit changes to client devices. Clients with sufficient token privileges can suggest movement of their tokens which is then transmitted to the host device as a visual cue.

Proxima Toolkit

Project Summary

The ‘Proxima’ Toolkit is a tool developed for use in Narrative tabletop game systems such as Star Wars and Genesys from Edge Studios and Fantasy Flight Games. These games do not use 1-to-1 grid or distance measurements and instead use approximate range based positioning.

To support this gameplay type without requiring heavy use of online tools, the Proxima Toolkit allows users to rapidly lay out and track token positions and their respective distance to other tokens within the game.

Engine & Platform

Developed in PlayCanvas. Server support for cross platform messages through Node.Js leveraging Socket.IO allows for multiplayer-like syncing of game states between app users.

Server Node.js / Socket.io JavaScripts handle socket communication between multiple hosts and clients through rooms which persist session data between users.

Move Tokens

Users with appropriate token permissions can move their tokens between range bands and change the focal token to view positions based on other target.

Allowing token positions to be tracked in this way allows Players and Game Masters to be flexible with positioning without worrying about specific distances and orientation for a more free-flowing tabletop experience.

User & Generic Image Library

Generic style token library of numbers, letters, and line art symbols can be used alongside supporter personal image libraries for Token creation. Token images are stored in a Google Firebase realtime database.

Supporters can also use tokens uploaded from the Token Creator tool on the Ardent Rodent website.

Token Images created using the Ardent Rodent - Token Creator can be used directly in Proxima by any user logged into the application.

Alternative 3D Model Mode (Preview)

Alternative style option in development to display tokens as 3D models instead of token images.

3D Model library is being expanded to include multiple model types, themes, genders and species.

Online Multiplayer

Users can host and join games using room codes to view synchronized data from a Node.JS/Socket.IO powered server.



Features
  • Hidden Room Codes / Copy Option
  • Supporter accounts have ‘guest slots’ to allow non-supporters to join online hosted games.
  • Add and remove privileges from players on select tokens such as view/edit. Kick players (as host)

Token Creator & Library

Project Summary

The Token Creator and Library tool on the Ardent Rodent website allows users to create their own tokens by uploading images, selecting a border, color, and background to create and download a custom token for use in online roleplaying tools.

Information on border types is stored in Firebase Storage meta data for use in other Ardent Rodent apps to match 3D borders to 2D cutouts.

Engine & Platform

SPA application website using HTML, CSS, and JavaScript to provide online access to the Token Creator webpage and tool.

Integration and tools with Firebase allows the site to manage user logins and database information across multiple platforms so that tokens hosted by supporters can be used in other supported apps.

Add Tags (Supporter Only)

Create tokens with names and unique searchable tags to find and sort tokens within the library quickly and easily.

Tags can be added or removed from within the Supporter Token Library.

Token Library (Supporter Only)

Supporters can log-in to the website to view and manage a personal library of tokens searchable based on tags and names assigned to the tokens within the Firebase Storage system.

These settings can be edited freely, adding and removing tags and changing names, updating the cloud Firebase Storage with new meta-data to sync changes accross all applications.

'City of Mist' Tag Tracker

Project Summary

The ‘City of Mist’ Tag Tracker tool is made for the purposes of helping users who are playing the ‘City of Mist’ Tabletop Roleplaying game both in person and online to track the status and conditions of player characters and NPCs.

The tool allows users to add and merge tags following the rules set in 'City of Mist', automatically combining, adding, and replacing tags.

Engine & Platform

SPA application website using HTML, CSS, and JavaScript to provide online access to the Tag Tracker tool.

User created data to track characters and non-player characters (NPCs) can be saved locally as a JSON datafile as well as be stored to local web storage for persistence across page loads and sessions.

Creating Tags

The ‘City of Mist’ Tag Tracker tool is made for the purposes of helping users who are playing the ‘City of Mist’ Tabletop Roleplaying game both in person and online to track the status and conditions of player characters and NPCs.

Tags can then be added to specific Characters and assigned to 'spectrums' that represent the areas of damage or trauma for that Character.

Tabletop Visualizer (In Development)

Project Summary

The Tabletop Visualizer is a simple tool, combined with the feature options of the Proxima Toolkit, to allow for users to create simple block maps to allow users to build 3D maps.

These maps allow users locally and online to visualize 3D terrain, obstructions, cover, and calculate distances between targets over elevations.

Engine & Platform

Developed in PlayCanvas. Server support for cross platform messages through Node.Js leveraging Socket.IO allows for multiplayer-like syncing of game states between app users.

Server Node.js / Socket.io JavaScripts handle socket communication between multiple hosts and clients through rooms which persist session data between users.

Build Simplified Maps

Click to create blocks to represent terrain. Tokens can be moved to spaces on each side of a placed cube and may also be moved vertically to represent flying or hovering characters.

Measurement Options (In Development)



Features
  • Measure distances between targets using point-to-point, or multi-point lines around and over obstacles.
  • Create Area of Effect volumes to determine if tokens are within targetable areas and if they are obstructed by cover.

Token View (In Development)

Allow users the ability to see from the perspective of a token at multiple levels (crawling / crouching / standing) to observe the visible area from the desired tokens point of view.