Empecé a programar hace muchos años. Ahora estoy tratando de hacer juegos. He leído muchas recomendaciones para comenzar a clonar algunos juegos conocidos como galaga, tetris, arkanoid, etc. También he leído que debería ir a por todo el juego (incluidos menús, sonido, puntuación, etc.).
Ayer terminé la primera versión completa de mi clon Arkanoide. Pero está lejos de terminar. Todavía puedo trabajar en él durante meses (programo como un pasatiempo en mi tiempo libre) implementando un conmutador de resolución de pantalla, reasignación de las teclas de control, potenciadores que caen de ladrillos rotos y un enorme etc.
Pero no quiero estar aprendiendo para siempre cómo clonar UN juego. Tengo la urgencia de llegar al siguiente clon para aplicar algunas ideas de diseño que encontré al desarrollar este clon Arkanoid (al mismo tiempo que leo el libro GoF y mucho código fuente del concurso de juegos Ludum Dare 21).
Entonces la pregunta es: ¿Debería seguir mejorando el clon Arkanoid hasta que tenga todas las características que tenía el juego original? ¿O debería pasar al siguiente clon (hay casi infinitos juegos para clonar) y comenzar a reparar las cosas que hice mal con el clon anterior?
Esta puede ser una pregunta muy subjetiva, así que por favor restrinja las respuestas a la forma más efectiva de aprender a hacer mis propios juegos (no clonar ideas de alguien). ¡Gracias!
ACLARACIÓN
Para aclarar lo que he implementado, hago esta lista:
Características implementadas:
- Capacidades de rebote (la pelota rebota en paredes, ladrillos y en la barra).
- Suena cuando rebota en ladrillos y en la barra, y cuando el jugador gana o pierde.
- Menú de título básico (nuevo juego y solo salida). También menú en el juego y menús de ganar / perder.
- Solo tres niveles, pero el sistema de mapas es tan fácil que no creo que me enseñe mucho (¿me equivoco?).
Características no implementadas:
- Potenciadores al romper los ladrillos.
- Ladrillos complejos (con más de un "punto de golpe" e invencible).
- Mejores gráficos (no soy realmente bueno en eso).
- Pulido de programación (use más intensamente los patrones de diseño).
Aquí hay un enlace a su página web (mínima): http://blog.acamara.es/piperine/ Me da vergüenza mostrarlo, así que no me pegues demasiado :-)
Mi pregunta estaba relacionada con las características no implementadas. Me preguntaba cuál era el camino más rápido (óptimo) para aprender. 1) implementar las características no implementadas en este proyecto que se está haciendo grande, o 2) hacer un nuevo juego que probablemente me enseñe esas lecciones y otras nuevas.
RESPONDER
Elijo @ ashes999 answer porque, en mi caso , creo que debería pulir más y tratar de "enviar" el juego. Creo que todas las otras respuestas también son importantes a tener en cuenta, así que si viniste aquí con la misma pregunta, antes de tomar una decisión apresurada, lee toda la discusión.
¡Gracias a todos!