tadpoleengine.github.io

making an sdl project for every platform

The first step to making rostrum a reality was to create a working C++ and SDL2 example for all six platforms. I knew this would be annoying but I failed to realize just how painful it would actually be.

Here’s basically what I had to do for each platform, but multiply how much time it sounds like it took by three because documentation is light and sometimes out of date, not to mention my complete lack of ever having done anything like this before.

This whole experience taught me that you should always read the official documentation before you start typing stuff into Google. Just about every blog post about setting up SDL2 on a given platform is hopelessly out of date.

The other takeaway I have is that everything takes at least three times longer than you expect when you don’t know what you’re doing. I believe in the myth of the 10x engineer simply because the guy who’s been working with iOS for years doesn’t have to re-learn how to configure Xcode projects, what the common functions of the core libraries are, how C++/Objective C/Swift interact within an app, etc.

I estimate this part took roughly 15 hours of work, but it felt like 40. About half that time was spent waiting for files to download and install, half was spent scratching my head because things wouldn’t work like I expected, and then about an hour of it was the actual work of setting up projects.

Mac OS

iOS

Windows

Linux

Browser

Android