Make me a single player 2D video game. The controls should be keyboard and mouse. For any input, output, sound, and graphics use libSDL. Do not use 3d graphics. The video game camera perspective should be a top down perspective. The players train stays centered in the viewport and to give the appearance of motion the world moves around the train. To save on output size do not generate a build system. Do not generate any asset files for sound, images, etc. but instead provide a hyperlink where I can download them. Make sure the hyperlinks actually are valid to download from. For displaying any text to the players use the SDL ttf library. Generate output in the C++ programming language only. All game mechanics should be implemented using the ENTT entity component system. The gameplay of the video game involves driving a train on tracks between predefined locations on a map. In between each location are numerous monsters that try and attack the train. The player must be able to add a variety of combat equipment to the train before each mission. When the mission begins the player then pilots the train along the tracks and uses the weaponry to stop the monsters from damaging the train. The train carries cargo. A successful mission is one where the train arrives on time and the cargo is delivered in good condition. A failed mission is one where the train does not arrive on time or the cargo is damaged while in transit.