Buen día, principiante igrodely!
Desarrollador de juegos independiente, este es un soldado universal que tiene que hacer todo: escribir código, dibujar imágenes, esculpir modelos 3D, luego crear texturas para ellos y mucho más. Para cada tarea, necesita una herramienta determinada, e incluso gratuita si es posible, ya que un igrodel principiante tiene un presupuesto modesto. Sobre qué programas me ayudaron a acelerar el flujo de trabajo, lo diré debajo del corte.
Atención: esta publicación no es publicidad, es solo una lista de programas que me ayudan en mis proyectos.
Cuando pensé en desarrollar el juego, surgieron una serie de preguntas, a saber:
- qué motor usar;
- en qué programa escribir el código;
- en qué programa simular;
- en qué programa dibujar;
- en qué programa escribir música;
- costo de productos;
- etc.
En este artículo, no quiero criar un holivar sobre qué producto es mejor y cuál es peor, cada uno decide por sí mismo qué usar. Vamos!
Motor de juego

Para cualquier juego necesitas un motor de juego. El motor del juego es el corazón de nuestro juego, en él concentramos todas nuestras ideas, desarrollamos la lógica del juego y la interacción de los objetos del juego, por lo tanto, la velocidad de desarrollo depende de la conveniencia del motor del juego.
El mercado de motores de juegos está lleno de muchas opciones. Hay motores que están diseñados solo para juegos en 2D y solo para 3D, pero en mi opinión, Unity y Unreal Engine se consideran opciones más universales. Tienen todas las herramientas para realizar el flujo de trabajo y también tienen sus propias ventajas y desventajas. Probé ambos productos, pero elegí Unity para el proyecto actual. Quizás en el futuro intente hacer algo en Unreal Engine. Qué motor necesitas, la elección es tuya.
Guiones

Para cada juego, es necesario escribir la lógica de interacción entre objetos como controlar el personaje del jugador, hablar con un NPC, disparar desde un arma, abrir un cofre, etc. Cada motor de juego tiene herramientas integradas para describir la lógica de los objetos (escribir guiones).
En Unreal Engine, puede usar dos herramientas para describir la lógica, como blueprint y C ++. El editor de planos está integrado en Unreal Engine, solo ábralo y comience a organizar y conectar los nodos. No sé sobre el editor incorporado para C ++, no miré, escribí en los comentarios cómo están las cosas con el editor C ++ incorporado en Unreal Engine.
En Unity, toda la lógica se describe mediante un script de C # (antes de la versión mine 2017.2.x era posible usar JavaScript, pero ahora se recortó y solo quedó C #), el editor MonoDevelop incorporado se utiliza para estos fines, pero incluso en las últimas versiones de Unity este editor tiene una serie de inconvenientes y problemas técnicos pero es adecuado para escribir pequeños guiones.
También puede usar un editor externo como Visual Studio para escribir scripts. VS Community es gratuito, tiene IntelliSense potente y con Unreal Engine y Unity es muy compatible. Microsoft lanzó recientemente una versión ligera de Visual Studio llamada Visual Studio Code. VSCode también se integra bien en Unity, pero cuando traté de escribir código en él, tuve que personalizarlo constantemente para mí, esto es tanto un plus como un menos, por lo tanto, ya que he estado usando la versión anterior de VS durante aproximadamente 10 años, me he familiarizado con él. La elección es tuya.
Además, permítanme alejarme del tema y hablar un poco sobre la comparación de Unity y Unreal Engine. Cuando leo publicaciones y veo videos que comparan Unity y UE, muchas personas ponen negrita más UE por la capacidad de escribir código visual usando Blueprint sin conocer un lenguaje de programación. Mis pensamientos sobre este asunto: sí, es conveniente escribir el código organizando los rectángulos y conectándolos, PERO aprender un lenguaje de programación como C ++ y C # no es difícil y la mayoría de las veces se reduce a estudiar palabras clave, sintaxis y el concepto de OOP.
Cuando comienza a escribir un programa o juego, necesita estudiar la
API de un producto, por ejemplo, cuando escribimos un programa para Windows, necesitamos funciones para cargar y guardar un archivo en el disco, la API para trabajar con la red y mucho más, con los motores de juegos todo es igual , debes aprender la API. Por lo tanto, con blueprint tampoco puede alejarse de aprender la API de Unreal Engine. Antes de comenzar el desarrollo de juegos, escribí programas en C / C ++ y C #, por lo que la unidad fue más fácil para mí, pero cuando decidí probar el plan para mí, fue una búsqueda real con documentación en la documentación de los nodos necesarios. Y los nombres de las palabras clave difieren del lenguaje de programación estándar, por ejemplo: en C / C ++ / C #, la ramificación se realiza usando "if () else" y en el plano el nodo se llama "Branch", que es lógico pero no familiar. Al darme cuenta de que me tomaría un tiempo aprender la API de UE, pospuse esta aventura y regresé a Unity. Quizás para los principiantes, probablemente sea más fácil aprender UE.
Imágenes de mapa de bits

