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


EVENTO ACTIVO:

https://www.mediavida.com/foro/gamedev/mv-retos-gamedev-gancho-711429

Grupo de Mediavida

https://www.mediavida.com/g/gamedev

Futuro de Gamedev

https://www.mediavida.com/foro/gamedev/mv-gamedev-donde-estamos-donde-vamos-711799
V

No se pero Murcia está colapsada y me da a mí que no hay declaración

En Alemania no sé si puedo entrar

1 1 respuesta
Jastro

#11161 que cojones has hecho? Soy demasiado Maruja para no preguntártelo bajajajaja

1 respuesta
V

#11162 En Alemania es de lo mismo delito de estafa pero es una orden europea que hay pocas al año vino la policía a mí casa y estuve hablando con la fiscal y tal tuve que traducir todo jajaja porque venía todo en Alemán

Ya soy un ciberdelincuente internacional

1
AikonCWD

Estoy mejorando los menús, añadiendo un icono por cada objeto diferente. De momento tengo armas y escudos. Me faltan armaduras y anillos. Es un coñazo hacer GUI pero cuando terminas mola

1 1 respuesta
V

#11164 añade un arma, vasketahd

1 respuesta
AikonCWD

#11165 Tu nombre puede quedar en forma de lápida, con un bonito epitafio generado proceduralmente, o incluso una estatua si consigues una gran hazaña. Pero las armas no tienen nombre propio.

1 respuesta
Jastro

#11166 no existen las armas legendarias ni nada por el estilo?

1 respuesta
AikonCWD

#11167 No. Las armas, y el equipamiento en general, se puede encantar para subirlo de nivel y que haga más daño o más probabilidad de hit o mas defensa (para las armaduras).

Tengo planeado meterle "egos" a las armas. Dejo un listado y supongo que se entiende por el nombre lo que hará cada uno:

Types of Ego
• of Resistance: Add protection to fire, poison, acid…
• of Protection: Add Defense points
• of Stealth: Prevents monster detection
• of Inteligence: Prevents confusion
• of Magic: Prevents use of charges, boost magic damage
• of Hurling: To gloves, adds throwing damage
• of Harm: deals and recieve more damage
• of Shadow: Reduces player’s vision
• of Noise: Makes sound and alert monsters
• of Rage: go Berserk and exhaust some times
• of Fragile: Breaks on unequip

Algunos de esos egos solo se pueden aplicar a las armas, armaduras o a ambos. Por ejemplo "of Shadows" solo aplicaría a los cascos. "of Noise" a las botas, "of Resistance" a cualquier armadura, etc...

Pero eso lo tengo en mi to-do. No existe por ahora.

1 respuesta
Jastro

#11168 ostia pos me gusta el concepto de encantar las armas, estoy por robartelo pal mud xDDD

Lo tienes muy bien pensado, supongo que eres trmendo jugador de este tipo de juegos no? el caves of qud se ve guapisimo tb, no termino de disfrutarlo entre que no es mi tipo de juego y que a ratos no se ni pa donde ir, no veas xD

1 respuesta
V

Ya tengo godot sprites elegidos y proyecto iniciado.

1 2 respuestas
Jastro

#11170 vamooooo

Ridote

#11170 GOTY o mejor, GOTJ

AikonCWD

#11169 Si. La mayoría de cosas que voy implementando es porque las he visto de alguna manera u otra en otro roguelike o jugando a rol, d&d, etc...

El caves of Qud es una fumada monumental. Se aleja un poco del estilo tradicional de los 80 y han metido un montón de mecánicas. Además se centran fuertemente en la generación procedural. Ahí todo es random, desde la política y alianzas entre facciones, enfermedades y sus curas, poblados, etc... hasta las quests, puzzles, historia, lore, libros son generados de forma random.

Lo guay es que puedes jugarlo en plan ir a por la main quest o simplemente empezar una partida, ignorar la quest inicial e ir haciendo quest randoms que el juego te va generando, royo sandbox.

1
AikonCWD

