Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

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

Páginas: 1 2 3 ... 11
1
Preguntas y respuestas / Problema fullscreen
« en: Septiembre 06, 2020, 10:40:49 pm »
hola a todos! gracias a la ayuda que me han otorgado e logrado hacer muchas cosas interesantes dentro del juego que estoy creando pero nuevamente me topo con un problema que esta fuera de mi conocimiento y espero que alguien experimentado pueda apoyarme al respecto!

me dedique a investigar un poco y decidí crear un juego alejado de los pixeles (invertí un poco en las herramientas para dibujar arte digital y animarla en adobe animate cc) para hacer algo con un estilo diferente pero me tope con algo inesperado y es el manejo de las resoluciones. aqui les dejo el ejemplo de mi personaje, el tamaño mostrado es el tamaño que el juego usa para dibujar las cosas.

https://imgur.com/a/GomGRfh

la idea aquí es que el jugador pueda escoger la resolución a la que desea jugar pero el problema radica al entrar en modo pantalla completa los sprites se ven algo borrosos, no exageradamente mal pero puedes notar que los colores y las lineas se ven mal, como si tuvieran un filtro encima, tengo activada la opcion "interpolate colors betewn pixels"  porque si la desactivo el juego se ve peor se ve super pixelado y no me convence para nada.

mi pregunta es, se puede de alguna manera proyectar la pantalla de una forma que los colores se noten en "HD" y que los graficos nos e vean borrosos? algun plugin o alternativa? porque en modo ventana a 600x600 el jueog luce muy bonito pero al ponerlo a pantalla completa se va la magia!

trate de usar imagenes en vector pero a la minima que trato de compilar el juego con una imagen de esas el game marker me crashea sin darme ningun error o aviso ya lo desinstale y hice de todo pero no parece funcionar, habia experimentado con vetores antes pero las imagenes lucen peor que los png a pesar de usar el codigo adecuado.

espero puedan ayudarme o darme un consejo para solucionar este pequeño problema estetico! y de antemano gracias.

2
Preguntas y respuestas / Re:variables con memoria
« en: Septiembre 06, 2020, 07:45:17 pm »
Buenas,
Lo primero de todo ten cuidado con llamar a tus variables igual que algunas palabras reservadas del Game Maker, en este caso score es una variable built-in, si intentas llamar a tu variable de esta forma: global.score ,al intentar compilar el proyecto deberia darte un error.

Te recomiendo no usar una variable global por cada score que quieras guardar, yo usaría un array, lista, mapa, lo que sea para almacenarlo. en lugar de tener global.score_congelado, global.score_congelado2, global.score_congelado3, etc, etc...

Algo así:


//CREATE
global.my_score = 0;
global.scores_congelados = ds_list_create();


//STEP
if (global.my_score >=500 && is_undefined(global.scores_congelados [| 0])) {
    ds_list_add(global.scores_congelados , 500);
}

if (global.my_score >=700 && is_undefined(global.scores_congelados [| 1])) {
    ds_list_add(global.scores_congelados , 700);
}

De este modo tendrias almacenado en la posicion 0 y 1 de tu lista los valores 500 y 700, pudiendo ampliar la lista lo que quieras.
Luego si quieres mostrar u operar con estos valores solo tendrias que acceder a la posicion de la lista que quieras.

Por cierto, ¿puede ser que no te estuviese funcionando porque estabas pisando continuamente el valor de global.score_congelado?
Si tenías algo así:

if (global.score >500) 
global.score_congelado= global.score;

global.score_congelado se estaría actualizando constantemente al valor de global.score

Espero que te sirva, un saludo.


perdona por la tardanza colega pero me sirvió de maravilla pude hacer todo un sistema usando tu código y te lo agradezco mucho!

3
Preguntas y respuestas / variables con memoria [SOLUCIONADO]
« en: Agosto 09, 2020, 03:29:25 am »
hola a todos! lindo día el que hay afuera!


