La comunidad indie gamedev es increíble: está dispuesta a compartir consejos, trucos, consejos e incluso tutoriales detallados que explican conceptos importantes. Aquí, he reunido algunas docenas de mis ejemplos favoritos de Internet, que cubren codificación, matemáticas, diseño de juegos y desarrollo de juegos. Esta es la calidad del contenido que aspiramos alcanzar en Gamedevtuts+.
Artículos RelacionadosEste tutorial de IA tiene un enfoque interesante para el pathfinding. En la imagen de arriba, suponga que el punto verde es un carácter controlado por computadora, la E blanca es su destino objetivo y los bloques marrones son montañas infranqueables. La técnica básica es hacer que el objetivo genere un campo positivo y las montañas generen campos negativos, como si fueran cargas eléctricas positivas y negativas. Luego se agregan los campos, como se representa por los distintos tonos de azul, y el punto verde simplemente se mueve a la posición adyacente con el "pull" más alto (es decir, el de azul más claro).
El tutorial se sumerge en mucho más detalle, mostrando cómo lidiar con las unidades enemigas, los mínimos locales y otras situaciones..
Es posible que hayas visto el tutorial de Stephane Beniak sobre el clásico Juego de la vida aquí en Gamedevtuts +. Este tutorial, por Mikola Lysenko, discute una interesante nueva variante: una generalización del Juego de la Vida para espacios lisos, aplicada a superficies curvas arbitrarias..
Mikola no solo da los pasos necesarios para recrear su versión; se sumerge profundamente en las matemáticas y los conceptos necesarios para entenderlo, y gradualmente va logrando el impresionante resultado final..
Este es un tutorial breve y simple, destinado a mostrar el poder de las bibliotecas Nape y Starling Flash, ¡pero me gusta mucho el resultado! La lógica real detrás de la creación del terreno es lo suficientemente fácil de entender como para poder portarla a la mayoría de las otras plataformas de juegos..
Este tutorial, de Rahul Srivastava de Rotating Canvas games, tal vez iría bien con el tutorial Dynamic 2D Water Effects de Michael Hoffman, que publicamos a principios de este año. Rahul explica cómo usar los sombreadores OpenGL, una función sinusoidal y un ruido aleatorio para crear este efecto de superficie de agua limpia.
Bueno, esto es realmente más un tutorial directo de CS que un tutorial de codificación específico de gamedev, pero no pude resistirme a incluirlo aquí porque me encanta la presentación. Las animaciones barajadas ayudan a ilustrar lo que ya es un claro tutorial.
Este artículo explora una pregunta: ¿cómo podemos detectar la silueta de un objeto 3D? Como suele ser el caso, el primer paso es definir claramente el problema; Una vez hecho esto, el tutorial repasa los problemas específicos y ofrece algunos ejemplos de código. Al final, puede tomar un modelo 3D arbitrario y generar su esquema 2D.
Este es uno de mis tutoriales favoritos de todos los tiempos. Es completo y está muy bien explicado, con muchos diagramas y demostraciones. Incluso si no tienes planes de generar mapas para tus juegos, creo que encontrarás una lectura fascinante..
Recuerda n? Es un clásico juego de plataformas Flash, lanzado originalmente en 2005 y eventualmente transferido a Xbox, DS y PSP. Realmente llamó la atención de la gente en ese momento debido a su movimiento súper suave y la mecánica de colisión..
En este dos partes (la segunda parte está aquí), los desarrolladores de N explican los conceptos básicos de sus sistemas de detección de colisiones. Si desea llevar esto más lejos, Shiu nos escribió un tutorial sobre los mismos conceptos..
El método simple de detección de colisiones AABB (caja delimitadora alineada con el eje) es adecuado para muchos juegos, pero según mi experiencia, los desarrolladores de juegos a menudo desean obtener un método de píxel perfecto lo más rápido posible. Este tutorial es bastante específico para XNA, pero explica los conceptos con la claridad suficiente para que pueda implementarlos en la plataforma de desarrollo 2D que elija..
Este efecto de estilo de lámpara de lava se usa a menudo para procesar líquidos, y es bastante sencillo de renderizar con código, ¡no se requieren sombreadores personalizados! Este tutorial está en XNA, pero es bastante fácil de portar a otras plataformas.
Rodrigo Monteiro divide los juegos de plataformas en 2D en cuatro tipos (basado en mosaico (puro), basado en mosaico (suave), máscara de bits y vectorial) y explica de manera sucinta cómo se puede implementar el movimiento en cada caso. Esto logra ser una excelente introducción a los conceptos y una excelente guía de referencia..
Puede que no sea estrictamente necesario escribir sus propios difusores de rayos en estos días, gracias a Stage3D, Unity y OpenGL, pero creo que todavía es interesante aprender los conceptos básicos de la creación de una sala en 3D. Este tutorial explica la idea aproximada, le muestra cómo construir el raycaster de color sólido que se muestra en la imagen de arriba y finaliza al implementar un renderizador de texturas de estilo 3D de Wolfenstein..
Probablemente no deberías intentar leer esto en tu teléfono inteligente. Este enorme artículo de Randy Gaul es un excelente resumen, lleno de excelentes consejos para la programación de juegos en C++.
The Source Engine es mejor conocido por impulsar juegos de FPS como Half-Life 2 y Team Fortress 2, pero en este tutorial, Ben Evans te muestra cómo crear un prototipo de RPG básico. Explica cómo crear misiones, agregar diálogos y configurar una condición de finalización..
La inteligencia artificial para los oponentes controlados por computadora no debe estar necesariamente diseñada para que sean lo más competentes posible; competir contra un conjunto de conductores perfectos no sería divertido. Aquí, Eduardo Jiminez explica la "banda elástica" de AI en Pure, diseñada para que el juego se sienta competitivo y, por lo tanto, emocionante, al evitar que el jugador se atrase demasiado (¡o se ponga demasiado al frente!).
En esta charla de 80 minutos (media presentación, media sesión de preguntas y respuestas), Jonathan Blow of Braid and The Witness da el consejo que se habría dado a sí mismo como desarrollador de juegos de pregrado.
Hay muchos tutoriales de A * pathfinding en línea, pero creo que este es el mejor para empezar. Patrick Lester explica el método de forma rápida y directa, con sugerencias y aclaraciones, e incluso proporciona un código fuente y algunas sugerencias sobre qué guías leer a continuación..
Si tienes un buen conocimiento de las matemáticas de la mecánica, codificar un simulador de física parece una tarea simple. En el papel, lo es. En la práctica, la naturaleza discreta de cualquier simulación de código significa que se encontrará con varios problemas, por ejemplo, si el tiempo delta del simulador no coincide con la velocidad de visualización de su juego, encontrará que la simulación se ejecuta más rápido o más lento de lo que esperaba..
En este breve pero importante artículo, Glenn Fielder explica por qué ocurre el problema y cómo solucionarlo..
Esta bien no es técnicamente Un tutorial, pero sin duda merece un lugar aquí. Chris DeLeon ha proporcionado un juego de plataformas de tres niveles, completo con un editor de niveles y un código fuente completo. Como él lo pone:
Esto no es tanto un proyecto de código abierto como un montón inusualmente expansivo de código de ejemplo / demostración conectado, aunque está pensado para abarcar tanto o más sobre diseño de juegos (experiencia del usuario, ajustes, relaciones de sistema) y producción de juegos (compromisos de desarrollo, creación eficiente, canalización de contenido) ya que se trata de la programación subyacente.
Los cuaterniones son una forma conveniente de representar rotaciones en el espacio tridimensional. […] La principal ventaja que tienen sobre los ángulos de Euler es que pueden interpolarse sin verse mal. Puede componer rotaciones al multiplicar los cuaterniones, al igual que con las matrices de rotación, pero una unidad de cuaternión es siempre una rotación, mientras que una matriz de 3 × 3 podría ser una serie de otros tipos de transformaciones (posiblemente indeseables).
Este tutorial de tres partes de Twisted Oak Studios explica las matemáticas de los cuaterniones. Esto no es una pintura por números post; asume que tienes interés en aprender sobre este tipo de conceptos, en lugar de ponerlos en práctica.
Hay una gran cantidad de excelente contenido en el sitio de Paul Firth, pero este es un post al que me estoy refiriendo: un par de métodos útiles para trabajar con polígonos convexos (es decir, formas de lados rectos que no se doblan sobre sí mismas).
Paul explica cómo averiguar el área dentro de un polígono y cómo detectar si un punto determinado está dentro de un polígono. Apenas emocionante, pero frecuentemente útil.
Otra gran guía de Paul Firth. Esta vez, aborda prácticamente todo lo que necesitas saber, como desarrollador de juegos, para tener un buen conocimiento de las matemáticas vectoriales. Utilizo esto como referencia (¡está perfectamente organizado!) Pero creo que también serviría como un tutorial de introducción decente.
David Rosen de Wolfire Games repasa los conceptos básicos de vectores y matrices en esta serie de cuatro partes, con numerosos ejemplos relacionados con juegos tanto en 2D como en 3D..
Como TVTropes por malas decisiones de diseño de juegos. Ernest Adams ha estado siguiendo el rastro de "fallas en el juego" durante más de una década (tanto por sus propias experiencias como por sugerencias de los lectores), y las ha compilado en una lista categorizada aquí..
Los grandes jefes en los juegos de rol deberían ser difíciles, pero no es divertido si son imposibles de vencer. Aquí, Solitayre explica cómo estructurar los patrones de ataque de un enemigo para hacer batallas memorables y gratificantes..
En este artículo, Charmie of FunstormGames transmite la metodología de diseño de juegos engañosamente simple de Wil Mozell: el "Diagrama del núcleo" que se muestra arriba. Como muestra la publicación, esto se aplica sorprendentemente bien a muchos juegos diferentes, por lo que ofrece una manera interesante de pensar en el diseño..
Es difícil categorizar esta publicación: contiene consejos sobre codificación, escritura de historias, interfaz de usuario y trabajo en equipo, todo centrado en el tema de la creación de juegos de plataforma. Si planea hacer un juego de plataformas, lea esto, sea cual sea su rol!
¿Se pueden dividir las habilidades de juego en una serie de "átomos"? Danc dice que sí, y presenta su método para hacerlo aquí. De esta manera, a los mecánicos de un juego se les puede dar una estructura clara, que a su vez se puede usar para diseñar el juego para que el jugador avance, siempre aprendiendo o mejorando.
Si te gusta esto, echa un vistazo a la presentación de Danc La aplicación de rescate de Princess, también.
Nota: Vea también la versión revisada más adelante de este artículo (PDF).
Como diseñadores de juegos, necesitamos una forma de analizar los juegos, tratar de entenderlos y entender qué funciona y qué los hace interesantes. Necesitamos un lenguaje crítico. Y dado que esta es básicamente una forma nueva, a pesar de su enorme crecimiento y su asombrosa diversidad, necesitamos inventar una.
Steve Swink, autor de Game Feel, discute el concepto de sensación virtual - "lo que hace que tu madre se incline hacia la izquierda y hacia la derecha en su asiento mientras trata de jugar al Rad Racer", examinando siete formas diferentes de afectarlo. Para ayudar a demostrar su punto, usa ejemplos de juegos populares y demostraciones simples jugables que se centran en los controles.
Martin Jonasson y Petri Purho demuestran cómo un clon de Breakout simple se puede hacer mucho más divertido al agregar "jugo": pequeños toques de pulido. Asegúrese de revisar los diversos enlaces publicados debajo del video en YouTube.
Gracias al mapeo normal, estos sprites 2D simples se pueden iluminar de forma dinámica según la luz que los golpea. Eche un vistazo al esqueleto del sombrero pirata, en particular: un lado está iluminado en azul; el otro se enciende en rojo. Es una excelente manera de combinar el arte de píxeles retro con el poder de los modernos entornos de juegos en 3D..
Inspirado en el post anterior, Matt Greer ideó un método para agregar iluminación dinámica y Sombras al pixel art 2D. Este tutorial entra en más detalles que el primero, explicando las matemáticas detrás del efecto con algunos ejemplos de código.
Colin Northway explica cómo creó el efecto de atenuación de sangrado de tinta para las transiciones de menú en Incredipede. Además de explicar el efecto genial, esta publicación también destaca la importancia de la prueba y el error.
Citaré del autor, Radek Koncewicz:
La proyección básicamente significa tomar un objeto tridimensional y mostrarlo en un plano 2D (es decir, una pantalla). Hay varias maneras de lograr esto, y cada técnica tiene un impacto profundo en la apariencia y la mecánica de un juego..
Antes de leer este artículo, nunca había notado realmente la proyección en los juegos, podía distinguir un juego isométrico de un verdadero juego en 3D, claro, pero como muestra este artículo, "isométrico" no significa realmente lo que pensé que era ...
Esta es una colección de guías estelares paso a paso para dibujar dibujos animados adecuados para juegos, sin necesidad de utilizarlos. dibujar cualquier cosa. Las guías son tan simples que se siente más como un montaje de una obra de arte que una creación, y lo digo como un cumplido.
Ya hemos hablado de paletas en Gamedevtuts +: cómo elegirlas manualmente y cómo permitir que los jugadores las personalicen. Este artículo explica cómo dejar que un computadora Elija una paleta adecuada para su juego, ideal para cualquier cosa con niveles generados por procedimientos!
Aunque este tutorial tiene más de una década, sigue siendo una gran guía para programadores que no tienen ninguna habilidad artística para hacer un pixel art de aspecto decente rápidamente..
Si tiene una inclinación más artística, consulte el tutorial de píxeles de Derek Yu.
Este es mi artículo de referencia para los aspirantes a desarrolladores de juegos independientes que desean saber en qué se están metiendo. Está lleno de pequeñas citas como esta:
El diseño de juegos y el diseño de niveles son habilidades diferentes: uno es diseñar un sistema y el otro está trabajando en cómo presentar ese sistema de la manera más gratificante.
Dato curioso: en realidad usamos este artículo como una de nuestras guías de referencia cuando elaboramos los planes para Gamedevtuts.+.
En nuestra encuesta reciente, la selección más común para la parte más difícil de desarrollar un juego fue "terminarlo".
Aquí, Derek Yu enumera consejos prácticos para realmente hacer juegos. (El post también se dobla como una patada de motivación en la parte trasera!)
Danc explica su proceso creativo para crear excelentes juegos, incluido el importante proceso de creación de prototipos (y el proceso igualmente importante de deshacerse de las malas ideas).
Me senté con los desarrolladores. Hablamos. Jugué sus juegos. Me contaron sobre sus relaciones, sus pruebas y sus brillantes esperanzas. Honestamente, fue desgarrador. Tantos grandes juegos. Y, sin embargo, hay muchos modelos de negocios rotos, técnicas de producción rotas y filosofías rotas de lo que importa. El ochenta por ciento de los juegos que se muestran no recuperarán sus presupuestos de desarrollo.
Esto es más una guía de lo que no que hacer; Danc comparte los errores más comunes (y devastadores) que cometen los estudios de juegos independientes. Aprender de los demas.
No se olvide: además de publicar tutoriales de gamedev aquí, a menudo también compartimos lo mejor de la web en nuestros canales de Twitter, Facebook y Google+. También he creado una comunidad de Google+ para compartir artículos como estos. Si sabes de un gran tutorial que me perdí, házmelo saber!
También puedes ver la gran selección de fondos de juego y otros recursos de juego bellamente diseñados en Envato Elements.
Activos del juego en Envato Elements(Y, naturalmente, si ha escrito uno de los artículos presentados anteriormente, considere esto como una invitación abierta a escribir para nosotros ...)