Pixie , Pixel Cube, Puzzle Plataformero, mi primer proyecto!

UnLiMiTeD

Buenas gente, voy a resumiros un poquito como llegue hasta aqui.

Llevaba ya tiempo pensando en querer desarrollar videojuegos. Mis conocimientos de Programacion han sido nulos, absolutamente ninguno, asi que mi idea mas bien era montar un equipo y dirigir un proyecto, pensando que tengo buenas ideas para ello ( lo mas probable es que no sea asi xD ). Despues de toparme con varios muros al respecto, deje pasar un poco todo ese "sueño". Algunos amigos me decian que por que no me ponia yo a aprender a programar y lo hacia, y yo les decia que ni de puta coña, que programar es un mundo y yo ya tengo mis 36 añazos como para ponerme a ello, era algo impensable para mi.

Hace poco mas de 3 meses encontre en un link un curso de Unity subvencionado por la Comunidad de Madrid. 300h durante 3 meses. Hice el examen para ver si era apto y aunque quede en la reserva, hubo una baja y pude acceder. Asi que aqui estamos, terminando el proyecto final que hay que presentar en el curso.

¿Como vino la idea?

Bueno, vamos a lo que vamos. La idea la tuve hace cosa de un par de meses, hacer un juego de puzzles + plataformas. La idea era sencilla, el personaje es un cubo que rotando sobre si mismo, va moviendose por el mapa y debe de ir resolviendo distintos puzzles. Al principio tenia la idea de que este cubo pudiera ir cogiendo diferentes items que le dieran utilidades, pero al final por falta de tiempo y en parte de conocimientos al principio para llevar a cabo tal cosa, lo simplifique un poco.

Historia

El protagonista del juego es Pixie, es un pixel que se ha "perdido" y quiere encontrar de nuevo a sus amigos, otros Pixeles, y para ello debe de recorrer un mundo lleno de puzzles y trampas.

¿De que va?

Las mecanicas son sencillas, un unico boton de movimiento ( W ) y los clicks del raton para rotar su orientacion. Pixie al principio tiene un color negro "neutro". En el escenario hay distintos elementos con los que interaccionar. Uno de ellos son los puentes. Los puentes pueden tener 3 colores distintos, Rojos, Verdes y Azules. Para que Pixie pueda activarlos y cruzarlos, necesita tener el color correspondiente al puente. En el escenario ira encontrando distintos items, como "pixeles" que le confieren colores a Pixie para poder cruzar esos puentes. Pixie tiene un numero limitado de movimientos en cada mapa, y este se podra ir incrementando con gemas que recoge durante el recorrido del mismo. Las gemas tambien dan puntos, Pixie puede llegar a la meta sin cogerlas todas, pero cuantas mas coja, mas puntos tendra en el resultado del nivel. La camara puede rotarse con la letra Q y E para ayudar al jugador a ver gemas que puedan estar escondidas o para entender algunos puzzles desde otros angulos.

Como dato inutil pero que me mola, es que no he usado ningun Asset, tanto diseño como graficos esta hecho por mi. La mayoria del codigo tambien pero compañeros de clase me han ayudado muchisimo con los problemas y dudas con los que me iba encontrando. Bueno, miento, los paneles del UI si que son de un asset xD

Para la practica el juego debia ser para PC, pero mi idea es una vez terminado para la practica, seguir trabajando en el y sacarlo para Android y toda tienda de APP donde pueda subirlo.

imagenes

Ire actualizando por aqui los avances que vaya implementando. Un saludo!

10
Hukha

El arte, todo tuyo?
Te ha quedado majo majo

1 respuesta
UnLiMiTeD

#2 Sep, modelado en Blender, que la verdad es que los objetos ni tienen mucho misterio. Luego abusando un poco del reflect probe, supongo que para cuando lo pase a Android voy a tener que recortar xD

1 respuesta
Hukha

#3 Creo que el resultado final visual es muy bueno.
Las mecánicas parecen solidas, como has hecho el movimiento del cubo? Son animaciones a palo seco o movimiento scripteado?
Si eres artista pásate por mi Devlog, a ver si se te ocurre alguna idea maravillosa en cuanto a la estética de mi mierda xD

1 respuesta
UnLiMiTeD

#4 Es scripte el movimiento. Busque varias formas para hacerlo y finalmente decidi que por script. El cubo es un girigai de cojones, ojo:

Me encanta mi mezcla de spanglish xDD

