/gamedev/ Taberna de borrachos, ahora con menos usuarios aun


EVENTO ACTIVO:

https://www.mediavida.com/foro/gamedev/mv-cartridge-game-jam-iii-710070
AikonCWD

ridote ha soltado un puño sobre la mesa

AikonCWD

Bueno, yo sigo haciendo mis juegos y mis mierdas.
Después de terminar con los automatas celulares, quiero hacer este minijuego para practicar un poco:

Esto es lo que llevo de momento, que aunque parezca poco, tengo ya todo el core terminado. Aquí no se aprecia ni el gameplay ni las reglas del juego, es solo un mockup para ver que la GUI me funciona bien, los bloques, el cursor, etc...

Se tratará de un juego muy sencillo, de rapidez. Apilar 3 o más bloques iguales para eliminarlos. Los bloques nuevos aparecen en forma de fila por la parte inferior. Haré diferentes modos de juego y posiblemente scores online. La idea la he tomado de un cartucho de pico8 que vi hace unos meses y me gustó por lo simple que es y divertido.

Quizás esto sea lo que haga en Vircon32. Todavía no lo he decidido ya que ahora mismo no sabría trasladar este código a C++ sin romperme las pelotas.

3 3 respuestas
Ridote

que les follen a todos, putos negros

3
r2d2rigo

#3992 y los bloques como los mueves? Adyacentes o a cualquier lado? Me recuerda mucho al Jewels.

1 respuesta
AikonCWD

#3994 Imagina una pinza que baja en vertical y pilla el bloque seleccionado. Luego lo dejas caer en la columna que quieras.

1
carra

#3992 Muy bien, ahí te veo probando ideas para Vircon :grin:

1 respuesta
AikonCWD

#3996 el problema lo voy a tener con el lenguaje xd. Literalmente no se hacer un bucle for en C sin mirar google. Es que ni recorrer un array

2 respuestas
Ridote

#3997 No es problema porque es igual en otros ochenta lenguajes. Y mirar en google no es nada malo, cuando programas en 5 lenguajes a la vez por proyectos personales o llevas sin programar en uno al final tienes que ir y mirar sintaxis porque se te olvida. Es lo de menos, aunque tardes 20 segundos en mirar el ejemplo en google.

1 respuesta
Ridote

He borrado medio comment porque os lo ibais a tomar como que te andaba atacando, pero es más importante aprender a usar los bucles que saber cómo escribirlos en un lenguaje concreto y no lo digo de malas. Por ejemplo, anidar cuatro bucles con un switch de por medio normalmente, que no he mirado el código a fondo igual los necesitas, pero normalmente, no necesitas tanto bucle ahí.

1 respuesta
carra

#3997 Te recomiendo que leas mi guía del compilador, cubre lo básico del lenguaje y te puede servir como referencia (aparte de ver ejemplos)

1 respuesta
AikonCWD

#3998 #3999 Ya bueno. Esas cosas en mí van a ser complicadas de solucionar. No soy programador, ni he estudiado programación, ni trabajo programando. Vosotros que os dedicáis a programar (aunque no sea gamedev) tenéis una base que yo no tengo ni me enseñaron en su día :(

Sobre el ejemplo concreto, puse un array de 4 dimensiones porque quise usar un mismo array para todo (los 2 primeros ejes para las posiciones de los sprites y los 2 últimos para los píxeles de cada sprite). De ahí que una vez iterado los 2 primeros ejes, use un switch para saber que tipo de mirror se ha seleccionado.

matrix[pos_x][pos_y][pixel_x][pixel_y]

Supongo que se puede hacer de otra forma mejor, pero es que el problema que tengo es que me planteo algo en mi cabeza de una forma que yo "lo veo y lo entiendo" y lo plasmo así en código. Siendo la mayoría de veces burradas que no debería haber planteado así, pero que no soy capaz de implementarlo diferente a como me lo he imaginado.


Sobre el juego de los bloques, voy así ya:

Ya funciona el core y detecto eliminaciones de 3, 4 o incluso 5 bloques de golpe. Me falta implementar gravedad y encadenar combos.
Bueno, y me falta todos los efectos, partículas, sonidos y música. Dios que palo, lo quiero abandonar ya.


#4000 Mañana que es viernes y solo tengo un meeting, me lo leo a ver que tal :)

1 3 respuestas
Kalgator

#4001 Mola!, te hace falta gravedad?, o crear una animación con el tween ese y arreando xd

1 1 respuesta
AikonCWD