Bueno, es hora de diseñar la interfaz de usuario, expandir los botones y los campos de entrada, también necesita una buena imagen en el fondo de la pantalla de inicio, y si este es un juego en 2D, entonces también necesita un conjunto de sprites para personajes y niveles. Por supuesto, para la creación de prototipos de la interfaz de usuario, el conjunto estándar de controles integrados en el motor es adecuado, y paint.net también es adecuado para dibujar sprites simples, pero si queremos personalizar los controles o dibujar sprites originales, entonces necesitamos un potente editor gráfico.
Creo que todos estarán de acuerdo conmigo en que Photoshop es el líder del mercado en software de trama y hasta hace poco no había alternativas. Hurgando por la World Wide Web, me encontré con Affinity Photo y Affinity Designer. Affinity Photo es un análogo de Photoshop, pero con una interfaz bien desarrollada, todavía no lo he descubierto, por lo que no puedo hablar de sus puntos fuertes, pero Affinity Designer es un editor de vectores bastante potente e intuitivo. Después de ver un par de videos oficiales, pude dibujar un logotipo para mi programa, botones y sprites para el juego.
Otra ventaja importante de los programas de afinidad sobre Adobe es el bajo precio y el pago único sin una suscripción mensual, lo compré y lo uso.
También hay un análogo gratuito de Photoshop, GIMP, pero no funcionó para mí, realmente dañó su interfaz, pero para algunos es la mejor opción. La elección es tuya.
Por cierto! Todas las imágenes de esta publicación las hice yo en Affinity Designer.
Modelado 3D

Ningún juego 3D está completo sin modelos 3D. Necesitamos: personajes, NPC, armas para ellos, casas, pasillos cerrados, árboles, objetos del medio ambiente y cualquier basura. ¿Pero cómo hacerlo todo? Quizás muchos pensarán de inmediato, descargue 3DS Max y cuánto encajará, y tal vez tengan razón. 3DS Max y Maya son potentes herramientas de modelado 3D. Con su ayuda, se han hecho muchos juegos y películas hermosos. PERO somos desarrolladores independientes y no tenemos mucho dinero, y si miras la página de suscripción, cuando veas el precio, inmediatamente buscarás alternativas a ellos. Por supuesto, si eres un estudiante, entonces tienes una licencia gratuita, pero ¿qué pasa si eres una persona común que trabaja para un "tío" y decidió probar suerte en el desarrollo de juegos con el objetivo de recibir un reembolso en el futuro? Aquí hay opciones más baratas: MODO y Cinema4D también tienen todo para el flujo de trabajo, pero también muerden el precio, pero son más pesados que Autodesk.
¡En mi opinión, la mejor opción para un desarrollador independiente es Blender! Uso Blender de forma continua y tiene todo para crear modelos de juegos: modelado de polígonos, modelado de modelos de alta poli ala zBrush, retopología, escaneo UV, dibujo por modelo, aparejo, animación, horneado de texturas por modelo y muchas cosas útiles. Sin embargo, cuando abrí Blender por primera vez, no entendía cómo usarlo, tuve que mirar videos instructivos y leer libros, ya que tiene una gran comunidad y se puede encontrar un tutorial sobre cada pequeña cosa, después de que los dedos presionen los botones al modelar otra piedra o inodoro para su proyecto La elección es tuya.
Texturas

