Consejos útiles

Econ amigo

Pin
Send
Share
Send
Send


El desarrollo de juegos de computadora puede ser realizado por una persona o la empresa (equipo de desarrollo). Los juegos comerciales son creados por equipos de desarrollo contratados por una empresa. Las empresas pueden especializarse en la producción de juegos para computadoras personales, consolas de juegos o tabletas. El desarrollo puede ser financiado por otra empresa más grande, la editorial. El editor al final del desarrollo se dedica a la distribución del juego e incurre en los costos asociados. El enfoque opuesto es tal desarrollo, cuando una empresa distribuye copias de juegos por sí misma (sin la participación de los editores), por ejemplo, mediante distribución digital.

El desarrollo de los juegos de mayor presupuesto puede costar decenas de millones de dólares estadounidenses, y en las últimas décadas [ cuando ] estos presupuestos han crecido constantemente, al igual que el número de equipos de desarrollo y los plazos de desarrollo. Entonces, a fines de los noventa, un equipo de 10 personas por año podría hacer un juego para la consola PlayStation para el cliente final, para PlayStation 2 (la primera mitad de la década de 2000) se necesitaba un equipo de 30-50 personas y dos años de desarrollo, para 2012 es Ya se trataba de equipos de más de 100 desarrolladores y un plazo de unos tres años. Según Alex Moore, diseñador de juegos en Sumo Digital, si el precio del juego para el consumidor final aumentara en la misma proporción, los juegos en 2012 costarían $ 1800, en otras palabras, recuperar los presupuestos aumentados mientras se mantienen los mismos precios en las tiendas, Los editores deben vender muchas más copias de los juegos.

Un juego de gran presupuesto para dos plataformas, Xbox 360 y PlayStation 3, costó un promedio de $ 20 millones en 2012, y para pagar, fue necesario vender unos dos millones de copias.

Roles

A principios de la década de 1980, después de que aparecieron las primeras computadoras domésticas y consolas de juegos, un programador podía administrar casi todas las tareas asociadas con el desarrollo de un juego. El desarrollo de juegos modernos requiere una amplia gama de habilidades y personal de apoyo. Para trabajar en un proyecto, se requieren equipos completos, que generalmente incluyen representantes de una serie de especializaciones.

¿Cómo crear un juego tú mismo?

Para crear un juego necesitas saber el lenguaje de programación, y ahora todos están en inglés, y son complejos, tienen su propia sintaxis, que también debes saber. Entonces te imaginas crear un juego, ¿verdad?

Por supuesto, casi todos los juegos de alto presupuesto se hacen usando uno de los idiomas clave, pero para un principiante, incluso esto no es necesario saberlo.

Existen programas especiales para crear juegos, uno de los cuales es Game Maker. Fueron creados específicamente para crear juegos (el programa se llama el creador del juego). Personalmente, trabajo en Game Maker y me permite crear juegos de muy alta calidad para cualquier plataforma, desde Android a iOS.

También puede aconsejar a Unity o Construir 2, como buenas alternativas.

Todas estas herramientas se están desarrollando, y para Game Maker Studio 2, la segunda parte ha sido lanzada recientemente, sobre la cual escribí aquí: ¿Qué hay de nuevo en Game Maker Studio 2? Revisión de GMS 2

Mi opinión personal es que Game Maker es uno de los programas más convenientes para crear juegos específicamente para principiantes, mientras que dominar Unity desde cero puede llevar mucho más tiempo.

Si elige Game Maker, entonces mi blog y mi canal lo ayudarán significativamente en su desarrollo, pero si se decide por Unity u otra cosa, también hay una gran cantidad de materiales educativos gratuitos de alta calidad en ruso.

En cualquier caso, la primera etapa (cero :) es la elección de un programa para crear juegos.

La primera etapa es el documento de diseño.

A continuación, debe crear un documento de diseño para el nuevo juego. En otras palabras, necesitas una idea para el juego. ¿De qué se tratará el juego? ¿Qué pasará allí? ¿Qué tipo de género será? ¿Cuánto tiempo y dinero llevará el desarrollo? Hay muchas preguntas de este tipo, y antes de comenzar a crear un juego, es muy útil hacer algún tipo de plan aproximado.

Aquí puedes encontrar cosas básicas sobre cómo escribir un documento de diseño para el juego:

  • Cómo escribir un diseño de juego de papel