Estoy intentando hacer una función que devuelva el nivel de "peligro" de un monstruo en base a diferentes factores, como por ejemplo la probabilidad que tengo yo y el monstruo de acertar el golpe, así como el número de ataques promedios necesarios para matarme (suponiendo que sus tiradas de dados sacan el valor average). Me está costando lo suyo tunear el resultado :(

2 respuestas
totespare

Alguien ha usado PlayFab por aqui?

1 respuesta
Jastro

#11174 que es lo que te esta generando complicacion?

#11175 midgard lo usaba mucho creo, pero hace tiempo que no entra

2 respuestas
r2d2rigo

#11174 if (monsterLevel - playerLevel >= 5) isDangerous = true

1 respuesta
AikonCWD

#11177 #11176 No es mala. pero no tengo esos stats. Los monstruos no tienen nivel.

De momento tengo como parametros la probabilidad de golpeo del jugador hacia el monstruo, la probabilidad de golpeo del monstruo hacia el jugador, y el numero de golpes promedio que necesita el monstruo para matarte. De ahí quiero sacar 3 etiquetas: low, medium, high. Para que os hagáis una idea:

  • El jugador tiene actualmente 20 hp
  • El jackal mete 1d8 de daño
  • Con tiradas perfectas, te mataría en 3 turnos (8*3=24)
  • Con tiradas malas, te mataría en 20 turnos (1*20=20)
  • Haciendo una estimación promedio, te matará en 7 turnos (7*3.5=24.5)
  • La defensa del jugador mitiga un poco de daño, pero eso no importa porque ya lo tengo en cuenta.

Como veis en la imagen, calculo correctamente los hits de 3 a 20, con un promedio de 7 hits. Pues usando ese valor 7 y su probabilidad de ataque, quiero etiquetar al Jackal como "Low" y no "Medium". Toca romperse un poco el coco a ver si saco correctamente los pesos para hacer el cálculo.

1 respuesta
totespare

#11176 F

AikonCWD

Acabo de cambiar un poco los valores a mano, y al menos en low level parece que ahora me da las etiquetas un poco como esperaba:

func calculate_threat(player_hit_chance: int, monster_hit_chance: int, avg_hits_to_kill: int) -> String:
	var hit_ratio = monster_hit_chance - player_hit_chance
	var hits_factor
	if avg_hits_to_kill <= 2:
		hits_factor = 20  # Extreme, kills with 2 or less hits
	elif avg_hits_to_kill == 3:
		hits_factor = 15  # High, kills with 3 hits
	elif avg_hits_to_kill <= 5:
		hits_factor = 10  # Mid, kills with 4-5 hits
	else:
		hits_factor = 5   # Low, kills with 6 or more hits

	# Calcular puntuación total de amenaza
	var threat_score = hit_ratio * 0.5 + hits_factor
	print("-------")
	print("hit_ratio=" + str(hit_ratio * 0.5))
	print("hits_factor=" + str(hits_factor))
	print("threat_score=" + str(threat_score))

	# Determinar el nivel de amenaza basado en la puntuación
	if threat_score <= 15:  # El jugador domina
		return "[color=#6abe30][b]Low[/b][/color]"
	elif threat_score <= 20:  # Balanceado
		return "[color=yellow][b]Medium[/b][/color]"
	else:  # El monstruo domina
		return "[color=red][b]High[/b][/color]"

Para tener una función más acertada imagino que debería tener en cuenta con cuantos hits puede el player matar al monstruo y ponderar en base a ver quien tiene más % de acertar ataques ¿? Por el momento creo que lo dejo así. Total luego esta info no se la va a leer nadie no se para que le dedico tanto tiempo a esto XD

1 respuesta
Jastro

#11178 basandome en lo que tienes yo haria un:

dangerScore = (monsterHitChance * avgHitsToKill) / playerHitChance

playerHitChance -> Probabilidad de golpeo del jugador hacia el monstruo
monsterHitChance -> Probabilidad de golpeo del monstruo hacia el jugador
avgHitsToKill -> Número promedio de ataques necesarios para matarte

los chances lo pones en valores de 0 y 1

playerHitChance = 0.8  # 80% de acierto del jugador
monsterHitChance = 0.5  # 50% de acierto del monstruo
avgHitsToKill = 7  # Promedio de golpes para matar al jugador

y supongo que algo asi:

if dangerScore < 0.5:
    dangerLevel = "Low"
elif dangerScore < 1.5:
    dangerLevel = "Medium"
else:
    dangerLevel = "High"
1 1 respuesta
AikonCWD

#11181 uh, pues me he complicado un poco más con mi aproximación. xd

Lo pruebo así y si empiezo a ver valores que no me cuadran, pruebo tu método a ver :)

1 1 respuesta
Jastro

#11182 ya me cuentas :D

1 respuesta
AikonCWD

#11183 Pues así se va a quedar. Parece que funciona genial

He coloreado los rasgos propios de cada monstruo, en la parte inferior

pd: tremendo bicho el myconido xd

1 1 respuesta
r2d2rigo

#11180 hazlo por brute force: simula 10-20 combates del jugador contra el enemigo en segundo plano y dependiendo del ratio de victorias, asigna la peligrosidad.

1 respuesta
Jastro

#11184 me alegra que te sirviera :D

Si, sin duda no me gustaria encontrarmelo la verdad jajajajajajja

#11185 me parece una burrada eso xD

1 respuesta
r2d2rigo

#11186 tardas un par de milisegundos como mucho, esta técnica la he usado yo offline en varios casos de generación procedural.

AikonCWD

Pues estaba mirando para cambiar el actual cover-art del juego (que lo generé por IA) por una imagen hecho por un ilustrador, pagando y eso.

Después de buscar, he encontrado un chaval que hace exactamente el estilo que me mola y le he pedido para re-hacer la portada con su estilo y eso. Su portfolio es este

NSFW

Pues sabéis lo que me pide por una imagen? 300$. Le he tenido que decir que no.
Joder, soy yo muy catalán o realmente el precio es excesivo? Es que no cubro ese coste con las donaciones en la vida.

3 respuestas
Freak1337

#11188 Evil mode: entrena una lora alimentando con todas sus ilustraciones y TACHAAAAN ya tienes su estilo xDDDD

2 respuestas
AikonCWD

#11189 Dime como se hace eso y lo hago xd

Tema cerrado