Jovian Hersemeule Why design TinyShooter Four main reasons : 1> Practise with CLion 2> Practise with Box2D an SDL2 3> Implement and test general classes to use them again in other projects 4> A shooter is pretty cool to design 1) A powerful editor with a powerless beginner. - Learn how to use useful shortcuts - Learn how to generate classes 2) and 3) Design classes to easily create games. - Rendering management : with Scopes systems in order to separate physics and drawing - Input management : use inheritance to swap controllers (mouse / gamepad) - Physics and game design : create a class which inherits from b2World, in order to manage the userData void pointer. 4) Make a playable game to experiment. ****************************************************** Encountered problems : - Visuals are more relevant in Fixture than in Body userData. - I have to set a float scaling number to link BoxD length with pixel length. It is hard to determinate where this variable should be set : Renderer, GameCore, Controller ? Here I have chosen to set this variable in Soldier since this class hasn't a single instance and zoom can be different for each player in a split-screen mode. - I forgot to implement a system of event description (similar to Visual description) to separate event and order. - I have doubts about update-able and non-update-able entities. For example, walls can't move. However they can have a dynamic picture (like a gif).