Lo que aprendí al crear un videojuego con poco más de un año de experiencia en programación

Los videojuegos siempre han jugado un papel importante en mi vida. Final Fantasy II me enseñó a leer (Super Nintendo Entertainment System, en realidad FF4).

Sí, mi vocabulario inicial incluía "chocobo" y "spoony bard". Recuerdo cuando salió Street Fighter II. Mis hermanos y yo pasábamos horas y cuartos en las arcadas.

Pasé días enteros en la sala de juegos jugando Dance Dance Revolution (DDR) con mi hermano, mi primo y nuestros otros amigos. Incluso teníamos un "equipo DDR" y "luchamos" con otros equipos locales.

Recientemente comencé a jugar Overwatch y me ha vuelto a conectar con amigos de hace 5, incluso 10 años. Mi esposa y yo fortalecemos (o probamos) nuestra relación jugando a Overcooked.

¡Decir que me encantan los videojuegos es quedarse corto! ?

Los videojuegos enseñan, despiertan la imaginación, desafían a las personas y conectan a las personas. Los videojuegos traen alegría a la vida de las personas. Por otro lado, gran parte de mi profesión actual está llena de sufrimiento, no necesariamente mi propio sufrimiento, sino el sufrimiento de los demás.

Actualmente soy médico residente (lo que significa que terminé la escuela de medicina, pero todavía me estoy capacitando bajo la supervisión de otros médicos). En mi corta carrera, he escuchado a muchos padres hablar sobre el brillante futuro de sus hijos antes de que terminaran en el hospital en estado crítico.

He escuchado demasiados lamentos de pacientes acostados en su lecho de muerte. Con frecuencia recuerdo lo corta que es la vida. Es demasiado corto para tener un sueño y no intentar perseguirlo.

Entonces, decidí hacer realidad mi sueño de ser un desarrollador de juegos. En este artículo, compartiré lo que aprendí en mi viaje hasta ahora, y algunos de los desafíos que enfrenté, con la esperanza de ayudar a otros que comparten este sueño.

Aprendiendo a codificar

Entonces, ¿cómo empecé? Cuando comencé la residencia, vi un anuncio de un curso de Udemy sobre cómo hacer videojuegos en Unity. Finalmente, teniendo un ingreso, lo compré. Rápidamente me volví demasiado ocupado para entrar en eso. Lo dejé solo como un juego que acabo de comprar durante una venta de Steam.

Dos años después, mi prometida (ahora esposa) regresó a casa de un día difícil en el trabajo. Dijo que solo iba a aprender a codificar y dejar su trabajo. Como buen socio, dije: “¡Oh! ¡Yo también!" Abrí ese curso de Udemy y descargué todo. Sin embargo, en ese momento, mi esposa y yo estábamos a 4 horas de distancia. Cuando hube instalado todo, era hora de irme y conducir hasta ella.

Decidí descargar y escuchar algunos podcasts durante el viaje. Esto me lleva a la primera lección que aprendí. Los podcasts son muy útiles. Escuchar podcasts realmente aceleró mi progreso. Fue en CodeNewbie donde aprendí sobre freeCodeCamp. A través de freeCodeCamp, aprendí sobre la importancia de ser parte de una comunidad. El podcast del programador simple me inspiró a seguir adelante y concentrarme.

En términos de podcasts relacionados con el desarrollo de juegos, Designer Notes, The Debug Log y Game Dev Unchained me presentaron las experiencias de otros desarrolladores de juegos. Sus historias me animaron. Aprendí la jerga. Aprendí de los errores que ya habían cometido. Hice todo esto durante esos viajes de 4 horas cuando visitaba a mi prometida. Los podcasts transformaron lo que hubiera sido tiempo de inactividad en tiempo productivo.

La otra cosa que me ayudó a aprender más rápidamente fue que me sumergí de lleno. Entré en un hackathon (por accidente) con solo 13 días de experiencia en programación. Fue aquí donde aprendí sobre la comunidad y las reuniones locales.

En las reuniones locales, aprendí sobre las posibilidades de lo que se podría hacer. Me empujó a hacer algo para poder mostrarlos en el día de demostración local. Me dio ganas de seguir creando y compartiendo.

