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.

Mensajes - DarkKRuleR

511
Buenas, pues mi idea es algo rara..
para un foro de Devil May Cry estoy desarrollando un juego de cartas, a lo Yugioh, Magic The Gathering, etc, con mecánica de combate y cartas personalizadas (inspirándome en los anteriores, pero cogiendo imágenes para las cartas de los videojuegos Devil May Cry, de lo que trata el foro) Era por posteo pero se me ocurrió que podría usar Game Maker para ello. Claro, los usuarios de Linux y demás como que no sé si podrán, pero leo que el 95% de los usuarios mundiales usan WIndows (es cierto?¿) en ese caso puedo arriesgarme y, no sé, buscar otra manera. Pero usar Game Maker molaría.

Mi idea es la siguiente: los usuarios tendrían descargado el executable del juego de cartas, entonces yo colgaría un savefile específico. Al que le toque, lo descarga y lo carga desde el juego, y allí tendría su turno de batalla: qué cartas le han tocado, su vida, etc. Entonces la gracia sería que podría hacer su turno de forma totalmente interactiva con el programa, el cual a su vez llevaría la cuenta automática de los parámetros de cada carta, vidas del jugador, etc. a demás de permitir barajar la baraja, buscar en ella...
cuando el usuario termina su turno le da a "finalizar turno" y el programa crea otro savegame, entonces el usuario lo cuelga al foro y su rival lo descargará para continuar.
Vamos, como si estuvieran jugando online pero sin online, pasándose los savegames. Por qué? porque no quiero que sea online ya que las diferencias horarias lo hacen imposible, y quiero que puedas hacer tu turno cuando quieras y puedas (podéis decirme qué opináis de esto xD). a demás que no sé hacerlo online ni quiero, tengo mucho trabajo encima de la universidad y quiero que esto sea sencillo, pasando savegames. Y meter online complicaría mucho más al usuario.

la duda es: en el programa sólo habría interfaz y código. No puedo meter las cartas en el executable, son (serán) más de 200, o más de 300, y sobrecargaría el exe, quiero que sea liviano. A demás, si actualizo las cartas, el executable se jode...
así que, qué códigos GML hay para hacer un sprite_add, pero no de un archivo, sino de un link? yo tengo todas las cartas en links, cómo puedo tener esos links guardados en el exe, y que el exe cargue las imágenes de internet?

los links siempre estarían disponibles y nunca cambiarían, si actualizo una carta ésta mantiene su link, y como GM no tiene caché pues genial, conque el único problema que podría dar cargar el link es que el usuario no tenga internet, en cuyo caso cómo podría mostrar un mensaje "Error al cargar la imagen de la carta, asegúrate que tienes conexión a internet" si el cargado falla? porque cuando cargamos por ejemplo con sprite = sprite_add, no sé exactamente qué contiene la variable sprite, un string no es, conque no sé qué hacer para comprar que la carta puede bajarse y evitar que de un mensaje de error

Esto es algo ambicioso, pero a la vez sencillo puesto que tengo mucha experiencia con GM, y como no tengo que programar IA ni nada automático, pues mejor aún.
512
Preguntas y respuestas / Re:Reemplazo a gravedad
Septiembre 02, 2012, 02:54:25 AM
yo me monto un sistema de gravedad con bucles.
Una variable "gr = 0" en create, luego en step
"if (place_free(x, y+1)) gr += 1; else gr = 0;
for (i = 0; i < gr; i += 1) if (place_free(x, y+1)) y += 1;"

aproximadamente eso, lo he hecho de cabeza. Lo mismo para el movimiento horizontal en mi caso, todo es jugar con los bucles, es genial ^^ y con eso te permite tener una precisión EXACTA y no se te escapa nada si siempre lo haces todo con el bucle.
513
Vale, solucionado. Resulta que mi animación de moverse va hacia adelante cuando me muevo, y cuando dejo de moverme va hacia atrás, pues si atacaba o hacía algo justo tras dejar de moverme, cuando image_speed = -1, era cuando fallaba todo... lo he solucionado poniendo que si el sprite no es el de correr, image_speed = 1, ahora ya no hay fallos, definitivamente el error era del código, no podía ser del animation end de ninguna manera xD
514
agradezco las respuestas, parece que sí es por mi código pero no puedo saber qué, así que decidí hacerme un end step manual, como me dijo romon, en animation end, pero a mí manera, la tuya no me funcionaba (no me reconoce sprite_number)
me hice un script:

if (sprite_index == argument0 and image_index == sprite_get_number(argument0)-1) return true; else return false;

con eso en end step hago lo mismo y más fácil. Lo he probado y aparentemente no me vuelve a ocurrir! Uff, ahora tengo todos los bugs arreglados y puedo centrarme en hacer la batalla con el boss y con ello terminar y subir mi demo ^^ gracias! creo que solucionado, espero que no me suceda el error de nuevo...
515
Pues no, los únicos image_speed que tengo son 1 y -1, pero no creo que el -1 interfiera, creo tenerlo controlado...
pues me toca revisar código o colocar... "parches"? del tipo en step if (sprite and image_index == x) etc...
516
Cita de: Silver_light en Agosto 27, 2012, 03:16:09 AM
Quizá puedas condicionar el Animation End, con algo como:
Si (sprite == sprite_accion)
  sprite =  sprite_quieto

entonces cuando termina la animacion del sprite, cambia.
No sé si lo hayas intentado...
Saludos!

Eso es justo lo que tengo xD y lo que sucede es que, en ALGUNAS ocasiones, al final del sprite_accion NO CAMBIA a sprite_quieto...
517
Curiosamente a mí me pasó sólo hoy por primera vez... con GM8...

y si realmente falla, debería montarme un sistema manual de animation end, igual qe me hice un sistema manual de físicas basándome en FORs. Pero no tengo ni idea de cómo hacer manual un animation end xD quizás añadiendo 1 subimagen más al sprite y usando el image_index...
518
El título lo dice todo. Ya van dos veces que mi personaje se queda haciendo una animación infinitamente cuando CLARAMENTE, en su evento Animation End, debería cambiar a otra al finalizar la anterior, y no cambia. Casi siempre me cambia pero según en qué situaciones no cambia. Tengo localizada una situación donde si hago una acción justo después de un diálogo y mientras me muevo se estanca la animación y nunca acaba.
Esto es por culpa mía, porque algún código interfiere, o es fallo de game maker? porque no es normal que una animació nunca acabe cuando el evento animation end así lo dice, pase la situación que pase...
519
Wow, gracias a todos. Ahora entiendo por qu? mi amigo no pod?a disparar en diagonal en mi juego pero yo s?... visto lo visto, har? teclas configurables al momento y advertir? en mis juegos que, depende del teclado, no puede funcionar tal combinaci?n, y que cambiando una tecla puede ir... muchas gracias, karma pa todos y duda solucionada xD a por las teclas configurables. En todo caso, quit? lo de mantener Z para saltar: prefiero no obligar a mantener teclas si no es necesario... mantener Z para saltar + apuntar con, incluso, dos flechas de direcci?n + disparar es una locura xD
520
Conque configuraci?n interna de los teclados, por vaya D: gracias por responder