tengo un pequeño problema y espero tenga solución y que puedan ayudarme :) porque ya le di vueltas hasta el cansancio, tengo una variable llamada:

global.score=0

esta variable guarda los puntos del jugador durante la partida hasta ahi todo correcto me gustaria tener 3 variables cada cierto tiempo estas 3 variables congelen la puntuacion algo asi como recordar la puntuacion que tenias en ese momento usando la variable global.score pero sin que cambie ninguna de la svariables congeladas por ejemplo

global.score=500

global.score_congelado= global.score // en este caso eran 500

si el jugador gana mas puntos por ejemplo

global.score=700

recordando que el anterior score era 500 entonces

global.score=700

global.score_congelado= global.score // en este caso eran 500
global.score_congelado2= global.score // en este caso eran 700

espero los ejemplos ayuden la idea es usar una variable base, y congelar o guardar en ciertos momentos ese valor sin que se modifique una vez guardado, ojala puedan hecharme una mano! o si esto es posible porque creo estoy soñando mucho! de antemano gracias!

4
Preguntas y respuestas / Re:Varias A.I eligiendo diferentes objetivos
« en: Mayo 31, 2020, 08:58:42 pm »
Pon una variable en el objeto mesa que indique si está ocupada
ocupada = false;

El objeto cliente puede buscar una mesa vacía así
mesaObjetivo = noone; // al principio no hay objetivo

with (objMesa) {// revisar todas las mesas
    if (ocupada == false) {// si una mesa no está ocupada
        other.mesaObjetivo = id; // se convierte en objetivo
        ocupada = true; // ahora está ocupada
        break; // terminar de revisar las mesas
    }
}

funciona de maravilla! al iniciar cada cliente escoje una mesa vacia y se va a ella, muchas gracias!

5
hola a todos! me puse a practicar un rato con el pathfinding que trae game marker por defecto y todo muy bien hasta ahi pero me surgio un pequeño problema tengo 5 objetos llamados "objetivo" que es un objeto duplicado 5 veces y tengo un objeto "A.I" duplicado 5 veces

la tarea del objeto A.I es ir hacia un "objetivo" y marcarlo como reservado es decir que quiero que desde que el juego inicie cada A.I vaya hasta un objeto que no este ocupado por otra instancia A.I

por ejemplo digamos que el "objetivo" es una mesa vacía y el "A.I" es un cliente que quiere ocupar esa mesa cuando corro el código todos los clientes se quieren sentar en una sola mesa, lo que me gustaría hacer es que si un  cliente elige una mesa, los otros vayan escogiendo mesas al azar hasta que todos terminen sentados en las 5 mesas sin amontonarse todos en una misma.

intente asignar una variable que haga target al azar y compruebe si esa mesa ya esta tomada por otro cliente pero no obtuve resultados cual seria el método correcto para hacerlo?

gracias por la ayuda de antemano!

6
Preguntas y respuestas / Re:multijugador CO-OP
« en: Abril 22, 2020, 02:55:55 am »
Hola, gusto en saludarlos.