No soy Artista, tengo alguna nocion basica, antaño si que le di mas al 3dMax, pero nunca me considere buen artista asi que lo deje. Creo que lo que mejor se me da es diseñar ideas, por eso me esta encantando aprender programacion, por que puedo diseñarlas y ejecutarlas, i love it!. Aprender a programar es algo que siempre me impuso mucho y nunca me atrevi a dar el paso.

2 respuestas
Hukha

#5 Creo que ya pillo como lo haces. Tienes siempre objetos en esas "direcciones" del player para usarlos como punto de referencia, no?
Por si quieres dejarlo aún mas pulido, todo eso podrían ser cálculos desde la posición del player y te ahorras muchos objetos.
Después, te recomiendo que vayas "seccionando" en clases los metodos que vayas a usar para no tenerlo todo a saco en el player.
(Te digo todo esto por que arriba dices que lo hiciste para aprender a programar y todo lo que te he dicho es organización nada mas)

1 respuesta
UnLiMiTeD

#6 Si, si esta claro que en organizacion y en mil cosas me queda un mundo. Mi codigo debe ser ... no se, pulible a un 90%. No tengo ni un maldito Array, aun no los controlo y no se bien como funcionan.

Como dices, el objeto "ContPlayer" que contiene todo, siempre esta en el mismo sitio y el cubo lo usa como referencia para rotar en los pivotes "Forward", "Back" etc... Algunos van emparentandose y desemparentandose ... bueno, que cojones, te dejo aqui la corutina xD :

IEnumerator MoveForward()
    {
        for (int i = 0; i < (gradosGiro / stepV); i++)
        {
            VolverAlCentro();
            player.transform.RotateAround(forward.transform.position, transform.TransformDirection(Vector3.right) * Time.deltaTime, stepV);
            yield return new WaitForSeconds(speed);
        }
        center.transform.position = player.transform.position;
        StopCoroutine("MoveForwardUp");
        input = true;
    }
1
kesada7

La estética es sencilla pero queda guay, así en plan espacial. Tienes una demo jugable para probarlo?

#5UnLiMiTeD:

Creo que lo que mejor se me da es diseñar ideas, por eso me esta encantando aprender programacion, por que puedo diseñarlas y ejecutarlas, i love it!.

Además de que iras aprendiendo también más sobre diseño y que lo difícil no son tener ideas (mucha gente tiene ideas buenas), sino ideas que puedas ejecutar xD

1 respuesta
UnLiMiTeD

#8 Bueno, tengo 2 niveles diseñados ( bueno, diseñados... un poco simplones, cuando me ponga en serio para sacarlo a Android si echare horas en el diseño de niveles ). Nunca he buildeado para web, y supongo que evidentemente se necesita donde subirlo, y no tengo de eso xD

Amén de que aun hay algunos bugs de deteccion con los raycast y cosillas por el estilo, pero vamos, si me decis algun lugar donde pueda subirlo ( son unos 120mb ) lo subo y lo probais.

1 respuesta
B

Muy interesante, felicitaciones.

Buena mecánica para integrar en móviles.

kesada7

#9 No tiene mucho misterio subirlo a web, desde unity cambias la plataforma (haz una copia antes por lo que pueda pasar) y luego lo subes a itch.io

2 respuestas
UnLiMiTeD

#11 Estoy mirandolo a ver. ¿Como lo subis en el apartado "Kind of project"? HTML file that will be played in the browser?

UnLiMiTeD

#11 Bueno, mañana me vere bien algun tuto, por que algo he debido de hacer mal. Cambie la plataforma, buildeé, sin ningun error, y al ejecutar el html me suelta esto despues de aparecer el logo de Unity.

Ademas me parece algo extraño que el Build para Windows sean 110mb y el de WebGL solo 20mb.

1 respuesta
B

#13 Abre la consola del navegador... en chrome con ctrl + mays + i

Con la consola abierta refresca con F5 y pasa captura...

1 respuesta
UnLiMiTeD

#14 Estoy viendo como habilitar webgl para Chrome, que veo que por defecto no deja.

Listo desde Firefox.

1 respuesta
B

#15 eso parece una captura abriendo desde tu pc, no desde el servidor web.

No la abras sin usar un servidor.

Repite la operación pero desde la web... o haz un build & run desde el editor.

Cuando ejecutas el build & run puedes verla en funcionamiento porque Unity habilita un servidor temporal en local...

Vuelve a hacer la captura pero desde un servidor...

1 respuesta
UnLiMiTeD

#16 Aha, si, ya me parecia a mi que en ese pantallazo poca cosa habia respecto al tema. Que no lo abra sin usar un servidor?, entonces si no es desde build&run como lo abriria en el PC?, por que en itch.io no me dejo subirlo, dio un error, imagino que por la misma razon que no me funciona...

