As an indie development team/business with no projects released and therefore no income, should abstraction or development speed be prioritized?
This question assumes the following:
- This is the first project
- Future projects are likely whether this game flops or not
- The game is already well planned and documented
The creation of generic interfaces, classes, methods, etc. to create an easier to read, easier to use framework to build the application upon. It requires some amount (depending on project size, potentially a significant amount) of initial overhead to create the structure to develop the game upon.
The benefit is that down the road, updates and future projects already have a firm foundation to be built upon with reusable and easy to understand code.
There may be a better term for this, but I think it gets the point across. Development speed in place of abstraction is sacrificing that layer of abstraction to prioritize building this initial project faster.
The upside is that the game will be produced faster and potentially get the team on it's feet with a budget to build further games.