La idea de la creación de prototipos es obtener una versión de trabajo rápida y sucia de su idea y luego desechar el prototipo para crear una arquitectura sólida para su producto final.
Es importante reconocer que un prototipo no está destinado a ser (y nunca debe ser) refactorizado en un producto, por lo que no es necesario escribirlo en el mismo idioma que desea escribir su juego final. Es mejor elegir un lenguaje de programación que permita un desarrollo rápido, como Flash, como usted mencionó.
Los prototipos por su naturaleza no están diseñados para ser un código duradero. Los prototipos están diseñados para ser desechados. Son únicos. Es inapropiado sobre-diseñar un prototipo. Un prototipo es como una ciudad en una película del oeste. Todo es fachada. No hay nada detrás de eso. No puede mudarse y criar una familia en una de esas casas.
Si quieres construir algo que quieras usar más, este no es un Prototipo sino más bien una Tracer Bullet, como lo llaman Andy Hunt y Dave Thomas en el libro The Pragmatic Programmer .