Haciendo su primer juego las primeras experiencias de Matt Porter

Hay dos juegos que considero que son los primeros: uno que hice antes de que pudiera programar (lo que fue más difícil de lo que debía ser, pero de ninguna manera es imposible), y otro que hice en colaboración con un artista después de que aprendí los conceptos básicos de programación. En este artículo, compartiré mis experiencias contigo, para demostrar que no importa en qué nivel de habilidad estés actualmente, todo lo que necesitas para hacer juegos es pasión, sin excusas.!


Mi juego de preprogramación

Antes de ser un desarrollador de juegos, específicamente un programador, empecé con la animación usando Flash 4. Tenía solo unos 12 años en ese momento, pero me divertí mucho aprendiendo lo básico a través de las peleas de palos, que fueron inspiradas por mis innumerables horas. Pasé roaming Newgrounds. Esto eventualmente me llevó a hacer animaciones cortas, que incluían precargadores, botones de reproducción y detener() Función (colocada en el cuadro final de la película para evitar bucles).

Siempre quise hacer juegos, pero parecía completamente más allá de mis habilidades, es decir, hasta que me di cuenta de que esas pocas herramientas que ya estaba usando me dieron el poder para hacerlo..

Conoce a Omnigosha

El nombre de mi primer juego fue Omnigosha. Hasta el día de hoy no tengo ni idea de dónde se me ocurrió ese nombre, pero en ese momento sonaba genial, así que me quedé con él..

Omnigosha fue una aventura de apuntar y hacer clic, que tiene lugar en una gran ciudad donde un sindicato del crimen no era para nada bueno. La mayoría del juego carecía de historia, pero de las pocas cartas y libros que encuentras a lo largo del juego, descubres que un grupo que se llama a sí mismo "Monjes negros" está importando armas japonesas ilegales, y está gobernado por su líder, Don Etello (yo era un niño inteligente, lo sé.

Exploraría el edificio principal (Edificio A, ya que fue el único edificio que se completó para este ambicioso proyecto), recolectó artículos y siguió avanzando. Como no tenía conocimientos de programación, no había inventario, por lo que el juego tenía una progresión de elementos lineales, lo que significa que tenía que avanzar el juego en un orden específico. (Aunque hubo una pelea de mini jefes opcional, que ocurrió si activaste una alarma al intentar recolectar un objeto de un casillero seguro al principio del juego).

Un juego con (casi) sin código

Si bien puede parecer absolutamente ridículo, de hecho, logré sacar toda mi idea, y luego algo, casi sin código. Las únicas herramientas que tenía eran los botones de Flash y el conocimiento de las siguientes funciones:

 detener(); // detiene la película en el cuadro actual (); // reanuda la película desde el fotograma actual gotoAndStop (fotograma); // detiene la película en el fotograma especificado gotoAndPlay (fotograma); // reanuda la película desde el fotograma especificado

Pensé que podría usar las herramientas anteriores para crear algo así como un libro "elige tu propia aventura". El jugador saltaría de una página a otra (fotogramas), haciendo elecciones (en lo que hicieron clic), lo que determinaría a qué página (fotograma) se enviaron.

Por ejemplo, había 12 pisos en mi juego, por lo que cada piso estaría en los primeros 12 cuadros. El ascensor que conducía entre los pisos no era más que un índice de botones que conducían a cada marco. Para las habitaciones que tenían varios pisos, coloqué las habitaciones adicionales al final.

Este sistema realmente funcionó bastante bien para explorar el mundo que había creado, pero no tenía la menor idea de cómo crear un inventario, que es donde las cosas se pusieron difíciles..

El inventario

Como no tenía un sistema de inventario, tenía que ser creativo con la forma en que progresaba el juego. Por esto, hice algo absolutamente ridículo, pero no sabía nada mejor, y bueno, funcionó.

Yo copie mi el mundo entero (todos los cuadros de mi juego) a múltiples "escenas", una para cada etapa de progresión del juego. Luego, hice pequeños cambios en cada escena, dependiendo de cuán lejos estuvieras en el juego.

Por ejemplo, si comienzas en la escena 1, y el primer elemento que recolectas es una clave en el piso 4, luego, cuando haces clic en el escritorio para "recolectar" esa clave, el juego te envía al mismo piso y marco en el que estuviste. , pero en la escena 2. En la escena 2, el mundo es el mismo, excepto que ahora tienes la llave, y así puedes abrir la puerta que abre. No hay un sistema que esté al tanto del hecho de que está sosteniendo la llave: simplemente está en la Escena 2, donde el escritorio ahora está vacío, y la puerta se puede abrir.

Esto continúa para cada elemento que recolectas a lo largo del juego, lo que crea entre 20 y 30 copias de casi todos los fotogramas de mi juego. Por lo que yo sabía, ¡no estaba haciendo nada malo! Y estaba listo para crear aún más, a pesar de lo poco que sabía.

Lucha!

A medida que me entusiasmaba más y más con mi proyecto, crecí ambicioso y comencé a preguntarme cuánto podría crear con lo poco que sabía. En un momento de mi juego, eventualmente te encuentras con los miembros de los "Monjes Negros" y tienes un duelo de armas; aquí es donde las cosas se vuelven locas.

Es posible que se esté preguntando cómo esto es posible sin conocimientos de programación. Bueno, al tener algunas configuraciones de cuadros extremadamente intrincadas y varios botones que te llevan a cuadros específicos dependiendo de lo que estaba sucediendo, fui capaz de crear una separación de armas muy ordenada. Durante este stand-off, puede presionar la flecha hacia abajo para esconderse detrás de una caja gigante, presionar la flecha hacia arriba para salir de la cubierta y hacer clic en los enemigos mientras está fuera de la cubierta para dispararles. Para pulir las cosas, hice de cada caja de la habitación un botón en el que se podía hacer clic, lo que activaría un efecto de sonido y cambiaría su gráfico a una caja con un agujero de bala (el agujero de la bala estaba predeterminado, y no en el lugar donde disparó) ).