Entonces! Cegaste a las modelos geniales, hiciste una exploración UV, animadas, pero la modelo resultó ser totalmente gris, pero quiero que el personaje tenga ojos y boca, y botones en su camisa. Por supuesto, en Blender hay un editor incorporado para dibujar por modelo, pero es adecuado solo para modelos simples que no requieren buenos detalles. Por lo general, lo hacen en el estilo LowPoly, llenan los bordes con el color correcto y eso es todo, el modelo está listo.
Pero, ¿qué pasa si necesita hacer una textura de alta calidad, e incluso con un mapa normal, un mapa de sombreado, un mapa de reflexión, etc. Nuevamente, en una licuadora, todo esto se puede hacer, pero no es muy conveniente. Tuve que buscar en Google los programas necesarios durante mucho tiempo y encontré dos opciones, a saber: Quixel y Substance Painter. Quixel es una herramienta poderosa para crear texturas, pero funciona como un complemento para Photoshop y si, en la sección Ráster de este artículo, elige Photoshop como la herramienta principal para crear sprites para su juego, entonces esta opción es para usted, pero yo personalmente elegí un paquete de Sustancia.
Substance Painter viene como un programa separado en el que puedes crear mapas de textura de alta calidad para tu personaje dibujando materiales directamente en el modelo. El paquete con el programa viene con una gran cantidad de materiales preparados como piedra, madera, metal, cuero, plástico. Cualquier material se puede cambiar y personalizar de acuerdo con su deseo, así como una combinación de materiales, por ejemplo: pintar el barril con pintura, hacer marcas y repisas de óxido. Pero si no hay suficientes materiales o si necesita crear su propio material original, entonces el segundo programa del Diseñador de Sustancias vendrá al rescate en el que puede crear una obra maestra utilizando el sistema de nodos. Una cosa muy buena acerca de estos programas es que estos programas se integran perfectamente con Unity y Unreal Engine. Una vez creado el material de un "concreto dorado", simplemente transfiéralo a Unity y cuélgalo en el objeto. También hay un complemento para Unity con el que puedes ver todos los cambios en el modelo en el motor del juego con iluminación personalizada al dibujar en modelos en Substance Painter.
Y, sin embargo, el bollo de sustancias más importante, esta es la oportunidad en Steam de comprar un paquete independiente a un precio bajo que incluye tres programas con soporte anual a la vez: BitmapToMaterial, Substance Painter, Substance Designer. BitmapToMaterial le permite crear múltiples mapas de textura a la vez a partir de una textura ráster normal.
Sin embargo, ¡la elección es tuya!
Musica y sonidos

Bueno, hiciste todo, dibujaste sprites, hiciste modelos 3D, los decoraste, escribiste la lógica del juego, hiciste clic para jugar y ... silencio! Todo funciona, pero ni un solo sonido, disparando desde una ametralladora como en el vacío, no se escucha nada. Es hora de crear sonidos y escribir una pista genial para la que comprarán tu juego cerrando los ojos al aburrido juego :)
Ahora, si todo es aún menos simple con los sonidos, es suficiente hacer clic creativamente en el micrófono, luego en el Audacity gratuito puedes corregir el sonido de disparos desde un mega blaster alienígena, entonces con la música es un poco más complicado. Si tienes un rumor y deseas escribir tu propia canción, entonces FL Studio es una buena opción. El precio de FL Studio ciertamente no es pequeño, sino real. Por supuesto, puedes usar música gratis que está llena en la red. Y como siempre, ¡la elección es tuya!
Una breve lista de programas utilizados en este artículo.
- Motor de juego: Unity, Unreal Engine;
- Scripts: Visual Studio, Visual Studio Code, herramientas integradas;
- Imágenes ráster: Photoshop, Affinity Designer, Affinity Photo, GIMP;
- Modelado 3D: Blender, 3DS Max, MODO, Cinema4D;
- Texturas: Quijel, pintor de sustancias, diseñador de sustancias, sustancia B2M;
- Música y sonidos: Audacity, FL Studio;
¡Gracias a todos los que dominaron la lectura!