Tu peux créer des singleton: un gestionnaire de maps, d'entités, de tile... Ça permettrait de gérer la communication perso contrôlé - tiles / blocks / poneys de facon totalement interne au singleton.
Pour le coup des vérifications à chaque frame, tu peux te contenter de le faire à chaque fois qu'une entité se déplace, qu'elle soit sur l'écran ou pas (selon un booléen dans la classe de cette entité, par exemple bool Entity::AlwaysUpdate() { return _alwaysUpdate; } qui définit si même si l'entité n'est pas sur l'écran, elle doit être "updatée". à partir de là, plus besoin de timers, sauf dans le cas de délais nécéssaires. Comme le dit GC' tu restes un peu trop générique pour qu'on puisse te répondre clairement, mais c'est normal pour un premier projet de jeu scrollable