BssString tiene razón,  debí especificar que para establecer conexión deben cumplirse con ciertos requisitos  :-[. Ahora bien, después de conocer el proceso que nos permite establecer conexión con los servidores podremos lograr lo siguiente.

1.   Que se creen distintos servidores
2.   Que se visualice una lista de servidores disponibles
3.   Que se permita el acceso a uno de esos servidores con tan solo un click.
4.   Que se solicite contraseña antes de conectarse a uno de los servidores de la lista.
5.   Que se borren de la lista los servidores que ya no tienen conexión.

Esto se puede lograr de la siguiente manera:

1. Para que el usuario visualice los servidores disponibles tiene que haberse conectado a un servidor que permita visualizar los disponibles y almacene los datos de acceso a ellos, a este servidor lo llamaremos servidor madre.
2. Entonces el usuario conectado al servidor madre, escoge el servidor que más le guste y se le devuelven los datos necesarios para establecer la conexión.
3. Si no se permite estar conectado a dos servidores distintos entonces con los datos obtenidos debe salir del servidor madre y acceder al servidor elegido.

Ahora bien, ¿cómo enviar los datos de un servidor a otro servidor administrador o madre?

Primer caso:
1. El usuario que crea un servidor,  almacena en diversas variables los datos de acceso al servidor y antes de crear el servidor se conecta a un servidor madre para enviar los datos de acceso, e indicarle al servidor madre que ya existe como servidor, luego se desconecta del servidor madre y se crea el nuevo servidor.
2. El usuario que no tiene intención de crear servidor, se conecta automáticamente al servidor madre para visualizar los servidores disponibles, entonces escoge uno y se le devuelven los datos de acceso, se desconecta del servidor madre y se conecta en el servidor seleccionado.
Segundo caso:
1. Dos usuarios crean servidores distintos cuyos datos ya fueron almacenados en el servidor madre. El servidor madre indica que ya existen dos servidores creados.
2. Un usuario entra automáticamente al servidor madre y selecciona y observa que son dos servidores los que están disponibles, escoge uno y automáticamente se desconecta del servidor administrador o madre y se conecta al servidor seleccionado.

Ahora surge otro problema: ¿Cómo detecta el servidor administrador o madre que uno de los servidores ya no tiene conexión?
1.   Los que pueden reportar el estado del servidor son los mismos usuarios. Por eso cuando un usuario intenta entrar en un servidor y no consigue hacerlo, reporta el estado al servidor madre y se borra de la lista de servidores disponibles.


agradezco la respuesta! bastante interesante la teoria entiendo que ahora debo crear un servidor maestro que me permita visualizar todos los servidores creados por usuarios, la cosa aqui es como hostear ese servidor madre para manejar toda esa carga de datos, entiendo que el juego debe estar abierto como servidor en alguna computadora central. esto es mas complicado de lo que yo me imaginaba jaja pero estoy deseoso de aprender la verdad

7
Preguntas y respuestas / Re:multijugador CO-OP
« en: Abril 21, 2020, 10:37:25 am »
Hola, gusto en saludarlo.

Para conectarse con un servidor protegido por contraseña, es necesario que ya se haya establecido conexión. La contraseña no protege el acceso al servidor sino que protege el acceso a funciones.

1.   El primer usuario crea el servidor y la contraseña la almacena en una variable x
2.   El segundo usuario accede al servidor “sin contraseña” pero limitado.
3.   Al usuario se le pide inmediatamente contraseña de acceso.
4.   Las contraseñas se comparan.
5.   Se le permite o se le impide el acceso a las funciones completas.

Ya has logrado lo más difícil, ahora te toca lo fácil.  :)

Anexos:




gracias por las respuestas!, quiero que me quede claro una cosa y es la siguiente, como se puede hacer para que el server en este caso la persona que esta hosteando la partida pueda mandarme su direccion de ip y poderme conectar a esa partida en especifico, talvez ahora si usando una especie de contraseña porque cuando programe la pequeña prueba puse la ip local para que todo ocurra en lan pero es posible surcar el internet usando la ip de otro para conectarme a su juego en especifico? gracias por sus repuestas!

8
Preguntas y respuestas / multijugador CO-OP
« en: Abril 20, 2020, 01:04:57 pm »
hola a todos!

me puse a trabajar un poco y aprender sobre los juegos multiplicador, cree un pequeño proyecto con un plataformas donde te conectas al servidor local y tanto el cliente como el servidor se pueden ver mutuamente dentro de la partida lo cual esta bien! pero quisiera ir mas aya con esto dado que el proyecto crecerá y me gustaría poder implementar mas funcionalidad a todo esto.

