Rest API ECS REST API FoV Clean code Laravel Inspiration PHP Gamedev Motivation Design Pattern Soulash Productivity Roguelike Programming Cpp TDD Beginner First game Theoretical