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

16
Preguntas y respuestas / Re:Poner color al enumerador
Noviembre 19, 2019, 12:07:31 PM
Buenas,

He visto que alguien tuvo ese mismo problema y lo arregló, aquí tienes el hilo:
https://forum.yoyogames.com/index.php?threads/gms-1-451-enum-problem.38237/

Un Saludo.
17
Si y no, ya que los tiles que son obstáculos no son cuadrados, tienen irregularidades. La opción que veo es crear una grid más con celdas más pequeñas, y así que más o menos se adapten a la forma de los obstáculos, y poder hacer también una especie de suavizado cuando la luz se aleja. Lo que tendría que probar el impacto en el rendimiento que tiene.

¿Se te ocurre alguno otra forma de hacerlo? Si no, lo probaré y diré por aquí que tal ha ido.
18
Preguntas y respuestas / Re:Deteccion del touch en android
Noviembre 18, 2019, 08:27:11 PM
Buenas,
Puedes hacerlo como lo hacías en Windows, o directamente puedes usar lo nuevo de GameMaker, que te detecta arrastres, pulsaciones, pinch, rotar... te dejo la documentación:
https://docs2.yoyogames.com/source/_build/2_interface/1_editors/events/gesture_events.html
19
Preguntas y respuestas / Sistema de iluminación por tiles
Noviembre 12, 2019, 08:04:37 PM
Buenas,
Estoy haciendo un juego de estrategia en tiempo real con ... hormigas, y estaba pensando en agregar algunos shaders o algo a la capa bajo tierra, para que tenga más detalles y darle un toque dinámico. Entonces pensé en las luces, me gusta la luz utilizada en las galerias en el juego llamado Empire of the Undergrowth, pero es un juego en 3D.

La capa bajo tierra está compuesta por un tilemap y una grid, para que las hormigas sepan dónde pueden caminar. Estaba buscando en el mercado, y los assets que vi son para objetos, no para tiles ...
Pensé 2 métodos:
1. Cuando una hormiga cava, haga objetos a su alrededor donde haya tierra, con la forma del tile de debajo. Entonces puedo usar un sistema de luz basado en objetos. Pero eso agregará muchos objetos al juego (pero podría desactivarlos si están dentro de la cámara).
2. Recorrer todas las celdas dentro de la cámara, y si hay una fuente de luz, reemplazar el tile de tierra por una tile iluminado si la luz puede alcanzar, pero creo que esto no es tan bonito.

Sería genial si alguien sabe cómo hacer esto, y sin perder mucho rendimiento, porque el juego también es para dispositivos móviles.

Gracias

PD:
Vi este recurso, que dice que puedo crear una malla a partir de un tilemap, pero los tilemaps se cambian constantemente y no sé si tendrá un gran impacto en el rendimiento, le preguntaré al editor.
https://marketplace.yoyogames.com/assets/5229/aura-2-0-lighting-engine
20
Preguntas y respuestas / IA en multijugador online
Junio 30, 2019, 12:22:36 PM
Hola comunidad

Bueno, tras años con GameMaker, he decidido pegar el salto y empezar a hacer algo con multijugador en linea. Y ue pensado en hacer un juego del estilo .io para android, usando un servidor en Python 3. Por ahora eso no es problema, el problema reside en que como manejo el IA.. es decir, ya sea un IA global como podrian ser los triangulitos en diep.io o cualquier enemigo que no pertenezca a ningun jugador. Y además, si quiero que el equipo del cliente sea capaz de crear soldados, que hago.. creo todos los soldados en todos los clientes y que ellos se encarguen de procesarlos? Pero que pasa si en un cliente el soldado hace algo que en los otros no hace? Y ademas, si hago que el cliente sea quien procese el IA... que pasa si el cliente se desconecta, ya que el IA se "apagaria", y deberia poder controlarlo otro miembro de si equipo. Como podeis observar esto es algo nuevo para mi, no solo en GM, cualquier ayuda seria muy agradecida.

Gracias
21
Si tienes varios objetos que realicen esa consulta en un evento step, pueden surgirte bugs y consumes bastantes recursos. Te recomiendo que te plantees lo de usar un controlador si tiene muchos objetos  ;)