Créame, sin un plan preliminar y puramente entusiasmado con una alta probabilidad de que no termine el juego.

La parte principal y principal de crear un juego es, de hecho, su creación, escribir código. Todo depende del entorno y del programa en el que crees el juego, sin embargo, en Game Maker y para los principiantes hay un sistema de drogar y soltar: arrastrar y soltar.

Un sistema similar no es solo en GM, sino también, por ejemplo, en editores de mapas y diseñadores para juegos populares. Por cierto, es con mods para juegos populares que te recomiendo que comiences a hacer juegos.

  • Donde comenzar el desarrollo del juego

Para hacer su primer juego desde cero, no necesita conocer el lenguaje de programación, solo use el sistema de drogadicción y caída, que se parece a esto:

Una característica notable de Game Maker Studio 2 es que todos estos elementos se descifran automáticamente en el código del programa que ve el desarrollador.

Esto le permite aprender gradualmente el código y pasar de la droga a la codificación.

Preguntas específicas como: cómo hacer un movimiento, cómo hacer un disparo, cuáles son los efectos y todo ese jazz que puedes encontrar en mi canal de youtube en forma de lecciones especiales sobre los conceptos básicos de la creación de juegos.

¿Cuánto tiempo lleva crear un juego?

La pregunta es compleja, todo depende de tus habilidades, de qué tipo de juego es y otros factores.

A veces, una persona con experiencia puede hacer un juego simple de teléfono en un par de semanas, a veces los juegos de calidad media son realizados por un pequeño equipo de varias personas en 6-12 meses, pero los proyectos grandes son realizados por grandes estudios y el desarrollo puede tomar 1-2 o más años, mientras que trabaja un equipo de 100 o más personas.

Según datos aproximados, la creación de un juego importante lleva unos 2-3 años para un equipo de 200 personas, si hablamos de proyectos serios como GTA 5.

Al mismo tiempo, no olvide que hay excepciones a las reglas. Notch escribió la primera versión de Minecraft en una semana y esta versión ya tenía la mayoría de las estructuras básicas. pero al final, el desarrollo tomó varios años, aunque a diferencia de GTA, un equipo muy pequeño trabajó en Minecraft, y los ingresos de Minecraft fueron muy serios.

Aunque esto es más una excepción, no una regla. Ahora la competencia es mucho más alta y estos proyectos súper exitosos y súper baratos parecen cada vez menos.

La tercera etapa - gráficos

Los gráficos generalmente se realizan en paralelo con el proceso de desarrollo y escritura de código, y generalmente es el individuo. Es muy difícil combinar el trabajo no solo de un programador, sino también de un diseñador, pero a veces se puede hacer solo, además, algunos proyectos no requieren gráficos de muy alta calidad o se toman fotos y sprites listos para usar.

  • Leer: ¿Dónde conseguir sprites para juegos?

Los gráficos y el dibujo son un proceso muy costoso.

En mi experiencia, si haces el juego solo, puede tomar del 40 al 60% del tiempo total dedicado a los gráficos. Esencialmente, para un desarrollador independiente, los buenos gráficos pueden duplicar el tiempo total que lleva crear un juego. Y si duplicar de 1 mes a 2 no da miedo, duplicar de 2 a 4 años es mucho.

Por lo tanto, se recomienda encarecidamente a los desarrolladores novatos que utilicen todas las formas posibles de obtener gráficos gratuitos (tal vez tomar un artista / diseñador como parte) o que el diseño gráfico sea mínimo como los primeros juegos.

En casos extremos, puede solicitar gráficos por separado en el lateral, mediante la contratación externa.

Sin embargo, si desea hacer todo usted mismo, hay muchas maneras de aprender a dibujar. Yo tambien estoy aprendiendo (comprado recientemente tableta) y para enseñar dibujo, puedo aconsejarle algunos buenos canales de YouTube:

  • Buenos canales de YouTube sobre Gamedev y Graphics

¿Cuánto tiempo lleva estudiar dibujo?

En general, como cualquier negocio, puedes y debes aprender toda tu vida, pero no hay límite para la perfección. Sin embargo, mira de nuevo mis dibujos.

Bueno, el horror no es directo, ¿verdad? Malo, por supuesto, pero no directamente aquí?

Bueno, dibujé esto con un mouse de computadora en un editor gráfico muy simple, y aprendí a dibujar durante 1-2 meses, dibujando 1 imagen por semana, como máximo.

