Super Rainbow Girl

kesada7

#30 Exacto es eso mismo que tu dices, el único problema que he encontrado como expliqué más arriba es que la gente no sabe que puedes hacer un doble salto y que por la mecánica del arcoiris no puedes forzarlo de ninguna forma a que lo descubran por sí solos, por eso pensé lo de los cartelitos en el level01 podía ser buena idea :)

1 respuesta
rageshow

#31 Ya va pillando ritmo esto, aunque la cámara me marea un poco, igual soy yo.

Respecto al doble salto, has pensado en dar el "power up" del arcoiris más adelante? así estas forzando a que se use el doble salto si o si (y se aprenda) y luego introduces la mecánica nueva, aunque entendería que quisieras el arcoiris desde el principio por que es la mecánica que lo diferencia un poco de otros plataformas.

1 1 respuesta
kesada7

#32 Pues la cámara espero que no termine mareando demasiado porque le he estado echando rato para ajustarla como quiero xD Lo último que le hice es que siguiera al personaje pero dependiendo de su posición para enfocar la parte del mapa más necesaria, por ejemplo en estás 2 imágenes vemos en la primera que el personaje está en la parte inferior de la cámara para ver la parte de arriba ya que más abajo del suelo no nos interesa ver nada y en la segunda imagen cuando estás en una zona alta pues enfoca un poco más hacia abajo para ver lo que hay, esto soluciona un poco lo que me recomendaron en su día de poder mirar hacia abajo pulsando un botón.

Lo del doble salto creo que al final ha quedado medio bien así con los carteles, ayer le dejé el juego a una amiga que tampoco tiene demasiado idea de videojuegos y lo entendió perfectamente.

Pero ahora tengo otro problema y es que no sé como introducir a explicar que el objetivo del juego es encontrar las 20 monedas de cada pantalla. La gente está demasiada acostumbrada a que las monedas es una cosa que pillas opcional, y que el objetivo del juego es llegar al final de la pantalla... y no sé que hacer. Sugerencias? Cambio la mecánica y pongo que las monedas son simplemente coleccionalbes que te dan puntos de score más valiosas que la fruta y el objetivo del nivel sea llegar al final¿? O pensáis que hay alguna forma de darle una vuelta y seguir como voy. Quizás cambiando las monedas por otra cosa¿? Estaba pensando que quizás por unas gemas y meterle un mini transfondo al juego con una pequeña historia, en plan que x malvados han robado las gemas del poder (most ambitious crossover ever) y en cada mundo hay que recuperar las gemas de un color, en el primero las verdes, el segundo las azules y tercero las rojas. Pero pfff esta opción ya me está metiendo en tener que meter una pequeña animación al principio del juego para explicar la mini historia o algo y para mi solo creo que se me va y vuelvo a lo simple...

1
kesada7

He metido un update en el que indico que puedes pasar de niveles directamente pulsando la letra "P" y así puedes jugar directamente niveles nuevos y testearlos sin tener que empezar siempre desde el principio.

2
2 meses después
kesada7

Hola? Sigue alguien por aquí?? xD

Bueno pues después de un tiempo voy a contar algo (sigue vivo). He estado haciendo cositas cuando he tenido ratos libres y ganas, sobre todo cosas más de arreglar bugs de las cosas que tenía y el rendimiento en móviles. En el hilo de unity comenté que estuve usando el Profiler de unity para hacer las métricas mientras jugaba directamente desde el móvil, porque tenía el problema de que en el móvil los fps pegaban un drop importante en el nivel 3. Lo dejo por aquí otra vez la screen para que veais, creo que se nota bastante donde paso del nivel 1 al 2 :sweat_smile:

Buenos pues el problema creo que es por tener demasiadas instancias de enemigos, a partir de unos 12 me empezaba a lagear, y bueno eso en mi móvil que es un redmi note 5 y es nuevo, lo mismo en uno más viejo va peor todavía no lo sé porque no he podido probarlo.

Puede parecer que 12 enemigos no son muchos, o al menos yo pensaba que en un juego 2D no, pero luego de mirar que cada instancia de enemigo hacía bastantes funciones como seguir un patrol, raycast, varias funciones como spamear la fruta, controladores de animaciones, más el update() de cada uno… pues vi que sobrecargaba la cpu muchísimo.

