#87 Depositad mil esfuerzos en darle feeling bestial a cada arma. Como amante de los FPS pido los mejores efectos de sonido para cada arma, screenshake, animaciones re-guapens, fogonazos más bestias y sonido de PFGRPGRPGRP acompañado de sangre al matar enemigos.
Venía básicamente a hablar de la iluminación que se ve en #87, pero ya estoy respondido.
En cuanto al funcionamiento de la escopeta, más mola, buen trabajo de los animadores. A ver que tal lo hacéis con los sonidos!
Pinta guay.
Lo único que os puedo recomendar es que en las opciones incluyáis:
- Selector de FOV numérico. (habrá gente que quiere 90º, otros menos.. más... etc).
- Selector de sensibilidad numérico. (y ya puestos, que sea misma "proporción" que un motor conocido como Source/quake).
- ¿Poder elegir entre diferentes mirillas? (gente que prefiere cruz, otros punto, color, tamaño... etc).
Desconozco si os habéis propuesto implementar bunnyhop en el juego, pero puede ser un gran acierto.
Pueden parecer chorradas, pero pueden estropear la experiencia de un buen juego.
#93 el selector de fov lo puso milkstone en el ziggurat (creo que era un slider) y lo agradecí muchísimo, por defecto me mareaba a saco, y me dio por mirar si se podia cambiar el fov, lo cambie y le di caña al juego. Recuerdo habérselo agradecido por tuitah
#92 por ahora el tema de los sonidos está apartado, aunque tenemos que empezar a mirarlo ya. No tenemos "departamento" de música/sfx en CremaGames así que todo esta area la externalizamos siempre, tenemos que ver con quién esta vez!
#93 gracias por las sugerencias
Lo del FOV lo tenía clarísimo desde el primer boceto del GDD que hice, es una cosa que he leído muchísimas veces y siempre que hay algún juego que lo deja tocar libremente lo agradecen mucho los usuarios. Por ejemplo Totalbiscuit que me trago muchos vídeos suyos siempre lo comenta. Mi idea en un principio es poner un mínimo y un máximo (a los puntos a los que ya el juego se empiece a deformar o a dejar de ser jugable) y que entre medias sea totalmente configurable, igual marcando o nombrando 3-4 puntos clave que nosotros designemos como las mejores experiencias con el juego. Aquí estoy algo pez porque no soy de tocar mucho las opciones de los juegos así que cuando nos pongamos con esta parte iremos preguntandoos
Lo de la sensibilidad también está apuntado en el GDD desde el primer boceto, aunque no había caido en lo de que mantenga la proporción de otros motores (source/quake), no se muy bien como partir aquí porque no creo que haya un valor fijo que pueda poner para que sea igual que en otro motor y hacerlo a ojo es tarea casi-imposible xD
Lo de las mirillas es buena idea, aunque lo veo muy complicado. Tal y como hemos planteado las mirillas son únicas por cada arma y están "tematizadas" con el juego, para que te hagas una idea aquí están las mirillas del revolver y de la escopeta (en breve os las enseñaremos in-game y en movimiento xD)
Teniendo en cuenta que cada arma llevará su mirilla, hacer versiones customizables va a ser un trabajo jodidamente enorme, igual lo que si puede ser interesante es hacer una versión simple solo con lineas y puntos para la gente a la que no le guste la versión "estilizada" que estamos usando actualmente...
Lo de las mirillas únicas por arma, es un currazo que mola mucho, y si son dinámicas en plan, hacerse grandes y pequeñas según si estás quieto, en movimiento, sería un buen punto para medir la precisión del arma.
#93 se me había olvidado lo del bunnyhop, también lo tenemos en el GDD, ahora mismo tenemos implementado el straferunning pero también meteremos el bunnyhopping
#98 Yo intenté implementar el bunnyhoop en Unity y se me resistió, si usáis alguna referencia de pseudocódigo o algo concreto al momento de implementarlo estaría muy agradecido, gracias!
Suerte!
Esa escopeta recarga d una forma muy rara ... No me mola nada.
Lo suyo seria recargar tras cada disparo doble, o poder disparar con un cañon y luego con el otro (y ya si juegas con el boton derecho e izquierdo del raton para cada cañon, la leche), amartillar ambos cañones es absurdo y recargar desde abajo igual.
Pintaza, aunque coincido con algunos comments anteriores en cuanto a que el logo con las vendas queda mejor porque ya da una "pista" de por qué ese "immortal".
#100 estábamos haciendo pruebas con la recarga de la escopeta, los tiros son dobles, ambos cañones disparan a la vez. En un principio para que la recarga no fuese muy lenta pensamos en hacer los cartuchos de cuatro en lugar de dobles, como esta en el video que os puse pero es cierto que queda raro y da lugar a confusión. Finalmente se ha quedado con que cada cartucho es doble por lo que te recarga solo un tiro y retocaremos los tiempos de recarga y demás.
Lo de los dos martillos las escopetas dobles de doble cañón funcionan así, que le ves raro? Lo de recargar la escopeta por debajo si que es una licencia que nos hemos tomado aunque también hay escopetas reales que se recargan así. De todas formas la idea es que las armas sean 'hand made' así que no tienen por qué asemejarse a un arma de producción real al 100%
Gracias por el comentario, se agradecen los comentarios con fallos y cosas raras para poder pulir todo más. A ver si pronto os puedo enseñar la recarga final y podemos debatir sobre ella xD
No se la procedencia de las armas in game, pero quizás que las armas o alguna en concreto tengan alguna clase de grabados en la parte metálica no quedaría mal a mi parecer, pero sin sobrecargarlo.
#102 Se amartilla para pasar al siguiente cartucho, si la escopeta es de un tiro, no tiene mucho sentido. La recarga por abajo se suele hacer pero me falta el desechar los cartuchos. Las armas de tiro único se suelen abrir, ya que no se amartilla, y aprovechas para sacar el cartucho y meter otro (menos componentes mecánicos)
Si queréis mantener ese movimiento, y estilo de arma, al menos yo haría un hueco arriba para que el cartucho salga disparado al amartillar, ahora no me queda muy claro de donde sale. ¿Del lateral?
Pero vamos, que a lo mejor es por la animación, que parece que se corta bruscamente.
#105 La versión 2 tenemos que hacerla con leds rosas en los ojos y una bengala de cumpleaños pegada detrás
Nuevo devlog, hablando de la arena: http://cremagames.com/blog/2015/10/16/sand-is-a-crucial-part-of-immortal-rednecks-appeal-devlog-4/
DevLog 4 - Arena
Como sabéis (o deberíais) Immortal Redneck está ambientado en Egipto. Aunque el Nilo tiene bastantes zonas verdes y sus aguas han permitido la prosperidad y dominancia de la civilización egipcia, todos sabemos que hay muchísima arena allí también. Si nos planteamos hacer un juego sobre un Redneck perdido en Egipto, incluso aunque los escenarios principalmente sean los interiores de las pirámides, necesitábamos una arena bonica everywhere. Eso es precisamente lo que hemos conseguido en estos últimos días.
¿Qué queríamos?
Una de las cosas que surgió como necesidad mientras diseñabamos habitaciones en Immortal Redneck era crear zonas elevadas con arena basadas en el terreno de la habitación. Esto es algo bastante sencillo de hacer con las herramientas de terreno, pero queríamos tener más capacidad de personalización y que fuese más fácil llevar esta arena a nuestras habitaciones. Aquí hay un par de ejemplos de las primeras pruebas.
No nos convencía mucho como la mesh del suelo y la arena combinaban. No parecía arena integrada en el suelo de forma realista, así que nos pusimos manos a la obra para crear un shader específico para hacer las transiciones más detalladas y suaves.
Shaders everywhere
Queríamos tener la habilidad de "pintar" las superficies con arena desde el propio Unity, para conseguir esto desarrollamos un shader que usar los Vertex Color para mostrar la cantidad apropiada de suelo y/o arena. No nos convencía la idea de usar el blend normal, así que configramos el shader para mostrar la textura de arena teniendo en cuenta el heightmap del suelo. La textura tiene una proyección planar de cara a ignorar el UV mapping y así que tilee correctamente.
Aquí tenéis el shader en Shader Forge:
Una pequeña demo de como funciona en vivo, así es como pintamos la arena en Immortal Redneck...
Y así como la borramos, en realidad solo estamos jugando con valores opuestos: negro para pintar arena, blanco para borrarla.
Teníamos un pequeño problema con el shader. Cuando el suelo y la arena pintada combinaban, la transición era bastante obvia, aquí tenéis un ejemplo:
El problema venía causado por las normales de los vertices. De la forma en la que funcionaban, las normales de la arena y el terreno no estaban alineadas en la intersección: las primeras apuntaban en la dirección en la que la geometría estuviese apuntando y las del terreno apuntaban en vertical dado que el suelo realmente es un plano horizontal. Esto era un problema debido a que necesitabamos ambas meshes funcionando en conjunto, así que la solución era crear una herramienta específica para igualar las normales. De esta forma, estarían apuntando en vertical en las intersecciones.
Sobre la herramienta
Carlos, nuestro lead programmer, creó la herramienta que necesitabamos y acabó creando dos modos en la herramienta: uno que cambiaba todos los vertices y otro que afectaba únicamente a los bordes. El último es el que estamos usando por ahora.
Primero intentamos cambiar todas las normales de los vertices, con eso conseguimos que la transición funcionase correctamente pero la luz se estaba comportando de forma extraña. Después de todo la cámara estaba "viendo" todas las superficies planas debido a que las normales en las mallas estaban apuntando verticalmente. Así que, nos tocaba adaptarnos de nuevo y eso es por lo que la herramienta también puede cambiar los vertices únicamente en los bordes de la malla. Como todo esto es un poco técnico, mejor os enseñamos en fotos lo que os intentamos explicar.
En esta captura tenemos todas las normales del suelo, como veis apuntando verticalmente.
Aquí las normales de la arena (antes de ser afectadas por nuestra herramienta).
Aplicamos el primer modo de la herramienta para hacer todas las normales verticales, como podéis ver la luz hace cosas raras.
Y finalmente usamos la herramienta únicamente en los bordes, de tal forma que la arena y el suelo apunten en la misma dirección únicamente cuando lo necesitamos y el resto de la arena se queda tal y como estaba.
Aquí podéis ver la diferencia entre los dos modos de la herramienta y los problemas con la luza.
Pintando la arena
Ahora que hemos explicado todo el rollo técnico, podéis ver lo bonica e integrada que queda nuestra arena pintada.
Y eso es todo por hoy, dentro de poco os hablaremos de las armas y las clases
TL;DR:
Vale la pena ShaderForge? En mi curro siempre me ha tocado programar a pelo los shaders, picando código como un cabrito. Entiendo , por las capturas que es un sistema de blueprints al más puro estilo unreal. Acelera los tiempos de desarrollo? o depende de la habilidad del programador? Se hace más con menos? Probé algo en su día el sistema de UE pero... en unity, a pelo xD
Que no paren los devlogs, muy buen curro!
#108 acelera mucho el desarrollo y merece mucho la pena. La ventaja que tiene es que no tienes que saber programar para hacer shaders, el shader que estás viendo y casi todos los que tenemos actualmente los ha hecho dvonio sin picar ninguna línea de código, ya te contestará él con su opinión
#109 Me pondré a curiosear, si os está valiendo mucho y además supone mucha aceleración, es algo a tener muy en cuenta.
Como sea la Tool definitiva me mosquearán tantas horas dedicadas al scripting de shaders;por su engorrosidad más que nada...
#107 Yo estoy trasteando con Shader Forge, y a partir de mi experiencia con Unreal Engine, estoy intentando hacer un shader parecido al vuestro, pero usando un canal más donde pueda usar también otra textura de agua para poder generar un blend bastante grande... podéis explicar un poco lo que tenéis montado ahí en shader forge? no se ven bien todos los nodos y me estoy haciendo un lio intentando entenderlo
#110 Es la ostia, se hacen shaders bastante rápido y sin tocar código (yo se 0.5% de código de shaders) lo bueno que tiene esque comparte similitud con el de udk/ue4, muchos shaders y documentación están para estos y se pueden usar en shader forge (algún nodo menos eso si), además el tío actualiza bastante a menudo y si le preguntas alguna cosilla te ayuda bastante.
#111 A que te refieres con usar un canal mas donde puedas usar otra textura, te refieres a tener arena y agua sobre un suelo de ladrillos por ejemplo?
básicamente lo que estoy haciendo son lerps usando de "máscara" los vertex color para enseñar una u otra textura ( si quieres añadir mas texturas es basicamente ir haciendo esto: http://acegikmo.com/shaderforge/wiki/images/6/65/Vertex-based-blending-example2.png )
pero si te fijas en el ejemplo este de arriba el blend que hace entre texturas es el tipico de opacidad de uno a otro y yo quería algo mas duro y que se basara en un mapa de alturas para poder meter arena entre las rajas de los ladrillos (que es lo que hace toda la parte extra que ves en el shader arriba a la izquierda), si abres la imágen en una nueva pestaña http://i.imgur.com/ZO5kU7g.png puedes ver el nombre de todos los nodos y las uniones, tiene mucha resolución, hay tantos nodos por que usamos PBR que necesitan (roughness, ambient occlusion y metallic) pero con que cojas la parte que va conectada a base color quizá te sea mas sencillo de reproducir, luego es cuestión de repetir el proceso con los distintos mapas que necesites), también esta la parte de la izquierda del world pos con un append que va conectado a los slot UV de las textura de arena para hacer un pequeño "triplanar, ¿uniplanar?" para no tener que remapear todos los terrenos para que encajen las texturas de arena.
Espero que sea eso lo que preguntaste jaja cualquier cosilla comenta sin problemas
pd: revisando el shader se me acaban de ocurrir un par de optimizaciones.. xD
El efecto es genial, muy buen curro y muy interesante leer todo el procedimiento de problema-solución que habeis seguido.
Solo añadir, que si consiguieseis añadir algunos puntitos sueltos de arena a la textura quedaria aun mejor!
Me encanta el proceso que habéis seguido explicando lo que buscabais y que problemas os han surgido. MUY MUY MUY interesante, espero que hagáis más así!
#112 Acojonante lo bien que te ha quedado, Gz!
Acabo de pisparme que tengo una app de sonidos vuestra en el móvil del año de la pana que ya ni está en la play store y además uso bastante xDDD
El hilo es genial y los post de desarrollo me encantan. Ojalá tengáis suerte.
Nuevo devlog, hablando de armas: http://cremagames.com/blog/2015/10/22/guns-guns-and-guns-which-will-you-choose-devlog-5/
Armas, armas y más armas - Devlog 5
Ya os prometimos traeros más armas, así que hemos estado trabajando duramente para ello. En un devlog anterior os hablamos de Grandpa, el revolver inicial del Redneck. Hoy os vamos a enseñar a Grandpa en más detalle y también os enseñaremos otras dos armas en las que hemos estado trabajando: la escopeta y la dinamita.
Grandpa, el revolver
Si habéis leído nuestros anteriores devlogs ya conocéis la trágica historia que hay detrás del arma más querida por nuestro Redneck, Grandpa. En cualquier caso, el revolver tiene un retroceso fuerte y es un arma bastante poderosa y versátil. Todavía estamos probando tamaños para los cartuchos que llevará pero seguramente contará con 10 o 12 balas por lo que será una de las armas básicas más usadas.
El diseño es bastante rudimentario, pero es algo intencional. La idea detrás de las armas de Immortal Redneck es que todas puedan haber sido creadas de forma rudimentaria, al menos las armas iniciales... Aunque el revolver tenga un aspecto raro, todos los componentes funcionan como en un arma real, los martillos, la forma de recargar y disparar, etc.
Grandpa ha sido el primer arma que hemos implementado en Unity así que le hemos dedicado bastante tiempo a dejar la configuración de armas perfecta para poder integrar armas nuevas más rápido, hemos tenido que revisar bastantes cosas desde la forma de disparar o las recargas hasta las mirillas y como se comporta la dispersión del arma al disparar corriendo o saltando.
Algunos concepts iniciales para que veáis las primeras ideas que tuvimos (la escopeta es la que había en el Mockup y está como referencia simplemente)
También hemos subido un modelo 3D a Sketchfab para que podáis gozarlo dando vueltas al arma y mirando cada detalle: https://sketchfab.com/models/6ff6933d869e4ec8a646098287c71ea2
Y aquí tenéis un vídeo del arma en acción disparando y recargando. Fijaos en la mirilla y como cambia en base a las acciones del jugador.
Mr. Tickles, la escopeta
Espero que estemos a la altura de Lark con lo que os vamos a contar ahora, os presentamos la segunda arma inicial del Redneck: Sr. cosquillas.
El nombre os puede parecer algo raro, pero es decisión del Redneck, no nuestra. Uno de sus primeros recuerdos es sobre su padre, su madre y su vieja vaca, Betty. Una noche se le pasó una idea por la mente, llevar a Betty a su cocina para servirse un vaso fresco de leche, pero la noche acabó con su madre usando la escopeta en el pobre animal tras entrar en pánico y noquear a su padre.
El ruido atrajo a nuestro pequeño e inocente redneck a la cocina y pudo contemplar la escena. Su madre intentó calmarle diciéndole que Betty estaba bien, simplemente descansando después de haberse reído mucho tras haberle hecho cosquillas con su escopeta.
Mr. Tickles hace bastante daño, pero tiene un rango muy corto. También obviamente cuenta con una dispersión bastante grande así que es una buena opción para cuando estás acorralado por varios enemigos y tienes que salir rápidamente. Al fin y al cabo no deja de ser una escopeta clásica: mucho daño, mucha dispersión, recarga lenta.
https://sketchfab.com/models/c54b6b43bf104f07aef0c801f5d56dcf
Ahora mismo está un poco desbalanceada, tendremos que ajustar los valores bien. Cada disparo es doble y por lo tanto gasta dos cartuchos, los cartuchos se recargan de dos en dos y todavía estamos decidiendo el número de cartuchos que tendrá como máximo, seguramente 6 o 8.
Dina la dinamita
Y por último pero no por ello menos importante, la bestia dentro de las tres armas iniciales.
Dina es el nombre que el Redneck le ha dado a sus cartuchos de dinamita, los cuales usará para volar a sus enemigos por los aires. Teniendo en cuenta que estamos intentando hacer un shooter árcade así que no le hemos puesto demasiados trucos a la dinamita, queremos que sea un uso simple: coger un cartucho, apuntar, lanzarla y reventar cosas. La distancia a la que llegue la dinamita dependerá del arco que hagas al apuntar y de la velocidad de movimiento del jugador.
Estuvimos planteándonos si la dinamita debería de explotar en las manos si la tienes mucho tiempo encendida, como sería lo realista, pero finalmente lo hemos descartado en pro del sentimiento árcade. La dinamita explota también en contacto con los enemigos, o por tiempo si no toca ningún enemigo por lo que es una estrategia a usar.
Seguramente os estáis preguntando por el nombre de la dinamita. El Redneck es un hombre de familia y tampoco se podría olvidar de su hermana Dina. Dina es una chica fuerte e impulsiva que se metía en problemas constantemente debido a su mal temperamento. En muchos aspectos se podría decir que Dina era una bomba a punto de explotar.
Sobre el mechero, es simplemente un souvenir que el redneck compró en el aeropuerto cuando llegó al Cairo. Esta vez no hay historias turbias detrás.
Aquí podéis verla en 3D y en todo su esplendor.
https://sketchfab.com/models/b46086ca4d764b4998a998fd7cee434e
Y aquí dentro del juego con nuestro querido redneck tirando dinamitas por doquier:
Muchas más armas dentro de poco
Lo que os hemos enseñado son las tres primeras armas. Grandpa, Mr. Tickels y Dina son las armas más básicas que tendrás en Immortal Redneck porque son las armas de la clase inicial.
Cada clase en Immortal Redneck tendrá sus propias armas, aunque también habrá otras armas que podrás recoger durante el juego. Los stats de cada clase y arma afectarán en la forma en la que juegas al juego, así que acabaréis teniendo vuestros favoritos y creando estrategias dependiendo de la que elijáis en cada partida.
Y para que vuestra imaginación pueda volar un poco más, mirad este artwork. ¿Os imagináis un látigo eléctrico en un FPS?