No se pero Murcia está colapsada y me da a mí que no hay declaración
En Alemania no sé si puedo entrar
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
#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.
#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.
#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
#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.
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
#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.
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
#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"
#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
#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
#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.
#11186 tardas un par de milisegundos como mucho, esta técnica la he usado yo offline en varios casos de generación procedural.
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
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.
#11188 Evil mode: entrena una lora alimentando con todas sus ilustraciones y TACHAAAAN ya tienes su estilo xDDDD