[Devlog] Bubble 2048

totespare

Objetivo

Como algunos sabréis, en una de las empresas a las que he echado CV, me ha mandado descaradamente hacer un clon de uno de sus juegos, concretamente de Bubble Pops (android e iPhone), con Unity3D y cualquier plugin que quiera utilizar (curiosamente lo que quieren es buen gamefeel y buen UX en lugar de buen código, aunque tampoco sobra). Así que he pensado que podría hacer el clon, pero no quedarme ahí, sino que intentar acabarlo bien y subirlo a la store de android, y clonar prácticamente todo (técnicas de ads, descripciones e iconos en la store, monetización... Y en aproximadamente 2-3 semanas. Esto será lo más chungo. No se si podré tenerlo en ese tiempo, quizá a modo de prototipo sin ads ni monetización ni nada... podría llegar, y será lo que les entregue, así que si necesito 1 o 2 semanas extra para que esté presentable, me las tomaré. No quiero dejarlo a medias y quiero aprovechar todo lo que el juego en sí (que es sencillo como él sólo) me da hecho (lo dicho anteriormente sobre cómo enfocarlo para intentar recibir pasta).

Descripción del juego

Básicamente es un Bust-a-move fusionado con el 2048, donde en lugar de colores en las burbujas, hay números que son las potencias de 2. Cuando dos burbujas con números similares se tocan, se unifican de tal manera que si tengo un 32 (25) con un 32, se suma 1 al exponente (26). Si hay más de 1 junta, se suma 1 al exponente por cada burbuja que se toque. Cuando se llena la pantalla, no pierdes, sino que se sube todo el grid de burbujas hacia arriba (y luego van bajando a medida que las destruyes). Lo más fácil es que echéis una partida al juego, la verdad es que a mi me ha gustado por su sencilleza y lo bien acotado y finiquitado que está.

Tareas a programar

En general, creo que lo que más me va a costar idear es cómo hacer el grid, esa parte tengo que pensarla un poco para que sea lo menos hecha a mano posible... Por lo demás, para la versión básica, tendré que implementar:

  • Lanzamiento de la burbuja
  • Rebote en las paredes
  • Colocación de la burbuja en lugares concretos (laterales, abajo y diagonales)
  • Unificación de burbujas similares (si hay dos en vertical, la de abajo siempre sube hacia arriba)
  • Dropeo de las burbujas que quedan sueltas
  • Movimiento de las burbujas en el tablero cuando hay demasiadas cercanas a la burbuja que se va a lanzar (y a la inversa cuando hay pocas)
  • Creación de burbujas aleatorias cuando no queda ninguna
  • Hitos (limpiar toda la pantalla de una jugada, al llegar a 2048 con una bola explota y peta a sus vecinos, al limpiar toda la pantalla de una jugada obtienes puntos extr...)
  • Sistema de puntuación y niveles
  • Sonido, animaciones y arte.

Nada más por ahora, ahora en un ratejo me pondré con ello, y veremos qué tal va quedando.

4
kesada7

Mira yo lo haría, pero a la hora de enviarselo le mandaba solo la build Standalone o el apk para que puedan jugarlo, y les dices que el código si quieren les mandas los scripts pero que ni de coña les mandas el proyecto, que el proyecto le has echado x horas y que es tuyo y si lo quieren pues que te paguen el "test".

2 respuestas
totespare

#2 sí, eso he pensado la verdad, no me parece ninguna locura, si veo que lo que termino es relativamente presentable, es lo que haré :D

starfucker

#2 O ni le manda la apk, les pasa el enlace a la play store y que lo prueben :joy:

2 1 respuesta
totespare

#4 me gusta todavía más esa idea jajajaja

1 respuesta
starfucker

#5 Asi ven que eres proactivo y ven tus otros proyectos (y tambien que se note que no te gusta que te mareen xD)

kesada7

Te imaginas que lo sube a la store y empieza a tener miles de descargas y tu eh chicos gracias por la idea del juego que os den mucho por culo xDD

1
B

A mi si me mandas el apk te lo destripo y veo el codigo

1 respuesta
totespare

#8 ya lo estuve haciendo y no encontré nada, pero ahora te paso el link y me dices si encuentras algo interesante :D

1 respuesta
B

#9

Ueee he subido de nivel

hahahaha no estáis a salvo

No pongo código por respeto ;...; Me voy a comprar cervezas que tengo que copiar un juego para la store

1 respuesta
unaifg

¿pero te han pedido eso en plan "prueba" para ver si te contratan?

1 respuesta
Ridote

@Lykaiast este es el devlog de tote

totespare

#11 sep.. xd

#10 vaya tela, ya estoy viendo todo el código xDD

1 respuesta
B

#13 Obfuscar es tu amigo. Que si no llego yo, te copio el juego y lo subo como si fuera mio.

1 respuesta
totespare

#14 y tan fácil crees que sería hacer un copypaste teniendo el código ahí mezclado? Me da mucha pereza hacer eso xD, con echar un ojo a como tiene picadas algunas cosas me serviría xD

totespare

Pues de momento lo que hice anoche es esto (hoy por la mañana no he podido darle, pero en un ratejo le daré e intentaré hacer el movimiento de la bola animado, en lugar de hacer teleport). Es un pequeño sistema de calculo de rebote con las paredes y posicionamiento de la burbuja que se lanza en función de dónde se apunte:

3 1 respuesta
AikonCWD

#16 ya lo tienes loco. Bravo, ahora a dejarlo bonito, animaciones y el tema de los colores y eso.

1 respuesta
totespare

#17 ojalá lo tuviera ya xD. Queda mucho aún... Sobretodo lo de que se junten las bolas y se sumen etc., pero en ello ando :D

1 respuesta
Ridote

#18 Parece que estás posicionando las bolas perfectamente por casillas, no te es más fácil lanzarlas con una dirección, que al tocar una pared cambien la x y que al tocar una bola o el techo simplemente se paren y ahí se queden? De esta forma tendrías la posición perfecta sin tener que alinearlas por "casillas". Y tardarías literalmente 10 minutos en programarlo. 20 como mucho.

1 respuesta
totespare

#19 es que eso podría derivar en un grid desajustado, no se si me explico. De todas maneras, lo que he hecho es coger la posición de la bola con la que choca, y meterle un offset fijo en X y en Y en función de si está chocando con un lateral u otro (4 posiciones, laterales perfectos izq y dcha y en la diagonal izquierda y derecha inferiores), por eso parece que son casillas, pero en realidad no hay ningún grid por detrás xD

1 respuesta
Leos

#20 Pero este tipo de juegos una parte de su jugabilidad es que si toca el lateral de una bola por ejemplo se quede enganchada ahí? No que se encaje perfectamente? Eso solo suele pasar cuando va entre medio de unas cuantas, creo recordar

1 respuesta
totespare

#21 a ver, las posiciones están predefinidas en todos estos tipos de juegos, si no se podría generar un grid loquísimo como vayas pegando las cosas por el punto de contacto xD. Dicho eso, concretamente el juego que estoy clonando, también funciona así, así que me toca hacerlo así. De todas maneras lo veo lo más lógico eh?

1 respuesta
Ridote

#22 Ah vale, yo tenía en mi cabeza un grid desajustado, no al revés. Pero si el juego que tienes que clonar es así, entonces perfect :ok_hand:

1
B

Pero asi asi o asi asi. Es que son varias manerad de decir asi

totespare

Avances de hoy: tengo al 50% la forma de juntar burbujas del mismo tipo, la animacioncilla bien hecha (de la bola viajando), y como veréis en el gif, al final los dos "32" no se juntan, eso es en lo que estoy currando ahora, pero no debería tardar mucho en hacerlo. También he metido un placeholder de dónde quedará la bola según donde apuntes:

2 1 respuesta
Leos

#25 Mola, te esta costando mucho? Te ha surgido algún problema inesperado?

1 respuesta
totespare

#26 pues de momento no muchos, lo que más me está costando es hacer todo el código lo más correcto y ordenado posible, me da muchísima pereza pensar en una arquitectura más modular y ampliable, así que supongo que me tocará refactorizar no dentro de mucho... Ahora estoy con lo de comprobar las burbujas cercanas para ir haciendo el efecto dominó, y se me ha ido un poco de las manos y estoy provocando algun stackoverflow que otro xDD, necesito un descansito y comer, que tengo hambre ya... jaja

1
totespare

Ya tengo reacciones en cadena para cuando una unión genera otra posible unión. Me falta que cuando haya más de 2 en línea, se sumen todos, y que los que queden colgando se destruyan, que tengo un bug ahí raro y no me funciona...

Mañana más!

2
totespare

He estado dándole un poco esta mañana, y ya tengo el tema de destruir las burbujas que quedan colgando. Tengo que ver bien cómo hacer si voy a dejar un techo donde puedan estar siempre puestas o qué, porque de momento el techo no es 100% un anclaje para las burbujas...

Lo que tengo que hacer por ahora:

  • Ver qué hacer con el techo
  • Resolver un bug por el que puedo poner varias burbujas en el mismo sitio
  • Que si se juntan 3 o más burbujas del mismo nº, se sumen todas, y no sólo de 2 en 2
  • Añadir puntuaciones
  • Añadir un spawner automático de burbujas
  • Vestir el juego con sprites y sonido

3
7 días después
kesada7

Has conseguido algún avance más?