estaba pensando mientras hacia este proyecto, existe alguna manera de que un jugador en otro lado del mundo digamos estados unidos descargue el juego y se cree un servidor y yo aqui en mexico pueda meterme a su partida solo si el me envia una contraseña? para poder ingresar a su partida y jugar el juego entre 2?

no se si me explique bien pero lo resumo un poco, digamos 2 amigos quieren jugar al juego pero ambos son de diferentes paises o estados, cual seria la manera mas eficiente de que uno de los amigos hostee el servidor y el otro pueda ingresar a ese servidor usando una clave de acceso, algo parecido a lo que hace castle crashers en steam

alguien tiene alguna idea para implementarlo? de antemano agradesco cualquier ayuda o ideas!

9
Preguntas y respuestas / pathfinding en un juego isometrico
« en: Febrero 13, 2020, 11:18:53 pm »
ya saben lo que dicen "cuando solventas un problema, se crean muchos mas"

hola a todos! como ya había comentado eh estado trabajando en un nuevo proyecto! un clon de restaurant city en game marker, me propuse como reto usar solo objetos sin usar matemática alguna ni cálculos pero creo que aquí se me acaba el sueño, logre construir entero el sistema de construcción y manejo de objetos dentro de una cuadricula isometrica utilizando únicamente calculos basicos en objetos predefinidos

pueden verlo y usarlo por ustedes adjunto mis avances para todos los interesados!

como saben sin personajes un juego no es nada y es ahi donde empiezan mis problemas, dado que el juego esta en vista isometrica es un poco mas complejo crear A.I y no quiero algo super complejo simplemente tengo a los clientes que van a buscar una silla disponible para poder sentarse lo unico que quiero es que los personajes esquiven objetos solidos para llegar a la mesa que han escojido de una forma muy corta y rapida escogiendo el camino mas eficiente.

empece usando mp_potencial_step para hacer algo rapido y funciono a medias los personajes van a sus mesas de una forma "rapida" pero no eficiente ya que algunas veces dan la vuelta entera al escenario para entrar en el laberinto de mesas y llegar a sus sillas aun estando frente al único hueco disponible entiendo que la mejor manera de hacer esto es usar mp_grid pero entiendo este no funciona en variaciones como la isometria.


para no hacerla tan larga alguien sabe como hacer esto de una forma efectiva? simplemente nesecito que el personaje evite objetos solidos navegue por obstaculos no importando la forma de como esten acomodados. si alguien puede darme una idea o algo de ayuda seria genial!

dejo el editable para que si alguiene sta interesado en hacer un juego de construccion isometrica pueda empezar!


10

Finalmente use un metodo muy sucio para hacerlo que queria y funciono muy bien, muchas gracias!




hola a todos!, hace algunos días e estado experimentando con hacer nuevas ideas para crear algo interesante y recorde un juego isometrico que me encantaba cuando niño llamado restaurant city, lamentablemente el juego cerro hace mucho, pero me vino a la mente crear un juego parecido de construcción con vista isometrica (pongo aqui el video del restaurant city por si alguien no lo recuerda)



bueno sin mas rodeos mi pregunta es, como puedo hacer que los objetos que ponga sobre el escenario se peguen a una cuadricula invisible tanto cuando los deje en el piso como cuando les de click para arrastrarlos que no simplemente flote si no que se peguen en un cuadro disponible mientras lo muevo, me gustaria que pudiera hacerse con objetos y no dibujando los sprites porque es mas comodo para mi de esa forma

yo ya tengo toda la logica de arrastrar y soltar los objetos lo unico que me falta es hacer que se peguen dentro de una cuadricula invisible (espero me explique bien) si alguien pudiera ayudarme seria lo maximo!

de antemano gracias!

11
Preguntas y respuestas / Re:Escribir datos en .ini hosteado en la red
« en: Diciembre 03, 2019, 07:20:33 pm »
Oh vaya, esque como ví una extención llamada en Game Marker server trate de duplicar eso para saltarme los límites de ese sitio