#4002 Sip, me falta poner la gravedad y calcular combos. No hay tween ya que no hay objetos. es todo un array y visualmente lo "pinto" sobre un tilemap. Ya veré si no termino borrando todo y haciéndolo con objetos independientes xd

Ridote

#4001 No son burradas, son más o menos eficientes, pero si funcionan burradas no son. Y aunque no hayas hecho la carrera se pueden aprender cosillas y mejorar en la calidad del código, por eso te digo, no lo digo de malas, pero yo le daría caña a eso aunque sea poco a poco. De todas formas, para algo que vas a generar sin prisas y que son sprites pequeños, te da igual. Pero implementando otras cosas es posible que te encuentres con una latencia enorme o que tarde en ejecutarse el código minutos o más.

Y también dije, igual en este caso es posible que te hagan falta cuatro, no digo que no. Pero llama la atención ver tanto bucle anidado.

1
carra

#4001 Por el uso que le das a las 4 dimensiones entiendo que te lo estás dibujando todo pixel a pixel entonces? Si utilizas sprites o tiles no te sería necesario ir al nivel de pixels. Aunque sí, poderse se puede hacer de esa forma.

1 respuesta
AikonCWD

#4005 Sí, cada sprite es en realidad un array[8][8], que se rellena random y luego copio los pixeles del lado derecho al izquierdo para hacer el efecto mirror. Ni hay sprites ni tiles en mi ejemplo.

thenanox

#3992 se me hace raro que la fila salga abajo si se coloca arriba

1 respuesta
AikonCWD

#4007 ese gif está mal, mira el segundo

1 respuesta
thenanox

#4008 ok mis dieses, hice la tipica lectura mientras respondia. ahora me encaja. aunque dada la anchura y numero de colores, puede ser que sea muy facil? iran saliendo colores nuevos?

1 respuesta
AikonCWD

#4009 los colores serán esos 5. La idea es que sea fácil y puedas hacer varios combos sin pensar, dentro del tiempo dado.

1 respuesta
carra

#4010 Aunque te recomendé leer mi guía, le he estado echando un vistazo de nuevo y no estoy seguro de si va a ser lo mejor para ti, la guía está un poco más orientada a quien ya ha visto algo de C antes. Está bien que la tengas como referencia (porque me desvío un poco del C estándar en varias cosas), pero voy a ver si puedo crear una especie de "guía rápida" que no entre en tanto detalle de ciertas cosas y que se pueda leer desde cero para empezar de forma más sencilla

1 respuesta
AikonCWD

#4011 Si me permites una sugerencia: https://docs.godotengine.org/en/stable/

En el menú de la izquierda hay un apartado que pone "Getting started". Yo, sin tener ni idea de programar, esa introducción, step by step y your first 2D game me dieron la vida. De una forma muy clara y con una curva suave, se enseña lo básico para que cazurros como yo podamos entrar en el mundillo.

Quizás puedas echarle un vistazo y copiar el esquema de esa guía, haciendo algo similar para Vircon32. Te lo dejo como referencia a ver si algún punto te inspira y te permite hacer una guía accesible.

1 1 respuesta
carra

#4012 Gracias, le echaré un ojo. Podría crear también una sección "Getting started" en la web. O crees que vendría mejor un pequeño pdf descargable?

1 1 respuesta
AikonCWD

#4013 tanto monta

AikonCWD

Ya he creado el hilo del juego, para que podáis testearlo: https://www.mediavida.com/foro/gamedev/godot-juego-de-bloques-684103

Jastro

@AikonCWD @Ridote

Hemos acabado todos en la droga xDDD

Buenos dias btw

1 2 respuestas
AikonCWD

#4016 Creo que empezaré partida nueva hoy, porque hay cosas que no he hecho bien xd.

Voy a ver si puedo encontrar un arma decente por las zonas iniciales ya que todavía no sé que empezar a upgradear

1 respuesta
Ridote

#4016 @kalgator tb ha caidio

#4017 yo solo se que a nivel 1 vamedio foro con uchigatana y yo aun no se ni dnd esta

Que por cierto lo ee encantar el arma para cambiar con que suben los stats es infinito o se gasta?

3 respuestas
Kalgator

#4018 la uchi es la arma que te dan cuando escoges ser samurai xD

1 1 respuesta
AikonCWD

#4018 imagino que van con uchi porque quizás sea el starter de la clase samurai? ni idea.
Yo encantar y magias nunca uso en un souls.

2 respuestas

Usuarios habituales

  • carra
  • Ridote
  • totespare
  • Jastro
  • neZbo
  • Leos
  • Kalgator