TypeScript powered game framework