Más tarde, usando técnicas muy similares, incluso creé un jefe de tanque gigante que disparó misiles a la pantalla y que tenía un punto débil que solo podía ser disparado cuando su guardia estaba abajo..

Nunca vayas a la batalla sin un arma

En caso de que todavía no te hayas dado cuenta: mis métodos anteriores son absolutamente ridículos en todos los aspectos posibles. Si hubiera sabido los fundamentos más extremos de la programación, podría haber creado este juego mucho más rápido. Además de eso, podría haber reducido el tamaño del archivo, ya que no habría tenido que copiar los marcos una y otra vez para cada etapa de progresión del juego..

Una comprensión básica de las matrices me habría permitido crear un sistema de inventario simple, permitiendo al usuario recopilar elementos cuando los encontró, y que el juego supiera qué elementos se mantuvieron en un momento dado. Conocimiento de Si Las declaraciones y los Booleanos me habrían permitido realizar controles en todas mis puertas, aparadores, parrillas, etc. Estos dos combinados, junto con algunos otros conceptos básicos, me permitieron programar el juego correctamente, lo que me permitió editar y expandir como mejor me parezca. Tal como estaba, cada vez que añadía un nuevo elemento al principio o en la mitad del juego, tenía que hacer enormes ediciones, ya que todo en el juego era específico para cada fotograma y escena, y los valores posteriores cambiaron con cualquier adición anterior..

Nunca te estorbes por falta de conocimiento.

Lo más valioso que aprendí de este juego es que nunca debes obstaculizarte por la falta de conocimiento. Si está tratando de resolver un problema sin las herramientas adecuadas, es mejor que se aleje del problema y adquiera primero las herramientas adecuadas..

Si tienes puntos débiles en tus habilidades de programación, haz el hábito de abordar un aspecto a la vez, y poco a poco adquirirás el conocimiento que te permitirá nunca cometer errores como los que cometí..


Mi Real Primer juego

Un par de años después de haber creado Omnigosha y haberla lanzado en Newgrounds, me encontré viviendo en la pequeña ciudad de Moscow, Idaho. Fue aquí donde trabajé en un Pizza Hut por cinco dólares por hora, y aquí decidí que mi vida necesitaba un cambio. Estaba completamente harta de mi trabajo, y no tenía sentido de dirección en mi vida. Anteriormente había comprado una tableta gráfica Wacom para mejorar mis habilidades de animación, pero el arte nunca ha sido mi forté, y finalmente acepté que mi animación no era más que un pasatiempo. Aunque la animación no parecía ser mi vocación, todo estaba bien, porque por primera vez en mi vida, sabía lo que era: desarrollo de juegos.

Sabía que no tenía las habilidades para hacer que esto se hiciera realidad pronto, pero mi motivación para eventualmente dejar los trabajos del día como el que tenía en mi pasado era lo suficientemente fuerte como para seguir adelante. Unos meses más tarde, lancé mi primer juego real, completamente programado, Stabika Episodio 1: Escape.

Cómo me convertí en parte del proyecto

Como parte de mi viaje para adquirir las habilidades que necesitaba para convertirme en desarrollador de juegos, fui al único lugar que sabía que podía enseñarme en ese momento, Newgrounds. Es aquí donde pasé innumerables horas en los foros de Flash y formulé todas las preguntas de principiantes conocidas por el hombre. Leí los tutoriales, exploré las preguntas de otras personas y tomé nota de las respuestas que recibieron. Si bien lo que estaba aprendiendo no era del todo formal, ni de las mejores prácticas, era un gran paso en la dirección correcta, y nada como la monstruosidad de prácticas que había usado anteriormente.

