Star Trek Adventures
About the project
Date:
Jul 25, 2020
Client:
Personal Project
This was a COVID experiment that really pushed the bounds of what is possible to do in Figma. Please note that this was built before Variables and Conditional Logic was released to Figma - something that would have totally changed the game for this project!



Reproducing LCARS
I decided to base my design on the classic Star Trek "LCARS" interfaces, which were used for The Next Generation, Deep Space 9, and Voyager. This was great for an authentic Star Trek look and feel, but I would need to make adjustments for usability.
While I kept the core style of the LCARS interface, I used a much more readable font and more vibrant color treatments. Unless you’re a die-hard Star Trek fan, I don’t think the difference is particularly noticeable, but it made a huge difference to the readability of the UI, as you'll see in the screens below.

Map Layout
I started with building out a screen that contained all the core functionality you'd expect from a Virtual Tabletop (VTT). This included a map, a log, and a quick reference chart of actions and abilities.
I knew I was going to make this interactive, so I also included elements like navigation, character tokens, and even resource management - as I progressed through my prototype, I added state machines using component variants to make these functional.

Navigation
As the design came together, I built the entire interface as a clickable prototype, so that my players could navigate independently using prototype links.
This was fantastic for usability - they could check the wiki or their character sheet, and then return to the map which would be updated live as the game state changed.
Piloting the Ship
A huge part of any Star Trek story is the operation of your Starship. I wanted to use this element of gameplay as an opportunity to create something truly diagetic - it should feel like you're on the bridge, at your console, running the starship.



Player Roles
In Star Trek Adventures, different players are responsible for different sections of the ship. I gave each role it's own UI, and used the colors from the show to make it easy to differentiate between them.
I also took the opportunity to create unique diagetic UI for each console. The engineering console has a cross-section of the ship, the science console has transporter and deflector dish controls, and so on.

In-Context Rules References
Because each of my screens was built around a certain part of the play experience, I realised I could actually provide the rules and guidelines for how to play Star Trek Adventures directly in the interface.
I added modal overlays for all of my controls, so that users could click on any control to see how it functioned from a gameplay perspective. This meant nobody was taking time to reference their rulebook during play - if they had a question, they simply clicked on the relevant control module to see the applicable rules reference.
Other Assets
As our adventures continued, I created many UI elements for the players to explore and interact with to keep the game immersive and maintain that classic Star Trek feel. Below I've included just a few quick examples.


In-Game Puzzles
I was able to setup basic puzzles inside Figma using component variants essentially as state machines - as players solved parts of the puzzle, I'd update the variant state to reflect their progress.
For example, in the above puzzle, players had part of each answer on their tricorder (displayed on the player's UI), and needed to work together by sharing their findings and solve the four-digit cypher, which was displayed to all players simultaneously.

Custom Maps
While I was able to find gameplay maps online, these maps often didn't suit the style of my prototype, and were impossible to customise.
So that I could quickly generate my own maps that suited the style of our visuals, I created a library of basic map components that I could quickly put together to build rooms and areas for my players to play it.
I also used variants for many of these, such as open and closed states for doors. Because I'm a Figma nerd, I've included a screenshot of the Figma file itself.
The only thing I couldn’t really do in Figma was communication and dice-rolling, but thanks to Discord and the Majel bot, that was easily solved. This might even be solvable in Figma with a dice rolling plugin and the Figma chat plugin, but we were already Discord natives so that felt comfortable.
I would highly recommend anyone with some design skills to try this for themselves — not only is it fun, but this was a great exercise in designing a really complex, intuitive prototype for a really unusual use case.
For those interested, you can view the master file here or launch the player prototype here.
If you’ve got questions on how to do this yourself or would just like to chat about it, feel free to get in touch!