Lo que he hecho es desactivar todos los enemigos y los voy activando según entra en un ratio de la visibilidad de la cámara con OnBecameVisible(). Es una técnica que se usa bastante y creo que a mí me ha funcionado, por el momento consigo los 60 fps estables, eso sí en mi móvil, no he podido testearlo en uno más viejo.

Aquí una imagen de la forma en la que lo he implementado yo. Cada enemigo tiene un campo de visibilidad (cuadrado rojo), que si la cámara lo ve activa el enemigo, y si sale de su campo de visión lo desactiva.

2 1 respuesta
DaRkViRuZ

lo he estado probando y me encanta poco mas que decir ojala llegue el día que pueda hacer cosas así

totespare

#35 y has pensado en refactorizar y orientar algunas lógicas comunes hacia un sistema de sistemas (valga la redundancia) o managers, digamos? Te importa poner el código de uno de los enemigos? Si quieres, claro, y te doy algunas ideas para abstraer código y liberar memoria y procesamiento duplicado :P

1 respuesta
kesada7

#37 Pues puede ser que tenga cosas que se puedan hacer de alguna forma más óptima, sobre todo porque he ido programando todo sobre la marcha sin diseñar nada, y bueno ya se sabe lo que pasa xD

Para los enemigos tengo una clase padre que contiene casi todo lo que hacen, y luego clases hijos que según el enemigo pues tienen algunas funciones extras, por ejemplo el rojo con el pincho en la cabeza salta para atacarte si pasas por encima suya.

Si quieres echarle un ojo aquí tienes, he pegado el código en un editor online para que sea más fácil de leer (no hay que descargar nada)

Esta es la clase padre:
https://pastebin.com/RZRW65qJ
http://collabedit.com/cqan7

Y este es el enemigo rojo:
https://pastebin.com/VDGAvh9m
http://collabedit.com/2b2m3

1 respuesta
totespare

#38 ahora te lo miro lol, que se me olvidó xDDDD

edit: hala loco, has quitao el código y has puesto 2 penes? xD

1 respuesta
kesada7

#39 pfff que va no he sido yo, cómo es una web para compartir código pues podrá tocar cualquiera si no te logueas y das permisos. Lo voy a poner otra vez a ver si la gente no se aburre tanto... que se pasa por aquí y no comentan nada pero luego se entretienen en borrarme el código? xD

kesada7

@totespare ya está, a ver cuanto dura

1 respuesta
totespare

#41 pero usa un pastebin tio xDD

1 respuesta
kesada7

#42 pues si es lo mismo no? si no me creo cuenta cualquiera puede tocar... es que no lo he usado nunca, luego me creo una cuenta si eso, si era por no meter el código aquí directamente, cuando lo hayas visto me da igual si lo borran.

1 respuesta
totespare

#43 creo que no se pueden modificar una vez hechos ya, pero no me hagas mucho caso xD

1 respuesta
kesada7

#44 Va me he creado una cuenta de todas formas, y he editado #38 con pastebin pero he dejado los de collabedit también porque a mi me gusta más como está formateado el texto, me cuesta menos leer código ahí.

kesada7

Bueno al final he cambiado el objetivo del juego, ya no es encontrar las 20 monedas de cada nivel porque como comenté anteriormente las pruebas que he hecho me he dado cuenta que la gente tiene muy asociado que el pillar las monedas en los juegos de plataformas es algo secundario y opcional por lo que me costaba mucho de explicar que ese era el objetivo en este juego. Podría haber cambiado las monedas por otro tipo de item, con un trasfondo que tal vez hubiera ayudado, pero no me terminaba de convencer. Al final, o al menos por ahora ha quedado tal que las 20 monedas te dan un bonus de muchos puntos extras si encuentras las 20, y el objetivo de cada pantalla es encontrar a los pequeños "bloops" que han sido secuestrados y liberarlos.

3 1 respuesta
totespare

#46 pues molan mazo esos bichillos! Y es mejor objetivo bajo mi punto de vista, sip. Por cierto, las animaciones las estás haciendo tú?

1 respuesta
kesada7

#47 Gracias! Los bichitos y las jaulas si los he hecho yo tanto los sprites como las animaciones. No es que sean gran cosa pero meh.. han quedado decentes para poder usarlos xD