¡Un saludo!
22
Si te refieres a un juego del estilo Candy Crush, lo que puedes hacer es un controlador, y que cuando se realice un movimiento o una acción del jugador, este haga lo siguiente:
- Primero de todo tendrias que tener la zona de juego como una cuadricula, que cada caramelo o lo que sea cubra una celda.
- Entonces el controlador recorre recursivamente todas las celdas (de arriba a abajo, de abajo a arriba, izquierda a derecha.... o personalizado), y cuando encuentre un caramelo haga una comprobación en 4 direcciones. Si por ejemplo, hay un caramelo igual en la  parte inferior, entonces, comprobará si en su parte superior hay otro identico y entonces serán 3, y si no hay uno igual arriba, comprueba dos niveles abajo. Y lo mismo para horizontal.
- Si encuentra que se juntan 3, rompe el bucle y destruye esos caramelos, y hace que los caramelos que tengan que bajar, bajen.
- Cuando los caramelos no se muevan, haz que el controlador haga otra busqueda (esto permite combos), con un movimiento explotan varios.

Nunca he hecho un juego así, pero si los he jugado, y yo diría que la lógica va en ese sentido. A ver si hay alguien aquí que los ha hecho y te lo puede decir con exactitud.

¡Un saludo!
23
Cita de: Fashion_Trozos en Mayo 16, 2019, 12:48:15 PM
Hola y muchas gracias por responder. Quieres decir que con la linea del script de "Ataque/picando" que pone:


if image_index = 4 {

atacando = false;

}


No es suficiente para parar el ataque, no?

Voy a intentar hacer algunos cambios a ver si puedo afinar mas mi pregunta, es que dudo tanto que no se que preguntar

El image_index no solo puede ser 1, 2, 3, 4, etc, sino que es más probable que tenga un decimal, ya que va aumentando en decimales. Podrias hacer algo como:

if floor(image_index) = 4 {

atacando = false;

}


Esto lo que hace es redondear el valor de 'image_index' hacia abajo, lo que pasa es que el código 'atacando = false;' se ejecutará varias veces, pero creo que no debería afectar negativamente en tu caso.

Un Saludo!


24
Un método si vas a usar armaduras, herramientas y cosas así sería usando Spine, no se que opinarán los demás.

Un saludo!
25
Vale, dandole vueltas se me ha ocurrido algo que deberia funcionar:

Por ejemplo tenemos lo siguiente;
- IA1 -> Equipo 1
- IA2 -> Equipo 1
- IA3 -> Equipo 2

Entonces cuando el IA1 crea soldados, creará obj_soldado_1, donde 1 es el número de equipo. Este objeto, tendrá la variable 'ia', que será igual a IA1, esto permite al soldado interactuar con el IA1 y viceversa.

Y lo mismo con el IA2, creará obj_soldado_1, con la diferencia de la variable 'ia', que será igual a IA2.

Luego tenemos a IA3, que creará obj_soldado_2.

Esto permite que obj_soldado_1 haga 'instance_nearest' de soldados que no son de su equipo sin problema.

Es más fácil de lo que pensaba, dejo esto aqui por si alguien tiene la misma duda o le sirve.

Un saludo!
26
Maaadre mia como ha cambiado el foro...

Al fin vuelvo, y vengo con una duda.

Hace casi un año, saqué un juego, que la verdad me ha generado bastantes buenos beneficios: https://play.google.com/store/apps/details?id=com.SeirLord_Games.AntWarSimulator

Y para agradecerlo, quiero rehacer el juego desde 0, con nuevas funciones y optimizado. Una de las funciones que se me ocurrió fue permitir los equipos, por ejemplo, el jugador puede estar aliado con el IA1, por lo que estos no se deben poder atacar. No se me ocurre forma de hacerlo eficientemente, ya que pueden haber cientos de instancias facilmente, y al no tener equipos, lo que hago es hacer un instance_nearest para buscar al enemigo mas cernano.

Poner una variable en los objetos con un INTEGER del equipo no funcionaria, ya que el instance_nearest ignora la variable.

¿Alguna idea de como hacer esto? ¿Cómo lo harán los RTS?

Un saludo.
27
Ah vale disculpa no lo vi jaja. Muchas horas de viaje :-[
28
Si, el problema es que al tratarse de un RTS no puedo desactivar a los enemigos. No sabia que los tiles podian desactivarse, como se hace?
29
Preguntas y respuestas / Re:duda con sprites
Diciembre 20, 2018, 01:42:28 AM
Se queda con el valor que sea mas bajo. Asi que si la suma de la vida + 20 es mayor a 100, se queda con el 100
30
Preguntas y respuestas / Re:duda con sprites
Diciembre 20, 2018, 01:32:28 AM
Cuando le sumes la vida pon:
vida = min(vida+20, 100)