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 - Rodri_cyberdog

1
Juegos en desarrollo / Re:Pokemon TCG con IA
Noviembre 14, 2012, 11:57:25 PM
Cita de: Texic en Noviembre 14, 2012, 11:26:15 PM
Entonces podrías crear objetos que estén en espera desde el script con object_add, con sus códigos relacionados y eso, y que al final de toda la ejecución se eliminen los objetos con object_delete para no saturar el juego

Eso hago, y por lo visto es la única forma. Juego un poco con las alarmas de un objeto, es decir, un objeto crea otro objeto y pone una alarma. Esa alarma se revisa cada 15 o 20 pasos y revisa si el objeto que creo todavía existe. El otro objeto también espera y cuando está todo listo guarda los resultado en el objeto padre y se elimina. Cuando el otro detecta el objeto hijo ya no existe entonces sigue la ejecución. El problema es que eso en un script es difícil y por eso tengo que hacer que el objeto padre llame al script dos veces, una antes del crear al objeto y otra después de eliminarlo. El script guarda una variable en el objeto padre la primera vez que se ejecuta, para que así cuando sea llamado otra vez, lea esa variable y sepa que se está ejecutando por segunda vez. Pero es engorroso y puede acarrear problemas si una carta necesita pagar costes y al mismo tiempo seleccionar blancos, ahí el script tendría que ejecutarse como 3 veces por lo menos. Creo que es algo que los desarrolladores de Game Maker debieran pensar en hacer listeners.
2
Juegos en desarrollo / Re:Pokemon TCG con IA
Noviembre 14, 2012, 10:59:35 PM
Cita de: Texic en Noviembre 14, 2012, 10:38:09 PM
Perfecto, te comento que para los scripts podés usar timelines. Que el script cree una timeline con los eventos que querés, ya sea crear objetos molde para mostrar animaciones hasta el fin, y al final de toda la ejecución se elimine la timeline. Si hacés bien las cosas se pueden hacer packs expansivos bastante simples y eficaces, tendrías que encriptarlos bien para que no se pueda acceder a ellos de manera convencional. Te puedo ayudar con la idea básica del asunto, con un ejemplo o algo, a menos que hayas entendido cómo se hace. Saludos!

Bueno, el problema con los timelines es que es difícil hacerlos "esperar" pues no sé cuanto se pueda demorar el jugador en decidir qué cartas va a botar de su mano, lo de la moneda se pueda calcular pues el lanzamiento es automático. Por ahora cree un objeto llamado ComTrainer que manejará los scripts relacionados las cartas. Si todo funciona, podría hacer operativo el uso de Trainer Cards en el duelo. Espero todo resulte, saludos.
3
Juegos en desarrollo / Re:Pokemon TCG con IA
Noviembre 14, 2012, 08:57:45 PM
Cita de: Texic en Noviembre 14, 2012, 08:40:17 PM
Rodri_cyberdog, el post no cumple con la plantilla de juegos en desarrollo ni con el reglamento. No se permiten enlaces a mediafire, el archivo pesa menos de 10mb, adjuntalo al mensaje o subilo a dropbox, pero no uses servidores con publicidad, esperas, captchas o redireccionamientos. Arreglalo o voy a tener q cerrar el post, y sería una lástima porque el juego se ve bueno