Que manera existiría para poder hacer algo parecido? Solo busco guardar y leer datos de un servidor para que todo el mundo lo vea

12
Preguntas y respuestas / Escribir datos en .ini hosteado en la red
« en: Diciembre 03, 2019, 10:22:20 am »
Hola a todos! e estado siguiendo algunos tutoriales para conseguir escribir y leer datos de un archivo .ini que tengo en una pagina web, logre hacer que game marker lea todos lo que escribo dentro de ese archivo editandolo desde la pagina web, mi pregunta es, existe una manera de editarlo directamente desde game marker? es decir escribir algo en game marker mientras el juego esta abierto y que esa variable cambie en la pagina de internet?

este es el código que tengo para leer los datos

create
url=http_get("https://testing542562367358738.000webhostapp.com/test.ini")
global.opciones=0

Networking HTTP
var result,evid;


evid= ds_map_find_value(async_load,"id")

switch evid
{
case url:
result= ds_map_find_value(async_load,"result")
file= file_text_open_write("test")
file_text_write_string(file,result)
file_text_close(file)
}

ini_open("test")
global.opciones=ini_read_string("test","test","")
ini_close()

de antemano gracias!


13
Propuestas y soporte / Re:Concurso Navidad 2019. (Ya da inicio)
« en: Noviembre 02, 2019, 11:18:21 pm »
los programadores tenemos estándares

-ser educados
-ser eficientes
- tener un plan para usar recursos prestados

*TF2 theme plays*

14
Preguntas y respuestas / Re:Efecto de ser glopeado o atacado
« en: Octubre 10, 2019, 07:17:38 am »
este codigo es algo largo pero funciona como la ceda puedes ser golpeado se muestra el sprite de dañado por unos segundos y despues entras en modo invulnerable donde nada puede hacerte daño, puedes aumentar o diminuir las variables de daño a tu gusto y cuanto dura la invulnerabilidad. si quieres añadir knockback puedes hacerlo añadiendo 2 variables nuevas

push1=false
push2=false

y en el evento step

if hurt= true && image_xscale=-1
{
push1=true
push2=false
}

if hurt= true && image_xscale=1
{
push1=false
push2=true
}

if push1=true
{
vsp=-4
hsp=-2
}
else if push2=true
{
vsp=-4
hsp=2
}

dependiendo de los numeros almacenados en el push es la fuerza con la que tu personaje sera lanzado en el aire

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Codigo de daño

Create event

hurt=false
timer=0
timer2=0
invulnerable=false
lock=false


Step event

if hurt=true
{
sprite_index=sprite14
timer+=1
lock=true
hsp=0
}

if timer>30
{
hurt=false
timer=0
invulnerable=true
alarm[0]=1
lock=true
push1=false
push2=false
}

if invulnerable=true
{
timer2+=1
}

if timer2>80
{
invulnerable=false
timer2=0
visible=true
}

Alarm[0]
if invulnerable=true
{
visible=true
alarm[1]=3
}

Alarm 1

if invulnerable=true
{
visible=false
alarm[0]=3
}

recuerda que debes bloquear las animaciones para que el sprite de dañado se muestre puedes hacerlo poniendo antes del codigo esto

if  hurt=false
{
// tus animaciones
}

y bloquear el movimiento

if lock=false
{
movimiento izquierda derecha
}


ahora para activarlo basta con poner en el evento colision con lo que sea esto

if hurt=false && invulnerable=false
{
hurt=true
hsp=0
}

15
Preguntas y respuestas / Re:Lista de elección aleatoria
« en: Agosto 07, 2019, 03:19:00 am »
wow agradezco la pronta respuesta <3 a final de todo use todos los códigos para diferentes cuestiones ya que es algo exigente lo que quiero lograr y todo funciono como un engrane! se loa agradezco mucho <3

Páginas: 1 2 3 ... 11