Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
libtcod-vcpkg-template
A template for C++17 libtcod projects. This template uses Vcpkg to fetch dependencies.
-
Doryen
Doryen based in Libtcod 1.5.1 - Refactoring struct and clear code, deleted the old C code and added new features and algorithms. The objective is a small 2D rendering engine (based in grid or tiles). It is written in an effort to create an engine being as lightweight and conceptually clean as possible.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
The in-progress tutorial is here in the official documentation. It sucks that I can never seem to make quick progress on this. Trying to do something clever with Protocols ended up with me making a pull request on the Mypy project for something that likely wasn't critical after all.
Are you sure you don't want to use a C++ package manager? Libtcod is on Vcpkg and with that setup you could add the fmt library or EnTT. fmt fixes C++'s string handling and EnTT fixes everything wrong with the entities of the previous tutorials.
It doesn't teach on its own, but the libtcod-vcpkg-template can help with quickly setting up Vcpkg and libtcod in a cross-platform manner. Parts might need to be updated to work with C++20 or later. This template also creates Emscripten builds.
See the libtcod repo for everything. The contributing file has info on how to configure CMake. Feel free to make an issue, discussion, or PR there if any changes are needed or you have anything you want to ask about.
Ah yes we have an attempt at packaging SDL that was started some time ago but it didnt progress because indeed it's quite hard to make work correctly. (for example there is a whole feature of build2 that have been added just to handle the way SDL2 is being configured, but we didnt get back to the package since)
Yeah, this is an old project of mine and figuring out where something goes wrong has been really difficult. The game is written in C# and I am using a port of the Artemis ECS. I think back when I stared this I was wowed ECS in general which is why I used it so heavily. It gives nice flexible code but can be very brittle if no clear rules are followed.
[GitHub | Screenshot]