Voy a switchear de nuevo, que lo volvi a poner para windows y hago un build & run.

UnLiMiTeD

Esta vez creo que si se ve en consola el/los problemas. Aunque no entiendo ni papa.

No se si funca o no, a mi no ... pero me ha dejado subirlo. Estoy bastante pegado en esto, a ver si me pongo a ello xD

1 respuesta
AngelRc

#18 Puedes poner que haga falta una key para entrar.

Para que te deje ponerlo en itchio tiene que ser un .zip que a mi me pasó la primera vez. Simplemente debería ser buildearlo para html5 sin hace nada más y comprimir la carpeta... luego que sea algún problema del proyecto en si...

1 respuesta
UnLiMiTeD

#19 Pues algun problema debe de haber... con build & run tampoco me funciona, mismos errores. El Lunes en clase lo consultare con el profesor a ver... salvo que este finde averiguemos por aqui cual es el problema xD

Un Zip o un rar, no?, o debe ser Zip si o zip? , digo si o si?

Vale, compruebo que si es importante que sea ZIP xD

Lamentablemente despues de la pantalla de carga, en itch.io , mismo error:

Asi es como tengo los settings. YA SE que hay que cambiar Linear a Gamma, no lo hago ahora por que volvi a ponerlo para Windows. Excepto eso, lo demas si esta tal y como hice la build para WebGL.

PD: ¿Podra ser el postprocessing?

1 respuesta
UnLiMiTeD

Bueno, he probado a buildear solo una de las escenas y lo hizo. Aunque la calidad esta a años luz de lo que es el proyecto en unity.

EDITADO: He quitado el link por que no me gusta nada como se ve, el Lunes mirare al respecto y a ver si puede verse mejor o como de limitado es WebGL, pero es que quita toda la jugabilidad el hecho de que no se vean los colores en las plataformas que activan los puentes.

1 respuesta
Hukha

#21
Quitando eso, el juego va muy bien y se ve muy bien :O

1 respuesta
UnLiMiTeD

#22 Jajaja, lo que se ve es un bugazo que me acabo de dar cuenta, cuando atraviesas ese cubo xD

Tenia puesto un collider viejo, el raycast no funcionaba bien, ya lo solucione xd

Yo creo que cuando lo pula bien y haga varios puzzles interesantes, podria funcionar y vender al menos 5 o 6 copias en Android!

Ire agregando mas mecanicas al juego, tengo bastantes cosas en la cabeza, y creo que el hecho de que tenga unas mecanicas sencillas y muy buenas para plataforma movil, deja muy abierto el ir agregando cosas nuevas para interactuar y para crear puzles.

si consigues llegar a la meta con la limitacion de no ver los colores... te invito a algo xD

2 respuestas
Hukha

#23

#23UnLiMiTeD:

Yo creo que cuando lo pula bien y haga varios puzzles interesantes, podria funcionar y vender al menos 5 o 6 copias en Android!

Empiezas mal, Android = gratis. Los juegos de pago en Android, excepto famosos, venden 0 xD
Pero si, le veo potencial en Android.

1 respuesta
Hukha

#23 Me debes una cerveza o algo.
Me lo iba pasar creo, iba bastante adelante, se ha bugueado y he atravesado un bloque y me fui a la puta
EDIT: No se si es por ser WebGL o no, pero las flechas que indican tu dirección no se ven a no ser que rotes, lo que es molesto.

1 respuesta
kesada7

#24 gratis y con anuncios, muchos anuncios, cada vez que el cubo gire un anuncio...

1 respuesta
Hukha

#26 xDDDDD, cada vez que pilles un Color, anuncio, respiras, anuncio, así va, si.

UnLiMiTeD

#25 es por el webgl, sip, la flecha que te indica tu dirección no va bien.

Me voy pa la cama, mañana más y mejor!

macthet

Caballero, le está quedando un juego bastante entretenido.
Te recomiendo la opcion de Free, con opciones ingame tanto para donar cantidades custom como el habitual banner no demasiado intrusivo de publicidad.

Ya, si te piensas entrar en el despiadado sistema del juego limitado por x tokens al día, la monetización podía ser relevante a lo que el juego sea medianamente adictivo. Eso sí, pasaras a engrosar la lista de juegos cuyo sistema de juego limitado uso como ejemplo para demostrar que android no merece ser llamada plataforma de videojuegos

1 respuesta
B

#20 desmarca el "strip engine code" y en Publishing Settings pon Enable Exceptions a Full

La captura de la consola mejor completa, no solo las primeras líneas....

1 respuesta