Hecho, tardó un año en guardar :-[ pero ya está corregido. Disculpa.
4
Juegos completos / Re:Pacman 3D (fps)
Noviembre 14, 2012, 08:35:37 PM
Yo optaría por alejar la cámara y sacrificar un poco la perspectiva en primera persona para mostrar a Pacman en 3D. Creo que un Pacman sin mostrar a Pacman se parece más a un juego de shooter con personajes de Pacman.
5
Juegos en desarrollo / Pokemon TCG con IA
Noviembre 14, 2012, 08:24:18 PM

Pokemon TCG con IA

Plataformas

GM8

Juego basado en el TCG de Pokémon. Se roban 7 cartas, se colocan Pokémon y se lanza una moneda para saber quien parte. El oponente tiene IA y toma decisiones aunque aún está en fase de desarrollo, pero está capacitado para ganar una partida.






Hola a todos, después de dejar inconcluso mi juego de Zelda y retomar un poco lo de Game Maker, me decidí por hacer un Engine para un juego de TCG (Juego de Cartas Coleccionables) y luego de darle una vuelta me decidí por hacer un TCG de Pokémon. Hasta ahora el juego es medianamente jugable, excepto porque no se pueden usar las Trainer Cards todavía (y francamente todavía me estoy cabeceando sobre como lo voy a hacer). Si todo funciona bien, las barajas se podrían descargar, pegar en la carpeta del juego y automáticamente la aplicación reconocería las nuevas cartas, es por eso que no quiero programar las cartas directamente en el juego, sino através de scripts en las carpetas. Espero puedan ayudarme los más expertos. Sin ofender, el juego lo manejo con scripts y soy informático programador de software. Tengo problemas con ejecutar un script que requiera, por ejemplo, descartar una carta de la mano, lanzar una moneda o cualquier cosa que requiera esperar ya que aún no tengo una forma sencilla en que un script se detenga y espere, o al ejecutar dos veces el script puedan saber que fue lo que sucedió para poder continuar (por ejemplo, si el usuario descartó todas las cartas necesarias, cuántas de las monedas son cara, etc.). El IA aún está en desarrollo, pero toma buenas decisiones al elegir al Pok Activo con más posibilidades de atacar y también para añadir cartas de energía al Pokémon mejor posicionado. Para cambiar Pokémon Activo cuando es derrotado simplemente toma al primero que encuentra en banca y para evolucionar un Pokemon lo hace apenas tiene la oportunidad. A pesar de estos dos detalles, me ha ganado varias veces. Si el juego no avanza y se queda pegado... es porque no leyeron el cuadro de mensaje antes de cerrarlo. Probablemente les falte robar un premio o reemplazar al Pok Activo. Para jugar un Pokémon simplemente hacen clic en uno que tengan en la mano. Para evolucionar un Pokémon o añadir una energía, deben arrastrarla sin soltar el mouse hasta el Pokémon en el campo al que quieran evolucionar o añadir la carta. Para reemplazar al Pokémon Activo, deben hacer clic DERECHO sobre un Pokémon en Banca. Para robar un premio, simplemente hacen clic sobre uno. Sabrán que pueden robar un premio porque tendrán un aro de selección al poner el mouse sobre uno.

6
Cita de: spreos22 en Febrero 12, 2010, 07:34:04 PM
Es posible cambiar la mask del objeto en un momento concreto del juego? (por ejemplo, que al saltar la mask sea otra.

Me parece que la funci?n es mask_index, pero hace tiempo que no utilizo m?scaras...
7
Como sabes el sprite_index es el sprite o conjunto de sprites en el caso de una animaci?n y el image_index es un valor que determina qu? subimagen mostrar. A diferencia de lo puedas pensar, image_index puede tener cualquier valor y tambi?n puede ser incremental. Si escribes image_index+=1, en cada step el valor de image_index se incrementar? en 1, y si este valor sobrepasa la cantidad de subim?genes vuelve al principio, creando as? el efecto de animaci?n de tu personaje. Te recomiendo que utilices un valor menor como image_index+=0.25 ya que si tu juego est? a 60 frames se ver? muy r?pido.
8
Preguntas y respuestas / Re: Ejemplo de smash bros?
Febrero 10, 2010, 07:48:36 PM
Bueno, un poco de programaci?n b?sica. Existen las constantes y las variables. Las constantes poseen valor fijo y no cambian durante toda la ejecuci?n del programa (en este caso un juego, que tambi?n es un programa). Las variables, en cambio, pueden tomar distintos valores. En GameMaker hay muchas variables y la mayor?a las has usado, a lo mejor no sab?as que se llamaban as?. Por ejemplo las m?s comunes son X e Y.

Si yo escribo que un objeto se mueva a la posici?n X de otro objeto, lo har?. ?Qu? es X en este caso?, X es una variable porque puede tomar cualquier valor, entendiendo que el objeto puede estar en cualquier posici?n. Asi como hay variables predefinidas en GameMaker, tambi?n puedes inventar las tuyas propias. La mayor?a se agregan en Create Event. Si no sabes usar variables me imagino que no sabes lo que es un script as? que te ense?ar? como se usa en D&D (modo gr?fico):

En la pesta?a "Control" > secci?n "Variables > "Set Variable" (el cuadro gris que dice VAR)

Lo agregas en el Create Event, le asignas un nombre cualquiera (sin usar espacios ni acentos, s?lo un nombre) y un valor inicial (ej: 0). Por ejemplo si necesitas una variable para el puntaje escribo "variable:puntaje; value:0". Desde ahora podras escribir la palabra "puntaje" y Game Maker reconocer? que tiene valor 0, un valor que puedes cambiar a lo largo del juego y que te servir? para muchas cosas.

La raz?n por la que la mayor?a de las variables se escriban en Create es porque necesitan ser declaradas antes de poder usarse. Si durante la ejecuci?n el juego se encuentra con que necesita el valor de una variable y esa variable le asignas un valor m?s tarde (en un evento como al presionar una tecla, etc) te arrojar? error. Como Create Event es uno de los primero eventos de un objeto, casi siempre se crean aqu?.
9
Preguntas y respuestas / Re: Step y End Step
Febrero 10, 2010, 07:34:31 PM
El orden es:

Begin Step Event > Step Event > End Step Event

El "Begin Step" es el primero que sucede y antes que todo lo dem?s de la instancia (antes del Draw, de los eventos de teclas, todo). El Step ocurre justo despu?s de que la instancia (objeto) se ubica en su nueva posici?n y al parecer antes del Draw, pero no estoy seguro. El End Step es inverso al Begin Step, ocurre al final de todos los calculos y justo despu?s del draw, sirve principalmente para corregir la posici?n de los sprites. El m?s usado es el Step Event.
10
Para el efecto aplico dos vistas al mismo tiempo, una que se mueve cuando el personaje toca una puerta y la otra fija en un lugar que no se v? en el room.
11
Te recomiendo adem?s que en lugar de un n?mero uses la variable "room_height" que mide el largo total del room. Si le aplicas un n?mero fijo (como 489) todos tus rooms deber?n tener el mismo alto para que te funcione, no as? con room_height.
12
?Necesitas algo como esto?

http://www.comunidadgm.org/index.php?topic=10414.0

Sin usar vistas es casi imposible...
13
Yo hice lo de las tuber?as y lo solucion? con una variable

Room Start Event
{
  Switch (var_exit)
  {
    case 0: //posici?n inicial
    case 1: //saltar a posici?n, ejemplo saliendo de un tubo
    case n: //n debes reemplazarlo por un n?mero... asi cuantas salidas quieras.
  }
}

Al ingresar a un tubo registras la variable en el personaje o en alguna instancia persistente. Y cuando vuelva al room debes programar por donde debe salir... Para ahorrar programaci?n yo creaba un objeto invisible que colocaba sobre los tubos en ambos rooms, eran c?rculos con un n?mero, por lo tanto si el room iniciaba y la variable var_exit era 1 mario saltaba a la posici?n del objeto a penas iniciaba el room y dejaba var_exit en 0 una vez que sal?a del tubo. Lo mismo con el 2, el 3, etc... la variable toma el valor si el personaje (ej, Mario) colisiona con el objeto (en este caso, la bola invisible con el n?mero), la animaci?n del tubo es igual por lo tanto debes poner la bola siempre abajo para que Mario choque con ella cuando est? dentro del tubo. Cuando colisione tambi?n puedes programar que cambie de room justo despu?s de asignar el valor a var_exit.
14
Cita de: cruzado en Febrero 05, 2010, 04:53:55 PM
Le he puesto enemy_health y ahora cuando le disparo no se muere  :'(

Cambiaste tambi?n la forma en que mueren... deber?a ser

if enemy_health<=0
  {instance_destroy()}
15
f?cil...

Step event

{
   if "varible subiendoescalera"==false
      {solid=false}
   else
      {solid=true}
}

En variable subiendoescalera puedes jugar con los sprites, por ejemplo que si el personaje tiene tal sprite, por ejemplo el sprite subiendo la escalera. (o inventar alguna variable), la plataforma es traspasable, sino es s?lida. Para subir o bajar escalera. Si es as? puede aprovechar la misma secuencia:

Keyboard event
{
  if instance_place(x-1,y,escalera)//x+1 si la escalera est? abajo
    {c?digo para subir o bajar por la escalera}
}