Creo que en un año puede alcanzar un nivel muy bueno si dedica 1-3 horas al día a dibujar y estudiar la base teórica.

Tengo un video (16 minutos):

Selección de proyectos

Entonces, ¿por dónde empiezas? Es más fácil responder por dónde empezar no vale la pena, es decir, con grandes proyectos, como 3D FPS completo, MMO o incluso un juego de plataformas largo de la era de los 16 bits. El error más común de los desarrolladores novatos es comenzar con un gran proyecto basado en Cool Idea o tomar un proyecto que parece simple y terminar con un montón de código de espagueti a medio terminar. Inicialmente, se deben crear pequeños proyectos.

En los primeros proyectos, su objetivo principal es estudiar, no implementar Cool Ideas. Al mantener el proyecto pequeño, puede concentrarse en aprender nuevas técnicas, en lugar de perder mucho tiempo administrando código y refactorizando. A pesar del hecho de que su Cool Idea puede ser increíble, la realidad de la industria del desarrollo es que cuanto más grande sea el proyecto, más probabilidades hay de cometer un error en la arquitectura. Y cuanto más grande es el proyecto, más caro es este error. ¿Recuerdas la historia de Dédalo y su hijo Ícaro? Dédalo creó alas de cera y plumas para su hijo. Advirtió a Ícaro que no vuele demasiado cerca del sol. Pero Ícaro ignoró la advertencia y las alas se derritieron, y luego la gravedad lo alcanzó.

Por lo tanto, recuerde: no vuele demasiado cerca del sol en sus nuevas alas de programador.

Teniendo en cuenta todo lo anterior, aquí hay un par de consejos sobre dónde comenzar.

Gráficos y procesamiento de eventos

Si nunca ha programado nada relacionado con gráficos o una GUI, debe comenzar con algo pequeño para "mojarse los pies". Mi primer proyecto fue tic-tac-toe, por lo que incluso tuve un comienzo modesto. Un par de ideas para el primer proyecto:

  • Simulador de bandido de un brazo

  • Gato negro

  • Tic Tac Toe

  • Cuatro en una fila

El objetivo de su primer proyecto es pasar del desarrollo de la consola a las aplicaciones gráficas basadas en eventos. También te enseñará los fundamentos de la lógica y la arquitectura del juego. Recomiendo algo paso a paso, porque los juegos de movimiento son una bestia completamente diferente.

Intenta mantener el proyecto simple para que puedas completarlo y no perder el interés a la mitad, nunca termina el juego. Es importante completar el juego porque no estás aprendiendo el proceso de desarrollo si tienes varios juegos sin terminar en tu disco duro.

Hay un punto que quiero señalar a aquellos que harán tic-tac-toe o cuatro seguidos. No te preocupes mucho por la inteligencia artificial ahora. Hacer un juego para solo dos jugadores o jugar con una computadora que hace movimientos aleatorios es suficiente para empezar.

Si antes se ocupó del procesamiento de gráficos y eventos y se sintió cómodo en esta área, puede continuar directamente con el siguiente paso.

Sincronización, movimiento, colisiones, animación.

Ahora que ya tiene suficientes gráficos, es hora de hacer algo en tiempo real. Aquí hay un par de sugerencias:

  • Cacería de patos

  • Pong

  • Invasores del espacio

  • Galaga

  • Tetris

Aquí se familiarizará con el movimiento, el tiempo, la animación, la detección de colisiones, el ciclo del juego, el cálculo de puntos, las victorias y las derrotas y otros conceptos básicos importantes utilizados en cada juego.

Duck Hunt y Pong son buenos proyectos para aquellos que ya tienen experiencia en la programación de gráficos y eventos. Tienen detección de colisión simple y todos los conceptos básicos importantes de los juegos en tiempo real.

Space Invaders y Galaga son buenas opciones para el segundo / tercer proyecto. Tienen niveles, por lo que deberá aprender a moverse de un nivel a otro utilizando una máquina de estados. Puedes leer sobre máquinas de estados finitos aquí. Los juegos al estilo de "dispararles a todos" también requieren la creación de patrones simples de comportamiento para los enemigos, que es un paso hacia la inteligencia artificial.

