For the following reasons, porting to SDL2 rather than SFML may be desireable:
- Platform support -- SDL2 supports the platforms SFML does, but additionally supports emscripten. This should allow the development of web games using tank and C++.
- SDL_main -- SDL provides a WinMain function for Windows, stopping a cmd.exe window popping up when the game is run there.
- General flexibility -- Due to being lower level, SDL will allow us to structure the engine in the way we want without fighting with the way SFML is structured.
For the following reasons, porting to SDL2 rather than SFML may be desireable: