Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Menú Mostrar Mensajes

Mensajes - brunoxzx

#1
El script está perfecto para una IA que lance objetos en forma parabólica, tan solo calculas la distancia horizontal al objetivo y ya, si quieres que esquive un obstáculo le pones que vaya por cierta altura.
#2
Sí, puedes usar un buffer, parecido al scrpt que usabas para cargar en tú otro post, pero acá escribes. Usa la función buffer_set_surface en lugar de get...

Otra opción puede ser un shader para cada brocha y que actualice una superficie, usas un uniform para introducir la posición del mouse, eso sería muy rápido, pero igual no tan versátil. Yo creo que con la otra opción ya debes tener suficiente rendimiento  ;).
#3
¿qué pasa si usas la función  "sprite_add" en lugar de ese código de cargado? Se me hace raro que al guardar modifique el alfa, pero más al rato checo, también trata de usar el blend mode bm_one al dibujar la imagen sobre la superficie en el código de guardado, quizá tenga que ver con eso. Como ya dije más al rato hago pruebas, pero dime que tal.

Edit: También puedes tratar usando sprite_save para guardar: https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Asset_Management/Sprites/Sprite_Manipulation/sprite_save.htm
Edit 2: El alfa de las imágenes siempre ha sido un valor de 0 a 255, el que los programas usen valores de 0 a 1 para facilitarnos la vida es otra cosa, eso no es un error.
#4
Desarrollo de Scripts / Re: ini_file(str)
Octubre 08, 2021, 05:01:43 PM
Wao te hiciste un parser para ejecutar las funciones en un string. Se ve que fue un trabajote y el código limpio, me gusta.
#5
Aiño ese sistema sí está anticuado  :P.

Lo normal es un usar una primitiva que te dibuje la sombra. Este tutorial: Parte 1,
Parte 2; estaba en el techblog hace tiempo, no sé si es el tipo de sombras que buscas.

Él método se puede optimizar más todavía si el trabajo de proyectar la primitiva se hace en un shader, que es lo que hago en mi juego, aunque ya con ese sistema queda bastante decente. Si te interesa puedo pasarte esa versión, aunque lo importante creo yo es entender el tutorial.
#6
De nada, aunque si te pase los ejemplos 3d fue porque no se me ocurrió un juego 2d que hiciera eso, pero ya me acordé de este:



La cosa es que quería descartar que lo que necesitaras fuera físicas con esqueleto, por que es el caso más difícil. Si nada más necesitas el esqueleto puedes usar el spine, o lo que pasó 3dgeminis.
#7
Creo que la solución más fácil a lo que buscas es usar spine, el cual tiene una implementación en GMS2.

Si ya lo conoces y no es lo que buscas, solo se me ocurre que estés preguntando por un ragdoll que sí use físicas, pero que a la vez tenga algún sistema de músculos que se opongan a la caída. Hay juegos que hacen esto, pero en ese caso la cosa sí se pone difícil. De ejemplos se me ocurren Examina y Overgrowth. Aúnque son en 3D.



Tambien buscando me encontre este ejemplo de unity


Cabe mencionar que el Spine tiene un sistema de IK, que permite mover los huesos sin que haya una animación para tal cosa, como si tu personaje tuviera que agarrar un vaso de agua, y solo le dieras la posición del bazo y automáticamente supiera que huesos mover para alcanzarlo, creando la animación mientras corre el juego.

Por último, si no te es viable usar el spine, pero sí quieres usar animaciones del tipo, quizá algo básico para mover los brazos de tu jefe no sea tan difícil de programar desde cero.
#8
Juegos completos / Re: Agua pal pueblo
Junio 08, 2021, 11:30:40 AM
Me parece excelente el juego, cero que cumple con el objetivo de concienciar, los diálogos me parecen los justos y la movilidad no se siente tosca de ningún modo. Lo único malo que me pasó fue que me quedaron ganas de seguir trayendo agua.
#9
jojojo, un par de scripts solo para practicar, me da gusto que los compartas. Tengo un par de tips.

La primera cuestión, es que en ambos scripts estás usando el valor absoluto, en el caso de calcular la distancia no es necesario usarlo, puedes tratar quitandolo y no va a alterar tu código, eso es por que al elevar un número al cuadrado se vuelve positivo. Otra cosa es que en ese script usas la función power, me parece que game maker tiene una función sqr que eleva al cuadrado directamente, pero si no, no es necesario usarla puedes hacer la multiplicación allí de corrido, te digo por que seguro es un poquititín más optimo que usar la función de power que al ser más general, seguro come más.

En el script de calcular la dirección encuentro varios comentarios que podrían serte de utilidad. El primero sería que en el if de cuando la medidadX es 0, ya le pongas un return que mande 90 grados si es para arriba y -90 si es para abajo, creo que eso se vería más pro que el truquillo que usaste xp, igualmente está bien.