Tetris es bueno para un segundo / tercer proyecto. Tiene muy poca lógica necesaria para crear un juego de rompecabezas. Este es un juego de tamaño decente, por lo que tendrás que aprender a dividir tu programa en múltiples archivos fuente, sobre los cuales puedes leer más aquí. No subestimes el Tetris. Subestimé y solo miré este desastre espeluznante en el código de Los bloques perezosos.

Reingeniería

Un error típico de un novato es intentar hacer el Mejor juego de todos los tiempos, terminando con la reingeniería. Es decir, cuando intenta escribir el mejor juego / motor y todo termina usando solo una pequeña parte de lo que se ha escrito.

Cuando era principiante, rediseñé la IA para el tic-tac-toe. Quería hacer un juego con IA invencible. Logré lograr esto mediante la programación de una computadora para conocer todas las trampas posibles. Suena bien verdad? Tomó casi 40,000 mil líneas de código mayormente copiado y un mes de mi tiempo libre.
Más tarde aprendí las estructuras de datos y aprendí sobre el algoritmo Minimax, que, con un tamaño de código más pequeño, no solo hizo lo correcto, sino que también lo hizo mejor.

Así que aprende de mis errores y no seas demasiado ambicioso. Concéntrese en aprender a hacer juegos, no solo en hacerlos.

Planificación, análisis de colisión, física, niveles, inteligencia artificial.

Ahora que tienes dos o tres juegos pequeños detrás de ti, es hora de hacer tu primer gran proyecto.

Hasta ahora, probablemente haya programado como debe. Terminará en este punto. En el mundo real, la mayoría de los procesos de desarrollo se completan antes de que se escriba la primera línea de código. Nada podría ser peor que darse cuenta de que para agregar a tu juego lo que quieres, tendrás que tirar todo el código escrito porque no planeaste todo por adelantado. Ahora que tienes experiencia creando juegos, sabes en qué consiste el proceso de desarrollo. Ahora puedes planificar los juegos antes de comenzar a hacerlos.

Ahora sobre tu próximo juego. Break Out y Puzzle Bobble son buenos para el tercer proyecto porque incluyen reconocimiento avanzado de colisión y física. La física es importante porque le da al juego una sensación realista. Incluso Super Mario Brothers tiene un sentido de gravedad e inercia. El billar es un excelente proyecto para aquellos que quieren forzar la circunvolución con la física.

En juegos como el billar, no solo debe detectar colisiones, sino también procesarlas en un orden específico. El manejo de colisiones es dramáticamente diferente de su detección. Aunque la creación de billar o un juego de plataformas en 2D puede parecer fácil, el análisis de colisión en el orden correcto es un proceso confuso y no debe subestimarse.

Break out y Puzzle Bobble también incluyen diseño de niveles y requieren cargar y liberar sus recursos. Crear un editor de niveles para el juego es una buena experiencia. Los editores le permiten crear niveles fácilmente y no los obligan a soldar en la aplicación. Tengo un artículo (ing.) Sobre la creación de un editor de niveles.

Es posible que también desee practicar escribir inteligencia artificial (IA). Una opción es volver al tic-tac-toe o cuatro seguidos y escribir una IA invencible. Ahora ya debe conocer las estructuras de datos y poder utilizar el conocimiento de los árboles para usar el algoritmo Minimax. Con este algoritmo, puede calcular todos los resultados posibles del tic-tac-toe y crear una IA invencible. Es divertido molestar a tus amigos con eso. También es posible que desee hacer diferentes niveles de dificultad. Un juego no trae alegría si no se puede ganar.

Pac Man es una excelente manera de practicar la escritura de IA. Necesitará conocer las estructuras de árbol / gráfico y los algoritmos de búsqueda, como A *, para que los fantasmas puedan atravesar el laberinto. También será necesario hacer que los fantasmas trabajen en equipo. Todo esto es útil cuando haces juegos con IA compleja, como estrategias en tiempo real. Puedes leer sobre los conceptos básicos de IA aquí.

Plataformas, Acción / Aventura, RPG, RTS, motores

Ahora que has adquirido la experiencia de crear un juego bien planificado, estás listo para crear una Acción / Aventura / Plataforma. Será la culminación de gráficos, movimiento, animación, análisis / detección de colisión, física, inteligencia artificial, arquitectura de software y todo lo demás que aprenderá en este momento. Para aquellos que son más ambiciosos, puede sugerir hacer una estrategia en tiempo real (RTS) o un juego de rol (RPG). Tenga cuidado, porque RPG y RTS son proyectos realmente grandes.

