Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

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


Mensajes - visionjav

Páginas: 1
1
Lo que hace randomize() es inicializar una nueva secuencia de números aleatorios, estableciendo lo que llaman la "semilla", por eso Niu te dice que se usa UNA UNICA VEZ al empezar el juego (puede ser en un evento game_start o room_start) para que luego si puedas obtener números aleatorios con las funciones random normales (random, irandom, random_range, etc).

Buenas, efectivamente he estado usando randomize() una unica vez en el room_start y esto estaba consiguiendo que la primera tirada de dados fuese aleatoria, mi problema por el que abri la consulta es que a partir de esa primera tirada, no volvia a ser random siempre era el mismo esquema, y es que al tener mal lo que comente de no volver a llamar las funciones random porque la flag me olvide de ponerla a true cada vez que tiraba los dados, simplemente estaba rotando los dados la misma cantidad de veces todas las tiradas, sin aleatorizar nada.

Muchas gracias de todas formas, gracias a los enlaces que me habeis ido proporcionando he podido ir viendo mejor como funciona todo esto :D llevo apenas unos dias con Game Maker y poco a poco le voy pillando el gusto :D

2
Buenas, en la pregunta que hice yo sobre random use una variable flag (boolean) para hacer que algo se ejecutase una sola vez dentro del evento step, pones la flag a true con la colision, y tras dar 1 de piedra la pones a false. Creo que eso podria solucionar ese pequeño problema.

Espero que te sirva :D

3
Preguntas y respuestas / Re:Problema con las funciones random de gml
« en: Abril 13, 2019, 12:51:23 pm »
Te hace falta utilizar la función maravilla del GM xd.

http://docs2.yoyogames.com/source/_build/3_scripting/4_gml_reference/maths/real%20valued%20functions/randomise.html

Solo tienes que usarla una vez, al inicio del juego (antes de cualquier función de aleatoriedad, claramente).

Muchas gracias por tu respuesta.

Algo mas debo estar haciendo mal porque he probado a poner tanto randomize() como randomise() en el codigo de la sala(room) en el codigo de los evento create, tanto del boton como del dado e incluso crear un objeto unicamente para esa pieza de codigo.

El randomize() lo unico que me hace es que al darle click al boton el primer valor que sale sea aleatorio, tras eso, el valor del segundo dado siempre es +1 del primero, el del tercer dado +2 del primero y el del cuarto dado +1 del primero.

Se que tengo que estar haciendo algo mal en algún sitio pero estoy perdidisimo.


ACTUALIZADO

Boton -> Izquierdo Soltado:
Código: [Seleccionar]
is_rolling=!is_rolling;
if (is_rolling)
{
ob_dice.dice_speed=10;
ob_dice.last_moving = true; //<--------------------------------
}
else
{
ob_dice.dice_speed=0;
}

Había olvidado poner la linea:
Código: [Seleccionar]
ob_dice.last_moving = true;
Por lo que nunca se activaba la flag last_moving y nunca se le modificaba el valor a los dados, por lo que siempre seguían la misma estructura con los que se inicializaban al principio.

Gracias a todos por vuestro tiempo y ayuda :D

4
Buenas, tras un día trasteando con el código noté que las funciones random(n), irandom(n), random_range(n, m) e irandom_range(n, m) no me están funcionando como esperaría que un random funcionase en cualquier lenguaje de programación.

Dejo el código de ejemplo que estoy haciendo y algunas capturas a ver si alguno sabe porque pasa esto y puede explicarmelo.

Dado -> Evento Crear:
Código: [Seleccionar]
dice_value = irandom(6);
image_index = dice_value;

dice_speed = 10;
last_moving = false;

Dado -> Evento Paso:
Código: [Seleccionar]
image_speed = dice_speed;
if (dice_speed == 0 && last_moving)
{
dice_value = irandom(6);
image_index = dice_value;
last_moving = !last_moving;
}

Adjunto 2 capturas en las que se ve el resultado de 2 tiradas consecutivas. Se pude ver como el valor de los dados siempre es x x+1 x+2 x+1, haga las tiradas que haga en esa ejecución de programa siempre va a ser esa relación de valores.

En la sala tengo, como se puede ver, 4 instancias del dado añadidos manualmente arrastrándolos desde la barra derecha, y un botón con el siguiente código:

Boton -> Crear:
Código: [Seleccionar]
is_rolling = true;

Boton -> Izquierdo Soltado:
Código: [Seleccionar]
is_rolling=!is_rolling;
if (is_rolling)
{
ob_dice.dice_speed=10;
}
else
{
ob_dice.dice_speed=0;
}


He intentado variar entre los 4 métodos de random pero siempre consigo lo mismo y creo que hay alguna parte importante que me estoy saltando y no alcanzo a ver.

Gracias de antemano :D

5
Te invito a que primero (primero bienvenido y te invito a que conozcas las reglas de la comunidad) le pegues una buena revisada a nuestra sección de artículos, ojalá desde lo mas antiguo hacia lo mas reciente, allí hay valiosos consejos que han sido fruto de la acumulación de experiencia de la comunidad en el desarrollo de vieojuegos en general y en particular con Game Maker.
Lo primero que hice nada mas registrarme es leer bien las reglas de la comunidad y antes de postear nada estuve viendo las reglas de posteo de cada sección para saber donde y como poner las preguntas.  :P

En cuanto a los artículos estuve viendo algunos por encima y desde luego me van a venir genial cuando me centre en alguna cosa en concreto pero hasta donde pude ver no se cubría el aspecto de como enfrentarse a un proyecto desde 0 y por eso abrí el hilo.

Muchas gracias por la bienvenida y por el tiempo dedicado a leer y responder mi pregunta :D

6
Gracias por la rápida respuesta Frenzy.

Citar
Hay muchas metodologías para el desarrollo de un videojuego, principalmente se parte de dos documentos importantes, el de diseño y el técnico. En el de diseño va la idea general del juego y los detalles de este, como la ficha técnica, mecánicas , interfaz  game core, controles, etc.

Algo similar a esos documentos tengo en uno solo, ya que en principio solo estoy yo desarrollando el juego y no vi la necesidad de dividir en dos la información, mi pregunta iba mas bien orientada a la hora de ponerme manos a la obra con el propio Game Maker, ahora mismo mientras me decido y me oriento estoy haciendo un par de miniproyectos para hacerme un poco a donde están todas las cosas colocadas. Voy a poner un ejemplo muy concreto de algo que podria catalogarse como juego cortito para que entendáis mejor mis dudas.

Imaginemos que quiero hacer una versión 0.0.0.1 del famoso cookie clicker en el que quiero tener una galleta en pantalla en la que al hacer click gano puntos, solo eso.

¿Cual sería el orden a la hora de programar eso en Game Maker? Se me ocurre que para algo tan sencillo los pasos serían:
  • Crear Sprite "sp_galleta"
  • Crear Objeto "ob_galleta"
  • Crear Room "ro_main"
  • Programar Evento click
  • Programar Draw

Esto es algo muy vago y muy simple que solo sigue un procedimiento lógico, pero me surgen 2 problemas: 1, no se si mi lógica encaja con la lógica en que se basa Game Maker para funcionar; 2, Si la trama se complica no se como orientarlo, digamos que quiero implementar al ejemplo anterior una sección con mejoras, con los puntos que gané los puedo invertir en mejorar la potencia de mis futuros clicks, etc, etc, lo que es un cookie clicker.

En este tipo de complejidades es en las que agradecería alguna forma de ver que orden seguir para no dejarme nada atrás e ir pudiendo hacer pruebas de vez en cuando para comprobar que todo lo que voy haciendo va funcionando correctamente.

Creo que voy a publicar el miniproyecto que estoy haciendo solo para practicar con la interfaz del Game Maker en alguna sección si encuentro la sección adecuada para hacerlo :D

Otra vez gracias por vuestro tiempo :D

7
Sé algo de programación pero nunca hice nada orientado a videojuegos y me gustaría llevar a cabo un proyecto desde 0, pero estoy bastante perdido en cuanto a la metodología de trabajo.

Me gustaría que me dieran algún consejo sobre como debería fragmentar el trabajo necesario que se ha de hacer y en que orden ir desarrollando las cosas.

Tengo una idea del juego que quiero hacer bastante clara en mente ( y en papel ) pero no sé por donde empezar. Solo tengo clara una cosa, y es que me gustaría centrarme en la parte de que el juego funcione, que sea jugable, antes de pelearme con la parte gráfica, aun no sé si me encargaré yo mismo de hacer el apartado gráfico o pediré ayuda a alguien. Si tengo que elegir entre 2 muñecos super monos que no hacen nada, y 2 cuadrados uno rojo y otro azul que son capaces de pelear como dioses, me quedo con los cuadrados XD espero que se entienda mi preferencia.

Me gustaría acabar agradeciéndoles el tiempo dedicado en leer mi pregunta y disculparme de antemano si en alguna otra parte del foro hay algún post ya creado que tenga unas lineas generales que describan lo que estoy pidiendo pero llevo un par de días buscando y no encontré nada que se le parezca.  :-[

Páginas: 1