Mientras creaba y compartía, recibí comentarios y consejos de quienes me rodeaban. Así fue como mejoré. Así es como se me ocurrió la loca idea de que podía hacer y lanzar un juego yo solo con una experiencia tan limitada.

Desafíos de construir y lanzar un juego por primera vez.

En realidad, hacer mi propio primer juego para ser lanzado tuvo sus desafíos de hacer el arte y escribir el código. Mejoré con el tiempo, la práctica y muchas búsquedas en Google.

Una técnica que encontré útil fue escribir cosas en diagramas y en "pseudocódigo". Los diagramas me ayudaron a visualizar cómo se conectaría todo, y el pseudocódigo me ayudó a mantener el rumbo de lo que quería que lograra mi código. A partir de ahí, fue un montón de prueba y error, y hacer el proceso de nuevo.

Me resultó difícil procesar e implementar los comentarios de las personas. Cuando comencé a enviar mi juego para que la gente lo probara, me daban sugerencias. Una razón por la que esto fue difícil fue porque no sabía cómo hacer lo que me pedían. Otra razón era que quería completar y lanzar mi juego.

He escuchado historias de personas que abandonan su proyecto porque se sienten abrumadas con demasiadas funciones. Quería mantenerme dentro de mi alcance y un producto mínimo viable. Por otro lado, quería hacer un producto que la gente realmente quisiera. Imagino que esto seguirá siendo una lucha para mí y para cualquier desarrollador / diseñador de juegos.

Durante este proceso, también me di cuenta de que muchos de los obstáculos venían desde adentro. Cuando trabajo en mi propio proyecto, por mi cuenta, es fácil volverme perezoso y distraerme. Es fácil dejar de trabajar en algo y decir que es "suficientemente bueno". Es tan fácil como pasar demasiado tiempo trabajando en algo que "no es lo suficientemente bueno". Lo que encontré útil fue establecer fechas límite para mí y escribir metas para cada bloque de tiempo que tenía para trabajar en mi juego.

El mayor desafío interno, uno que imagino que seguiré enfrentando, es el “síndrome del impostor”. En varios puntos de este proceso, me preguntaba: "¿Quién soy yo para crear y lanzar un juego?" Cuando subí por primera vez mi juego a Google Play Store para realizar pruebas internas, fue rechazado. Quería rendirme en ese momento, a pesar de que había trabajado para completar el proyecto. ¡Ni siquiera miré la razón por la que fue rechazada! Afortunadamente, salí e investigué el problema. Resultó ser un error simple y solucionable. Imagínese si me rindiera.

Lanzamiento del juego y más allá

Presionar el botón para lanzar mi juego al público fue aterrador. ¿Y si la gente odiara mi juego? ¿Y si algo estuviera completamente roto? Al menos hasta ahora, esos temores no estaban justificados. De hecho, estoy muy satisfecho con la respuesta a mi juego hasta ahora. ¿De ninguna manera es un juego súper exitoso con solo alrededor de 90 descargas totales y un total de $ 0.00 en ingresos ? en el momento de escribir este artículo. ?

Sin embargo, en esta etapa, el éxito es que la gente disfrute de mi juego. Es ver a alguien que estaba a punto de irse de una fiesta quedarse una hora más porque alguien superó su puntuación más alta. Es ver a la gente publicar capturas de pantalla de sus puntuaciones más altas. Es que alguien supere mi puntuación más alta (aunque morí un poco por dentro). Es ver que la gente se desafía a sí misma. Es ver esa alegría cuando alcanzan un nuevo nivel de logro.

Entonces, ¿a dónde voy desde aquí? Creo que quiero intentar incorporar multijugador, o al menos descubrir cómo hacer un sistema de clasificación. La gente parece realmente interesada en obtener una puntuación alta. También necesito aprender más sobre el aspecto comercial / marketing de las cosas.

Creo que empezaré ahora. Te invito a probar mi juego “Squircle Circle Tap” para iOS o Android. Mientras pruebes el juego, continuaré desarrollando mis habilidades para avanzar hacia esos juegos que me impactaron tanto a lo largo de mi vida. Gracias por leer, feliz codificación.