“Tomorrow Engine“

A Custom C++ crossplatform network card game engine

The tomorrow engine is a cross platform C++ game framework which allows the creation of deterministic linear card games. The player had to fight the opponent and the 3 monsters in the game. The game we created with this was called Raptoads. The Framework supported Playstation 4 and Windows 10.

Gameplay trailer

My main responsibilities

Apart from being the Tech lead / Team lead of the 11 programmers, I have been in charge for the core architecture. Besides, I have been responsible for implementing and designing the extensive tooling and pipeline for content creation and content management. The tooling was created in web technologies (electron & SQL Database), which allowed us for quick and rapid iterations.

Core Architecture

The application was split into four different modules. The Framework (TBSG) served the Client as well as the Server with basic utilities. Besides, we had the Network layer.

When designing the modules, I followed the architecture guideline for our game: determinstic linear card games. That resulted in a “data oriented” approach.

Tooling - The Hub

The framework came with its own tooling which was written in JavaScript and Electron. It served as the main content creation tool for Designers. The tool offered the following functions:

  • AI Optimization for the QA Test games
  • Modifiying the underlying content database (SQL)
  • source contol of our Lua card scripts
  • UI Editor
  • Lua Script validation
Project Information
Duration: 16 Weeks - February to July 2019
Team size: 11 Programmers, 5 Designers, 8 Artists and 1 Producer
Roles: Tech Lead, Tools programmer, Scrum Master
Engine: Custom cross-platform C++ Engine with Electron Tooling (Tomorrow Engine)
Platform: Windows, Playstation 4
Languages: C++, JavaScript, Lua, SQL
Technologies: Lua Scripting, Online Crossplay Multiplayer, Event/HTTP/UI handling with PS4 Support.
Project Highlights
Scripting Pipeline: A Lua dialect which allowed designers to quickly develop with our tooling the card behaviour.
Scripting source control integration - via the tooling
Google Drive integration & Sheets
Utility AI - custimizeble via the tooling
Custom Tooling written with Web technologies for quick iterations, tool of choice: Electron & MariaDB
Playstation 4 Support: The engine supported Playstation 4
Avatar
Simon Renger
Engine and Tools / Network programming Student

Write programs that do one thing and do it well. Write programs to work together — McIlroy Unix philosophy

Related