Crypto Run

About

Cryptorun is a data-driven simulated gambling game where players use NFT characters to participate in an automated race, with all events pre-simulated for a fair and captivating experience.

Project Information

  • Role: Gameplay Programmer
  • Time Frame: 1+ Years
  • Team Size: 20+ people
  • Tech: Unreal Engine 5, C++, C#, Python

Introduction

Crypto Run Splash Image

During my time at Rekt Studios, I worked on several contributions to different systems across various games, including my work on a project called Cryptorun. Cryptorun is a simulated gambling game, where players join with their NFT characters, pick an ability to be cast during a specific percentage of the run, and then have no further control. Players watch as the game simulates the entire run from start to finish, with characters navigating obstacles, and the ultimate winner being rewarded.

Architecting Data-Driven Runs

My primary responsibility was architecting and implementing a solution for data-driven runs, ensuring that each participant had consistent and predictable outcomes down to the frame. The core idea was to create a simulation script capable of running a complete scenario from input data — encompassing the player's character details, map configurations, selected abilities, and their respective cast points. The simulation script would then output a data file that Unreal Engine could read. This data served as the foundation for visualizing the entire run, showing all participants' actions along with appropriate animations, visual effects, and environmental elements.

Unreal Engine and the Data Simulation System

Development Run of Crypto Run in Unreal Engine

In Unreal Engine, I contributed to multiple systems that brought the game to life visually. The design of the game adopted a data-driven approach where each player was assigned a spline to traverse from start to finish. The spline was segmented into a fixed number of tiles, and every player had the same base speed to traverse a tile which is to maintain fairness.

The simulation would then randomize using a seed obstacles on specific tiles throughout the map, which appeared in dynamic rhythmic patterns, toggling on and off. It calculated the outcome for each player, accounting for the selected abilities, obstacle states, and calculated how they influenced the player's traversal speed across each tile. With this, the resulting simulation data was played back in Unreal Engine, where each player's movements were visualized accurately, while adding all the corresponding animations and effects for a captivating experience.

Cryptorun's data-driven approach was designed to offer a fair, consistent experience, allowing players to enjoy the excitement of the race while knowing the outcomes were deterministic and unbiased. This experience highlighted my skills in systems architecture, working with data-driven solutions, and implementing highly synchronized gameplay simulations within the Unreal Engine.