¿Cómo codificar Un juego de video?
Diseñar el juego
Define primero el concepto. Realiza los siguientes pasos en cualquier orden. Reúne o crea recursos artísticos. Trabaja en el diseño del arco de la historia o del progreso. Trabaja en el diseño de los niveles. Ajusta y optimiza los gráficos. Recibe comentarios de los evaluadores de juego.
Ocupa una buena cantidad de tiempo definiendo el concepto del juego, antes de tocar una línea de código. ¿Qué género es? ¿Es 2D o 3D? ¿El jugador progresa en el juego resolviendo rompecabezas, siguiendo o creando la historia, luchando contra enemigos o explorando? Cuantas más preguntas respondas y más detalladas sean tus ideas, más tiempo ahorrarás a la larga. Si decides hacer un cambio importante después de haber comenzado la codificación, es posible que el cambio demore muchas veces para implementarse. Reduce esto a algo muchísimo más simple que tu idea original. Un pequeño prototipo que explore cómo funciona tu juego y ofrezca un par de niveles para jugar, es un excelente comienzo. Una vez terminado, puedes utilizarlo como base para desarrollar un juego completo, o incorporar lo que hayas aprendido en un nuevo proyecto. En este punto, tendrás por delante semanas o meses de trabajo duro pero gratificante. Si bien un equipo de personas, por lo general, dividirá las tareas siguientes y trabajará en ellas simultáneamente, una persona tendrá que decidir qué tarea es más fácil de comenzar o más importante en cada etapa. Revisa todos los pasos siguientes y comienza con la tarea que más te atraiga. A menos que vayas a hacer un videojuego de texto, necesitará imágenes 2D, y posiblemente modelos 3D y texturas (patrones que se aplican sobre los modelos). Puedes aplazar el desarrollo de la música y los efectos de sonido hasta un poco después de iniciado el proceso, pero si planeas publicar tu juego resulta muy recomendable trabajar en ello. Los íconos simples, interfaz de usuario, y las fuentes tipográficas tienen la prioridad más baja cuando se trata de un juego en sus inicios, aunque aplicar un poco de esfuerzo aquí puede mejorar enormemente la experiencia del jugador.  Existen muchos lugares en línea dónde encontrar recursos artísticos gratuitos o económicos. Prueba a visitar esta lista de makeschool.com. Contratar a un artista marcará una gran diferencia. Si no puedes darte el lujo de hacerlo, reúne los recursos por ti mismo y muestra el resultado a tus amigos artistas o publícalo en foros de desarrollo de juegos o foros de arte en línea para recibir asesoramiento. Mucho de este contenido consistirá en documentos de planificación fuera del código del juego mismo, aunque un juego basado en historias puede necesitar incluir árboles de diálogo con ramificaciones. Incluso un juego sin una historia tradicional debe tener un sentido de progreso alrededor del cual puedas planificar. Un juego de plataformas podría implicar una serie de movimientos y mejoras de armas, mientras que un juego de rompecabezas podría agregar más características a medida que aumente la complejidad y la dificultad de los rompecabezas. Comienza con un nivel o área pequeño y simple. Enfócate en la construcción de la ruta que el jugador debe seguir a lo largo del nivel, a continuación, añade rutas laterales (opcional), gráficos más detallados, y modifica la dificultad (por ejemplo, modificando las alturas de la plataforma o cambiando la posición de los enemigos). Utiliza fuentes de luz y objetos que caigan del cielo para guiar al jugador hacia el siguiente punto en la zona. Utiliza sombras para disuadir a los jugadores de entrar en los callejones sin salida o rutas incómodas, y utiliza enemigos para ambos propósitos (dependiendo de cómo el juego enseñe a evitar a los enemigos). Un área apropiadamente diseñada hace que el jugador se sienta como si estuviera tomando sus propias decisiones o explorando, aunque en realidad lo guía a lo largo de la ruta más directa por medio de pistas sutiles. Esto no es necesario si vas a utilizar programas simples de creación de juegos. Si estás dispuesto a profundizar en el nivel más profundo de los sistemas gráficos, puedes empezar por crear sombreadores y efectos de partículas, o explorar el código gráfico y eliminar las tareas que sean innecesarias para el juego. Debido a que los gráficos son casi siempre el cuello de botella que determina la velocidad de procesamiento, por lo general incluso un juego 2D es sometido a ajustes significativos de optimización y reescrituras con el fin de minimizar la carga sobre la tarjeta gráfica y el procesador. Una vez que tengas un nivel simple o un prototipo de juego, haz que tus amigos lo jueguen y te ofrezcan comentarios. Averigua qué es lo que la gente cree que es divertido, y aquello que los frustra. Más adelante durante el proceso, cuando el juego esté más pulido, la retroalimentación de extraños o conocidos puede ser una excelente fuente de consejos honestos, ya que estará menos comprometida con que logres el éxito o con animarte. Los jugadores no están entrenados para ofrecer comentarios desde la perspectiva de un desarrollador. Si, por lo general, a los jugadores no les gusta un aspecto del juego, entonces existe algo que podría mejorarse, pero las sugerencias específicas que los jugadores hacen a menudo no resultan útiles. Haz preguntas bastante específicas para averiguar las características exactas que les molestan.
Designing the Game