A medida que mi aprendizaje continuaba, me sentía cada vez más ansioso por ayudar a cualquiera de los que era capaz, ya que esto me demostraría que realmente estaba aprendiendo, y sería genial para mí devolverle a la comunidad que me enseñó lo poco que sabía. . Un día, David Mills hizo una pregunta particularmente interesante en los foros de Newgrounds sobre la creación de una secuencia cronometrada como la de God of War, y para mi sorpresa, me encontré capaz de responder a su pregunta. Si bien la codificación detrás de la idea era mayormente lógica que cualquiera podría entender, sucedió que también había ganado la capacidad de programar esa lógica..

Después de unas cuantas respuestas de un lado a otro, me agradeció enormemente y me prometió acreditarme en el juego. Unos días después, regresó a los foros, mostró una demostración con el código que le di y recibió comentarios. No mucho tiempo después, volvió a hacer preguntas sobre cómo incluir lo que la gente había sugerido, y volví a responderle una vez más. Antes de que lo supiéramos, nos asociamos y estaba creando mi primer juego real..


Si está interesado en ver el intercambio inicial, las publicaciones se pueden encontrar aquí y aquí..

Esta es la demostración técnica original que le proporcioné a Mills, como prueba de concepto de que era capaz de llevar a cabo el trabajo:

(Felicitaciones a ImageShack por hospedar ese SWF durante todos estos años).

Stabika Episodio 1: Escape

El juego en sí jugó de manera muy similar a las secuencias cronometradas de God of War, como mencionó Mills en su publicación inicial. Era más o menos una animación con momentos interactivos donde el tiempo se ralentizaría y el jugador tendría que ingresar una clave seleccionada al azar antes de que se agotara el tiempo..

Estos momentos siempre estuvieron presentes en momentos en que el peligro estaba involucrado, por lo que pulsar la tecla correcta daría como resultado que la animación continuara de una manera increíblemente asombrosa, mientras que golpear la tecla incorrecta resultaría en una muerte sangrienta. El juego solo tardó unos minutos en vencer si era lo suficientemente bueno, pero la mayoría de los jugadores tuvieron que practicar una y otra vez para aumentar su tiempo de reacción y memorizar cuándo iban a llegar las secuencias cronometradas..

Independientemente de la corta duración, agregamos un punto de control justo antes de la escena del jefe final, para mantener el juego divertido y no castigar demasiado. Para terminar el juego, hicimos una secuencia final que hace referencia a Mortal Kombat: el tiempo se congelaría por completo, y el texto "Finalizarlo" se extendería por toda la pantalla. Los jugadores luego tuvieron que ingresar cinco claves generadas aleatoriamente en una fila para obtener el golpe final. Si bien los jugadores no pudieron desordenar esta secuencia final, fue una manera bastante mala de terminar el juego, y a la gente parecía gustarle..

Puertas de apertura

El lanzamiento de Stabika fue un gran paso adelante hacia mi objetivo de convertirme en un desarrollador de juegos. Logré poner en práctica mis conocimientos de programación, perfeccioné dicho conocimiento y formé una nueva asociación que dio lugar a numerosos juegos futuros, lo que a su vez me dio mucha más experiencia como desarrollador..

Si bien es posible que hayamos lanzado Stabika 1 solo por diversión, la atención y los comentarios que recibió nos llevaron a nuestro primer patrocinio con CrazyMonkeyGames, lo que nos abrió un nuevo mundo de oportunidades..

Honestamente, no puedo decir lo suficiente sobre el lanzamiento de mi primer juego, y le recomiendo encarecidamente que trabaje para lograr este objetivo si es algo que le interesa; Los resultados pueden sorprenderle.


Pensamientos de cierre

No importa en qué nivel de habilidad estés actualmente, todo lo que necesitas para hacer juegos es pasión..

Como puedes ver, mis dos juegos varían bastante. Un juego casi no requería código, y el otro era más avanzado, requería algo de programación y estaba mucho más pulido. Sin importar sus diferencias, comparten una cosa en común: mi deseo de hacer juegos es lo que les dio vida..

Si sacas algo de esto, me gustaría que te des cuenta de que no importa en qué nivel de habilidad estés actualmente, todo lo que necesitas para hacer juegos es pasión. Los juegos simples se pueden crear casi sin conocimientos técnicos, y los juegos más complicados están justo frente a usted, si se toma el tiempo para aprender las habilidades necesarias. Si crear juegos es algo que realmente quieres hacer, te prometo que eres capaz; solo tienes que poner tu mente en ello.