Otro de optimizan sería que no utilices strings para nombrar los cuadrantes, entiendo que lo haces por legibilidad pero cuando menos lo consideraría una mala practica y es poco menos eficiente el comparar cadenas que simplemente números, y también guardarlas. Lo mejor si quieres legibilidad seria hacer un enumerador, y poner para una entrada para cada cuadrante, si no pues usar números, al fin y acabo eso son. También me da algo de curiosidad que hayas decidido añadir lo del chequeo de cuadrantes en dos partes, cuando pudiste haberte evitado todo eso y directamente hacer las sumas de ángulos, literal esos 8 if se podrían transformar en 4 y sin hacer comparaciones innecesarias.

Por último y lo más importante creo, es que también con esto de usar los valores absolutos te pierdes de algo interesante en el script que devuelve el ángulo y es que la función del arcotangente también sirve para valores negativos!, concretamente cubre los cuadrantes 1 y 4, de modo que si quitas esos valores absolutos solo tendrías que hacer un if para revisar si está del lado derecho o del izquierdo (en los cuadrantes 2 y 3) y en tal caso sumarle los 180 grados.

mmm también existe una función llamada arctan2, que ya funciona para todos los cuadrantes, pero bueno esa ya sería como algo de trampa si lo que quieres hacer es entrarle a lo manual.
#10
Apenas me entero, que tristeza que haya muerto tan joven. Lo recuerdo mucho  :'(, no recuerdo como me enteré que era muralista, me sorprende, por que me daba la impresión que no era el tipo de persona que te sueles encontrar haciendo videojuegos, a mi me parecía que era alguien del barrio, y que hacía videojuegos de un modo muy genuino, sin pretensiones ni buscando hacer dinero, además que eran cosas raras, variaba el estilo artístico mucho...

Haii, creo que es tiempo de darle otra jugada a lo que nos dejó. QEPD
#11
Desarrollo de Scripts / Re:Diferencia de angulos
Agosto 04, 2018, 12:13:55 AM
Me gusta está función, es de las más importantes cuando programas una IA. Te comento que existe esta versión de una linea que era muy usada antes que existiera el gm:studio, la dejo por aquí ya que es interesante el funcionamiento:

[gml]
/// angle_difference(angle1, angle2)
//
//  Returns the relative angle [-180..180] between the given angles.
//
//      angle1      1st direction in degrees
//      angle2      2nd direction in degress
//
/// GMLscripts.com/license
{
    return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180;
}
[/gml]
#12
Cita de: Goganpis en Febrero 20, 2018, 07:56:10 AM
Puedes hacer persistentes las rooms pero no seria recomendable ya que tienes que darle estudio a esa funcion para poderla trabajar si no te liaras del todo  ;D
Pero si es una muy buena opción.... En mis tiempos este era el modo por defecto para hacer eso. No hay que dar tanto estudio nomas le das click a la opción de room persistene (en settings de el editor de rooms) y ya cuando salgas de una room esta se mantendrá tal y como la dejaste.
#13
Preguntas y respuestas / Re:nueva actualizacion de 1.4
Febrero 21, 2018, 12:03:04 AM
Cita de: yokaiworld en Febrero 15, 2018, 03:58:02 PM
Vieron la nueva actualizacion del 1.4 quitaron la ex`portacion a windoms8, windons phone8, tizen haha supongo que esta sera la ultima :-X
¿Pero alguien realmente apuntaba a alguno de esos exportes? Nunca he visto un tizen en mi vida. Windows 8 acepta el exporte de windows normal y windows phone está fuera de desarrollo desde hace varios meses... Y lo peor que si se quieren bajar una versión más vieja nomas le dan click a las release notes y allí hay link a las últimas 10 versiones....
#14
Cita de: Goganpis en Febrero 18, 2018, 06:43:36 AM
por cierto yo mismo estoy haciendo mi herramienta para crear objectos 3D pero mi pregunta es como guardo esos objectos como si fuera hecho en una room predeterminada XD
Si esa es tu pregunta deberías hacerla en un nuevo tema y siendo muy especifico en cuanto a que deseas guardar. La cosa puede variar entre usar buffers o simples archivos .ini.

Cita de: Goganpis en Febrero 18, 2018, 06:43:36 AM
Jajajaja Bueno amigos les dire la verdad para ser un developer in 3D no se necesita un unity3D o otros motores porque todos pueden tener solo herramientas que facilitan las cosas y eso lo que hace es que los demas creen unos juegos mas cacas que los que hay ahora, se que eso favorece al programador pero esto que tambien es un reto que me coloque en hacer una combinacion de minecraft con mi serie favorita the walking dead hecho en game maker luego podre probar otro motor si comienza a tener apoyo pero solo es un reto.  ;D
Si habiendo un tractor decides usar el martillo y cincel de gm para hacer un túnel es tú decisión  ;).
#15
Pues hay un editor de rooms que se ve muy bueno, pero es re-caro se llama pushed.


Por otra parte estoy con @Yuzo las herramientas 3d que hay disponibles actualmente son incomparables con el nivel que tiene GM (aquí lo digo para mal de gm). Hacer 3d en game maker es un reto puede ser """divertido"""" y con shaders se podrían hacer cosas de nivel pero en mi opinión no vale la pena más que para experimentación y aprendizaje (aprender 3d con gm te obliga a ciertas cosas manuales que a veces es necesario conocer y que también te pueden ayudar con el 2d (juegos isometricos o 2.5d o efectos) ).