Skip to content

FluentZap/VT49

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VT49

Star Wars: Combat Simulator for Edge of the Empire

The Project

I wanted to build a space flight simulator that combined my companion app Holocron with physical controls. In a Tabletop RPG, players take on different character rolls. A player can play any combination of Pilot, Gunner, Mechanic, Navigator, Computer Slicer and many more.

Depending on the stats of the character I wanted the simulation to scale in difficulty. If a player was playing a very skilled pilot, the flight controls would be more responsive and also allow special maneuvers that a rookie pilot would not have access to.

Project VT49 includes all the software for the space simulation and the physical interface on custom control boards.

This is the framework for the data flow of the simulation



Six Arduinos connect to the Raspberry pi through serial. I used Cyclic Redundancy Check (CRC) and Consistent Overhead Byte Stuffing (COBS) for packet framing.

The VT49 Viewers are built in Xenko Studio for a 3d display. Physics are build in BepuPhysics2 a native C# physic engine. All simulaiton calculations including physics are done in the VT49 control program and run on the Raspberry Pi 3+.

VTViewer Asteroid Test

When the VT49 Viewer connects it preforms a full update to the client and then sends dynamic updates as needed. The viewer application is isolated from the simulation. It reads and displays data, multiple viewers and viewpoints can be connected at the same time. One could be placed in the front of the players and one on each side to give a full surround experience.

Measure once cut twice

Below is the final draft of my design diagram of what I wanted the consoles to look like.

This is the finished product

Chips and connecting the whole thing

In Star Wars computers are accessed by round cylindrical keycards called Code Cylinders. I still needed a way to identify the user on the Holocron database with the player at the table. So got some EEPROM chips and hooked them up to the center Arduino Mega. They are all codded differently and when the correct packet is sent to the center console it will activate power to the Code Cylinder and read the code from the EEPROM. This code corresponds to a unique username on the Holocron database and VT49 loads the data from it's SignalR connection.

About

Star Wars: Combat Simulator for Edge of the Empire

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published