logo
Published on

Lessons I Learned at Cryptoverse Wars

Authors

During my tenure at Cryptoverse Wars, I worked with the RnD team as a solo game developer and was tasked with creating a functional side-scroller fighter demo with mechanics similar to Tekken or Street Fighter. I had a whale of a time building the fighter because it provided me with ample opportunities to explore the depths of Unreal Engine and the cherry on top was that I was exposed to the possibilities that blockchains could unlock in the world of games. Here's a highlight of the things I learned during my time with the team:

  • In-game customizable characters → Unreal Engine has great documentation about this topic here. In a nutshell, you have to break down the skeletal mesh into its components. Ex. head, torso, legs, shoes, etc. Then, you'd import them in Unreal Engine using the same skeleton.

  • Network code → This was my first time writing multiplayer code, so I gained a lot of insights into the development process of a PvP. I learned about the client-server model and the 2 types of servers that can be used for a game, i.e. listener and dedicated servers, replication of data from one game instance to the others, Remote Procedural Calls (RPCs), cull distance for replication, etc.

  • Steam's multiplayer features → Steam allows you to create a listener server that lets other people join the game. I attempted to play the game with my friend, Koushik, and although it was working, there were a lot of latency issues.

  • Accessing Unreal's Source Build for browser-based projects → Unreal no longer supports packaging HTML5 projects. The last version that supported this feature was UE 4.24. While this version isn't available with the feature on Epic Games, the source build can be accessed on a GitHub repo.

  • Unreal isn't backward-compatible → Your Unreal project will cease to function if you migrate it to an older version of Unreal because. However, this isn't an issue when migrating to newer versions.