en ese caso, puedo saber cu?l es la combinaci?n m?xima y qu? ocurre exactamente? O sea, al pulsar X teclas a la vez, a ?ltima pulsada se desconecta como si no la pulsaras, o la primera, o al azar... c?mo funciona eso?... (tip: me toca quitar el "mant?n el bot?n de salto para saltar m?s alto... bueh, mal menor, har? como siempre: vuelve a pulsar salto en el aire para dejar de caer)

Jucarave dijo que busque una combinaci?n que no se trabe, a caso s?lo algunas lo hacen? y depende del teclado o todos los teclados igual? A menos que sea algo universal no puedo confiar en ello D:
521
Buenas, pues es algo que no s? si es una paranoya mia, un error de mi PC o teclado o algo, pero me suena haberlo le?do y que pasara siempre...
si pulsas a la vez 3 o m?s teclas, que pasan cosas raras... como que alguna no responde como deber?a?
Programando un sistema de rampas para resbalar y para subir y bajar, del cual estoy superorgulloso por acabarlo (que es m?s f?cil que hacerse un huevo frito, s?lo debes usar fors para moverte y chequear, pero antes no sab?a xD), me di cuenta que va perfecto y s?lo falla si pulso las teclas de direcci?n a la vez o algo raro..
a dem?s, recuerdo que, hace tiempo, quit? el mantener pulsado el salto para saltar m?s alto ya que si manten?as el salto (Z), a la vez que te mov?as en el aire (flecha), si hac?as algo no respond?a (anda, tres teclas a la vez!)

Bueh, existe algo como este fallo y manera de arreglarlo si existiera, o es intr?nseco de game maker o windows? en la PS3 no pasa... (xDD) (es posible que el fallo en mi juego sea propio de mi c?digo, que lo dudo... pero podr?a ser por esto... s?lo quiero saber de este fallo general)
522
El ?nico fallo te  lo dijeron
aunque tengo una duda, t? sabr?s respond?rmela: me falta s?lo un hueso, me he recorrido todo... tengo la sensaci?n que s? d?nde est?: cuando regresas en coche de nosedonde y atropellas a un perro para qued?rtelo, lo he intentado todo pero no consigo llegar a esa situaci?n, y puede que el hueso este ah?. Es un bug que hace que no puedas acceder a esas escenas tras conseguir a ese perro o es que no busco del todo bien?

Por lo dem?s me encant?, uno de esos juegos que te dejan enganchados a la pantalla hasta el final, simplemente muy bien :3

Edit: nada, tengo los 15 huesos, no era eso! Pero no pude acceder a la escena del atropellamiento todav?a..
523
Bien, dejado de lado unas tonter?as, ha sido un exitazo! He conseguido que levante los brazos RESPECTO AL HOMBRO 90? y otros 90? lo del codo, haciendo una barrera vertical. S?lo me falta rotar la z 45?, pero de momento he logrado esto gracias a tu ejemplo, conque ya vale. Consegu? aprender c?mo va lo del translation, que al final tienes que volverlo al punto 0,0,0, cosa que no sab?a ^^
gracias! +karma y tema resuelto, podr?a decirse.
(veamos si en 2 horas me acuerdo de darte el karma, no deja dar dos veces seguidas xD)
524
Preguntas y respuestas / Re: Arrastrar room
Diciembre 05, 2011, 05:32:11 PM
Vuelve a poner la barra (global game settings >> graphics >> seleccionas o deseleccionas la opci?n indicada)
Dir?a que sin la barra no puedes desplazarlo, adem?s, la barra no molesta, para qu? quitarla? Si quieres que se desplace d?jale la barra, sin barra... dudo que se pueda arrastrar
525
Holap! Pues estoy probando modificaciones en 3D, y el tema me tiene algo frito xD Mirad los siguientes ejemplos, reduci?ndolo todo a lo simple.



d3d_transform_set_identity();
d3d_transform_add_translation(0,0,-20);
d3d_transform_add_rotation_y(variable);
d3d_transform_add_translation(x,y,20);
d3d_draw_cylinder(0,0,0,5,5,20,textura,1,1,1,20);
d3d_transform_set_identity();


Seg?n la anterior imagen y el c?digo que puse, yo dibujo un cilindro, de base circular (0,0,5,5), y altura (0,20), o sea, de z=0 a z=20. Entonces, quiero rotar por el eje y la figura DESDE EL PUNTO MARCADO EN LA IMAGEN. O sea, quiero rotarla poniendo el eje de rotaci?n en ese punto. Por lo tanto, hago translaci?n a x=0, y=0, z=-20, ya que el punto est? situado a z=20, con esto situo ESE PUNTO a z=0, lo roto, y lo vuelvo a transportar a x=x, y=y, z=20. Todo esto para preparar el terreno para ESA rotaci?n, tras eso la dibujo tal cual, y cuando modifique la variable, lo rotar? autom?ticamente.

Ahora pongamos que parto verticalmente el cilindro en DOS CILINDROS, uno de z=0 a z=10 y otro de z=10 a z=20, vamos, lo parto en dos. Y quiero que el de abajo pueda rotar libremente sobre su eje superior en z=10, y el de arriba igual. Pero claro... Esto implica varias rotaciones. Yo tengo esta teor?a

d3d_transform_set_identity();
d3d_transform_add_translation(0,0,-10);
d3d_transform_add_rotation_y(valor1);
d3d_transform_add_translation(0,0,-20);
d3d_transform_add_rotation_y(valor2);
d3d_transform_add_translation(x,y,10);
d3d_draw_cylinder(0,0,0,5,5,10,textura,1,1,1,20); //cilindro inferior
d3d_transform_set_identity();

d3d_transform_add_translation(0,0,-20);
d3d_transform_add_rotation_y(valor2);
d3d_transform_add_translation(x,y,20);
d3d_draw_cylinder(0,0,10,5,5,20,textura,1,1,1,20); //cilindro superior
d3d_transform_set_identity();


Explico: pod?is tomarlo como un BRAZO, donde tenemos dos cilindros unidos por el codo: el primer cilindro rota libremente pegado al codo, y el segundo pegado al hombro, pero el primero siempre sigue al segundo. En teor?a, el ?ltimo c?digo que puse, primero rota el cilindro inferior respecto al eje y un valor1, pero respecto a su m?ximo 10. Luego, lo rota todo de nuevo respecto a su valor 20. Y luego rota este segundo cilindro respecto el 20, el superior.

Vamos, que tengo dos cilindros, y quiero que ambos roten sobre el eje y, el de arriba, que llega de z=10 a z=20, rota sobre el punto z=20, y el segundo, de z=0 a z=10, rota sobre el punto z=10, ambos sobre el eje y. Y para conseguir que se muevan como un brazo hacia adelante y atr?s (eje y), puedo rotar libremente el cilindro inferior respecto a z=10, pero luego tengo que rotar este cilindro inferior respecto a z=20 el valor que rotar? el superior, para que siempre su punto maximo encaje con el cilindro superior a modo de codo.

Pero no funciona ya que no puedo hacer dos translations... y necesito hacer dos translations, ya que tengo que rotar DOS VECES DESDE DOS PUNTOS DISTINTOS, conque tengo que transportarlo a un punto, rotar, transportarlo a otro punto y rotar, y es eso lo que falla... >_<



A la pr?ctica, cuando lo ejecuto, el cilindro inferior desaparece. No s? qu? hago mal, quiz?s en algunos lados tengo que usar un "set" y no un "add", no lo tengo claro...