Los juegos de rol tienen una arquitectura compleja y requieren mucha planificación. Necesitarás planificar cada arma, armadura, accesorio, ataque, objeto, hechizo, invocación, enemigo, carta, jefe, mazmorra, etc. Hasta el más mínimo detalle. Todo esto debería funcionar en armonía, y para decirlo suavemente, esta no es una tarea fácil. Entonces, si su proyecto de diseño parece un guión o un cómic, deberá hacer más mucho trabajo

Los RTS también son arquitectónicamente complejos y también requieren mucha IA. Deberá realizar una búsqueda de la ruta de las unidades, recibir comandos por parte de ellos, diferentes comportamientos dependiendo de los comandos recibidos. Si nunca antes has hecho IA, sería mejor comenzar con el clon de Pac Man para comenzar.

Probablemente tendrás que hacer un motor para tu juego por primera vez. Lo que debe evitarse es la creación de un motor universal. Создавая движок не пытайтесь сделать его подходящем для любой игры. Если ваша игра требует x, y и z, делайте движок который умеет x, y и z. Движки создают исходя из того что нужно для конкретной игры, а не из того что любой игре может потенциально понадобится.

Другая распространенная среди новичков ошибка — это попытка создать движок в качестве первого проекта. И обычно это универсальный движок. Вам не нужен движок с фантастической графикой для создания Pong'а или Space Invaders. Программируя, легко закопаться в деталях. Концентрируйтесь на общей картине и завершайте свои игры.

Parece que todos quieren hacer el próximo gran MMO. Crear juegos en línea no es algo que puedas entender rápidamente. Me di cuenta de esto cuando intenté jugar póker en línea justo después de completar el tic-tac-toe.

Agregar una red complica mucho el juego. Cuando un jugador hace algo, debe enviar información al respecto a todos los demás. Es como si tu mano derecha no supiera lo que está haciendo la izquierda. También tendrá que elegir entre cargar el servidor y lo que puede controlar. Cuanto más hace la parte del servidor, menos oportunidades hay de engañar al cliente, pero esto también significa una mayor carga en el servidor. Para la acción y otros juegos de alto ritmo, tendrá que preocuparse por la latencia de la red y la pérdida de paquetes.

Debes terminar completamente al menos un juego bien planificado antes de intentar crear un juego en red. Como primer proyecto de red, intente hacer algo que no sea crítico para la velocidad. Por ejemplo, un simple servidor / cliente de chat sería una buena práctica. También puede volver al tic-tac-toe / four en una fila y agregar la capacidad de jugar en línea en ellos. Alternativamente, intente hacer una tarjeta de red o un juego de mesa.

Una vez que su primer proyecto de red esté listo, intente hacer algo en tiempo real. En su primera aplicación de red, probablemente utilizó TCP para asegurarse de que los datos que recibe lleguen en el orden en que los envió. Para los juegos en los que hay mucha acción, los retrasos creados por TCP probablemente serán demasiado grandes, por lo que tendrá que usar UDP. UDP no garantiza el pedido de entrega, así como la entrega en sí misma en general. Como UDP no realiza verificaciones de integridad adicionales, es más rápido. Tendrá que sacrificar la facilidad de usar TCP a cambio de la velocidad UDP y la necesidad de verificar independientemente la integridad de los datos al crear el juego.

Antes de hacer juegos en 3D, debe hacer al menos un juego bien planificado y tener una buena comprensión de las matemáticas vectoriales tridimensionales, la física lineal y newtoniana. Aquí tienes que lidiar con vértices, texturas, iluminación, sombras, determinar la interacción con objetos en un espacio tridimensional, cargar modelos y otras cosas que suenan difíciles.

La buena noticia es que si ya ha realizado 4 o 5 juegos, ya conoce los conceptos básicos necesarios para crear un juego. Ya estás familiarizado con el proceso de desarrollo y conoces tus habilidades como programador. No importa un tirador tridimensional o bidimensional, él sigue siendo un tirador. 2D RPG o 3D RPG sigue siendo un RPG.

No considere esto una excusa para saltear 2D e ir directamente a 3D. Antes de aprender a correr, debes aprender a caminar.

Mira el video: THIAGO ESTA LOCO AMIGO TENGO MIEDO (Abril 2020).

Pin
Send
Share
Send
Send