What do I need to know to become an indie developer, or to become a game developer in a company (not yet decided)