“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

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

Core Architecture

The application were split into four different modules. The Framework (TBSG) which served the Client as well as the Server with the basic utilities. Besides this we have the Network layers as its own lib.

When designing the modules I kept the guideline that the architecture shall be for our game type specific: determinstic linear card games. That is why I chose for a “data oriented” approche with packing related data closely together.

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 underlaying 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 programming Student

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

Related