En el hilo antiguo de pixel art enseñé algún ejemplo de lo que estaba haciendo (ni caso a la avispa grande xD) https://www.mediavida.com/foro/gamedev/pixelart-el-mundo-del-pixel-446138/105#3138

2 respuestas
totespare

#48 pues está muy chulo tio, mis dies!

2
Ridote

#48 Te está quedando dpm. Has hecho tú todos los gráficos? Si es así, me quito el sombrero, está genial.

1 1 respuesta
kesada7

#50 Gracias! Pero no yo no los he hecho todos, empecé el proyecto por aprender las nuevas herramientas 2d de unity 2018 con assets de este señor y como me gustó como estaba quedando pues quise continuar el juego y ya empecé a hacer alguans cosillas según iba necesitando. Por ejemplo lo primero que hice yo en pixel fue el arcoiris y su animación, cosa que es muy sencillita. Luego fui haciendo algun enemigo, los botones, carteles y lo que mejor me ha quedado hasta ahora que creo que son los cofres xD Será como todo cuanto más practicas y más cosas hagas mejor te irán saliendo, pero aunque no me disgusta tirarme unos raticos con el pixel art no es algo que quiera perfeccionar, ya que es algo que necesitas invertir mucho tiempo y yo prefiero centrarme en programación, y lo otro pues bueno tomarmelo for fun para hacer estas cositas. La verdad que es una gran satisfacción personal cuando lo haces todo tú :grin:

1 respuesta
Ridote

#51 Pues mola mucho, te está quedando fetem. Mucho ánimo.

1
11 días después
kesada7

Lo puse en el hilo de pixel art, pero esta tarde he estado intentando animarlo un poco a ver que tal quedaba... algo así será el estado idle del primer boss

6 1 respuesta
Leos

#53 Esta muy guapo!!!

1
28 días después
kesada7

:fearful:

3 1 respuesta
B

Que bonito! Que usas para el engine (unity2d según dices en el anterior post, o has cambiado?)

y para el pixel art?

1 respuesta
B

#55 no desistas que tiene mucho mérito currarse todo, incluido el arte.

1 1 respuesta
kesada7

#56 Para pixel art uso Aseprite y si, sigo con Unity. Como ya te comenté en el otro post no deberías de tener ningún problema con las físicas 2d de unity para hacer un plataformas. En mi caso no estoy usando Apply force que preguntabas en el otro hilo sino modificando directamente sus velocidades dentro de unas propias funciones para manejar aceleración, velocidad, etc. y en caso de una pendiente que en este juego no las hay pues ahí haces ya lo que tu quieras.

#57 Espero en las vacaciones de navidad poder sacar más tiempo y motivación xD Pero vamos que si, este juego lo terminaré antes o después ya que creo que puedo dejar algo terminado y cerrado con un mínimo de calidad para luego hacer pruebas con el producto en el mercado Android e iOS, ya que me gustaría aprender y experimentar un poco concosas de marketing digítal como SEO y campañas de ads y ver que tan efectivo es, si es viable autopublicarse juegos en la store y hacer algo de dinero con ello, o es prácticamente imposible si lo haces solo al no ser que tengas muchas suerte y lo medio petes con un juego.

El problema de eso también está en que el baremo de medir no va ser tan fiable porque dependerá de la calidad del producto. En este caso yo soy consciente de que el juego es muy normalito tirando a :poop: Un plataformas sin mucha novedad (excepto por la mecánica del arcoiris tal vez) y que en dispositivos móviles no es el mejor mercado, pero bueno comparado con toda la mierda que hay en la store creo que ni tan mal xD Al menos intentaré que quede lo más púlido posible tanto visualmente dentro de mis posibilidades como en jugabilidad.

2 1 respuesta
B

#58 gracias por responder! en cuanto a lo de pixel perfect collisions, hasta que no hagas slopes (rampas) o cosillas mas complejas como plataformas curvas, para detectar colisiones X,Y no da problemas usar el engine prefabricado de unity2d. yo de momento estoy usando un collider escrito enteramente por un chaval q controla bastante (raycasts es mas que nada lo que necesitas, una vez tienes un sistema de raycasting es facil hacer el resto). la verdad es alucinante el codigo mandame PM si te interesa echarle un ojo

B

Me recuerda al rainbow island de master system

1 respuesta

Usuarios habituales

Tags