Game Maker Studio: Dudas y colaboraciones

javifugitivo

Hola a todos, me animo a abrir este tema en concreto si la administración de mediavida lo permite, para proponer un post sobre Game Maker Studio.

1. ANTECEDENTES

En mi caso, yo descubrí Game Maker Studio en octubre de 2012 y desde entonces me he puesto a desarrollar juegos para android, habiendo lanzado uno de prueba en Google Play, con más de 7000 descargas a pesar de ser una chorrada, y ahora estoy en proceso de lanzar el segundo a fin de mes.

Me parece un motor muy flexible y sin saber programación se pueden hacer cosas muy interesantes, yo para aprender me he leído eso sí, cientos de tutoriales, foros y demás en inglés, aprovechando que es un programa cuyas primeras versiones datan de muchos años atrás. Lo interesante de Game Maker Studio hoy en día es su facilidad para diseñar un juego multiplataforma en Pc, Android, IOS, Html5, Linux, etc.

El sistema que usa GM:Studio es una interfaz gráfica con una biblioteca de elementos, y para operaciones complejas usa un código propio (GML) que está basado en C bastante sencillo, orientado a objetos y variables.

2. PROPUESTA

Sin embargo no estoy en contacto con gente que lo esté usando por lo que estoy aprendiendo las cosas por mi cuenta, sin dialogar con personas que estén interesadas realmente en él y por tanto poder ayudarnos en nuestro proyectos, resolviendo dudas, aprendiendo cosas nuevas, etc.

Por tanto mi propuesta es echar un cable a todos aquellos interesados en aprender, resolviendo dudas por este tema o bien por raidcall, haciendo una especie de clases particulares gratuitas a aquellos interesados.

Además se usará este tema para hablar de nuestros proyectos, resolvernos dudas entre todos, etc.

3. NECESARIO PARA COMENZAR EN GAME MAKER

Ganas de aprender. Para empezar basta con descargar la versión gratuita de Game Maker Studio de la página de Yoyo o de Steam (lo que te permitirá acceder a juegos de GM:Studio subidos a Steam Works y subirlos tuyos propios.

4. A TENER EN CUENTA

Yo sólo ofrezco aquí apoyo tutorizado con mis humildes conocimientos, resolver dudas, dar consejos, etc. Para ello ayudaré con códigos GML que podais aprovechar y con diversas técnicas para hacer un desarrollo serio.

Tengo licencia oficial de Game Maker Studio para PC y Android, por lo que si saliera algún buen proyecto, podría facilitaros los pasos para que vosotros mismos publiqueis vuestros juegos de forma legal en Google Play o PC.

Si saliera gente interesada con la que se pudiera trabajar no descarto ayudar a formar uno o varios grupos de desarrollo, pero ese no es el objetivo inicial de este tema.

5. MANUALES

· Tutorial para principiantes de Derek Yu (MUY recomendado) http://forums.tigsource.com/index.php?topic=3251.0

· Conceptos básicos sobre GML (el lenguaje de programación de GM) http://gmc.yoyogames.com/index.php?showtopic=424410

· Buenos Hábitos de programación en GM. http://gmc.yoyogames.com/index.php?showtopic=511359

· Optimizando tu juego en Game Maker (también de Derek Yu) http://forums.tigsource.com/index.php?topic=3747.0

Todos están en inglés.

Otros manuales muy interentes y que podeis comprar física o digitalmente:

5. MÁS INFORMACIÓN

Steam: javifugitivo
Blog de Gamers Island: http://gamersisland2d.blogspot.com.es
Página de Yoyogames: https://www.yoyogames.com/

13
kamina93

muy interesante voy a echarle un ojo a ver que tal y te voy contando

1
CaronteGF

Yo lo estuve probando, hay un juego bastante sencillote que tengo diseñado y que quise hacer, pero a todas luces hay que programar, símplemente añade algunas funciones diseñadas que ahorraran algo de tiempo (Colisiones, timers, cosas asi).

Si alguien se anima a probarlo, puede contactar conmigo y le cuento lo que quería hacer. Es bastante sencillo de programar (Lo más difícil: El Scroll) y se le podría dar cierta profundidad.

1 respuesta
javifugitivo

#3 Al no tener más detalles, no puedo saberlo el tema del scroll como iría en game maker, aunque con GML se podría hacer 100 % seguro. Todo es ponerte, ya que es un lenguaje muy sencillo, te deseo suerte con tu proyecto a ver si algún día ve la luz, o alguien puede ayudarte. Si deseas ponerte tú, te echaré un cable, claro está ;-)

1 respuesta
CaronteGF

#4 Gracias, quizá en algún momento, cuando tenga algo de tiempo (...) me ponga a ello. En verdad vi que la programación de GML es bastante fácil, pero de programación hace que no lo toco 12 años.
Realmente no es un proyecto grande, es un gameplay sencillote pero que yo mismo he probado y me ha parecido muy divertido, pero no hay nada por el estilo.

Foni

Me uno a este hilo.

He programado videojuegos anteriormente, y ahora mismo tengo mi trabajo a jornada completa y para llevar desarrollos en otras plataformas de desarrollo necesitaría demasiado tiempo, así que quizá esta sea la solución.

Lo tengo instalado y he estado probandolo, parece sencillo e intuitivo. El principal problema, el tema de los gráficos, que lleva demasiado tiempo spritear en 2D

Un saludo y ya os iré contando mis evoluciones

1 respuesta
javifugitivo

#6 Sí, en el tema de spritear tienes razón, aunque la cuestión es organizarse. Tengo un amigo que empieza a programar algún juego, y antes de tener nada tangible, me pide que le haga decenas de sprites, con su animación, etc. ... cuando lo que debería hacer es terminar una mini-alpha del proyecto, aunque sea con sprites temporales (cuadros, circulos, garabatos, bocetos), y una vez se vea que el proyecto funciona, es cuando se empieza a tocar el tema artístico.

Me ha pasado alguna vez de empezar a dibujar sprites a 96 x 96, para luego por cambios en el estilo de juego o resolución, tener que rehacerlos en 128 x 128, por darte un ejemplo...

Por eso yo empiezo con bocetos básicos y formas, y cuando veo que me gusta y funciona la jugabilidad, igual dedico 1-2 semanas, por entero al tema artístico. Para ello uso sobre todo Adobe Photoshop Cs5, Flash e Illustrator, ya que trabajar con gráficos vectoriales tiene sus ventajas a la hora de hacer animaciones y redimensionar objetos etc, terminando el arte final con photoshop, para sombras, etc.

Para lo que necesites, ya sabes, este tema, mensaje privado o quedamos en raidcall ;-)

krzz

Hola a todos, aquellos interesados en comenzar o seguir con Game Maker, deciros que tanto javifugitivo como yo hemos creado un "blog" donde iremos actualizándolo con todas las noticias importantes acerca de este maravilloso programa así como de noticias acerca de videojuegos que sacan usando Game Maker y distintos tutoriales donde podréis aprender junto con nosotros día a día!! :D

Sin mas preámbulo os dejo la dirección de nuestro blog y espero que os guste!!

Accede a nuestro blog!!!:

Gamers Island

Un saludo a todos!!

Postmortem

Yo nose, tampoco conozco bien Game Maker pero creo que Unity tiene más potencial, aunque este parece más enfocado a 2D pero no sabría decir

Podríais describir las ventajas de GameMaker?

Y cual es mejor para alguien que no le supone ningún problema programar.

1 1 respuesta
javifugitivo

#9 Unity tiene más potencia en 3d. El problema es que tienes que ponerte con modelados 3d, texturas, animaciones 3d, etc.

Al trabajar en 2d te ahorras esos pasos, ya que trabajar con pixel art, o gráficos vectoriales Hd, es algo más sencillo, y es más rápido todo el proceso. Es más fácil que alguien te ayude unos días por ejemplo, haciendote unos sprites, que pidiéndole que te modele personajes y objetos en 3d.

A la hora de programar, en los dos se programa así que no hay diferencias. Es ya cuestión de gustos. Creo que de todas formas Game Maker es más sencillo que Unity, sin embargo la diferencia está ahí, en el enfoque. Así que mi respuesta es sencilla: para un proyecto 2d, Game maker, y para 3d, Unity ;-)

krzz

Le estamos dando caña al blog , cualquier duda que tengáis ya sabéis donde estamos!!

N1Tr0s

muy chulo todo, muy buen curro.
Los tutoriales para noobs creo que son lo mas importante

1 respuesta
javifugitivo

#12 Tienes toda la razón, al mismo tiempo que vamos aprendiendo y solucionando problemas, iremos compartiendo tanto el planteamiento, el método de resolución y el resultado final.

Tenemos en mente preparar dos cosas interesantes: Un plataformas 2d de acción con elementos de rol, y un juego de aventura desde vista superior a lo zelda. Serán dos proyectos básicos de aprendizaje, pero creo que interesantes, ya que serán hechos desde cero.

1 respuesta
N1Tr0s

#13 podeis contar con mi visita diaria ;)
enhorabuena y gracias

1
krzz

Nos encanta que nos sigais , si teneis alguna sugerencia en cuanto a que quereis de que hablemos etc.. hacernoslo saber! ;)

Un saludo!

javifugitivo

Vamos a dar una clase por raidcall sobre como crear un juego de plataformas básico en Game Maker Studio. Los interesados pásense antes de las 22:00h de hoy.

Raidcall ID: 6063201

N1Tr0s

Me acabo de bajar el game maker, ya os cotare si lio alguna ;)

N1Tr0s

Ya he probado a hacer el "My first game" y es bastante simple, cuando tenga otro ratito me pondré con el tutorial "Scrolling Shooter".
Muy buenos manuales en su wiki.

1 respuesta
javifugitivo

#18 Me alegro que te esté gustando, si necesitas cualquier cosa, ponte en contacto conmigo y te echaré una mano.

Yo ahora estoy empezando mi tercer juego, estoy preparando unos sprites básicos para las animaciones y a partir de mañana a programar y diseñar, iré enseñando cosicas por aquí.

14 días después
Jastro

vale, no sabia de la existencia de este hilo, cada vez me esta interesando mas este engine, la verdad es que esta muy interesante la forma de pensar, me pregunto como trabaja el multijugador.

Por cierto la licencia de 500$ he visto que exporta a mac, y demas ¿Lo exporta de forma facil o es otro game maker studio distinto especializado en mac?

GreyShock

javifugitivo es tan rápido que ha creado el hilo un mes y medio antes de que se lo dijéramos xDDD

Me lo guardo en fav y ya pasaré por aquí a dar por culo :)

2 1 respuesta
javifugitivo

#21 Se utiliza siempre el Game Maker Studio de PC Windows, y desde ahí haces las exportaciones. Para Mac, que yo sepa, se necesita un Mac, y mediante conexión de puertos, les envías los datos para los testeos, mediante un webserver que monta el programa. Con los móviles es igual, vía webserver o por cable.

Galbix

Hoy me ha traído de cabeza controlar que los path de los enemigos no se salgan de la vista (y se desactiven) cuando lo combinas con un scroll horizontal. Al final lo he solucionado de forma chusta eliminando la desactivación fuera de vista para esos enemigos, pero tendré que seguir investigando porque no me gustan las chapuzas de ese estilo.

Por cierto, creo que sería buena idea (no sé si en este tema y otro nuevo) recopilar algunos consejos básicos de GM que sirven para la mayoría de juegos y géneros. Por dar un ejemplo, podría decir crear un objeto llamada 'oJuego' o algo así para controlar las varias generales del juego, y otro 'oEnemigo' que sea padre de todas todos los enemigos del juego (o organizarlo por grupos), dado que junto a la inherencia es bastante menos tedioso hacer cambios globales. Ah, y lo de poner 'o' delante es parar saber al momento que se trata de un objeto (a la hora de leer código, por ejemplo); en los sprites se usaría 's' (e.g. sBichoGuapo) y así. Yo estoy muy verde en el programa y estos trucos son enseñados, así que espero que los demás compartáis también vuestros pequeños descubrimientos.

1 respuesta
javifugitivo

#23 Sí, lo de diferenciar objetos es importantísimo, por ejemplo yo uso la siguiente nomenclatura, por ejemplo para el jugador:

spr_player = El sprite del jugador, el resto de sprites relacionados serán: spr_player_salta, etc.
obj_player = Para el objeto en sí.
bkg_ = Para backgrounds
scr_ = Para scripts
path_ = Para Paths
Quizás queden los nombres más largos, pero queda más claro.

Sobre la organización, es muy importante usar objetos "parent", por ejemplo usar un objeto base para cada tipo distinto de objeto. Luego al resto, se le pone como parent su objeto base o "padre", y de esta forma comparte todas sus propiedades a menos que alguna esté cambiada en el objeto hijo. Es algo muy útil para el tema colisiones, por ejemplo.

Yo a mi personaje le tengo puesto las colisiones con un objeto base solido. Todos los demás objetos sólidos lo tienen como parent, lo que me asegura que no haya problemas de personaje atascado, etc.

Y lo más importante: SIEMPRE comentar todo el código y acciones que realices, sin sacar números mágicos aleatoriamente. Se debe programar un juego pensando que otra persona en el futuro quizás necesite echar un vistazo a tu código (o tu mismo dentro de un tiempo) y debe ser capaz de entenderlo. Si pones Velocidad = 8, explica porqué ese ocho y que consecuencias tiene.

Sobre el tema comentarios un par de trucos. Dentro de códigos puedes usar // para comentar una línea o /* y */ para abrir y cerrar un párrafo de comentarios. Además si pones ///Nombre de código, en la prímera línea se cambiará el nombre del Código, en el organizador de acciones.

1
kassiusk1

esto en Linux no funcará bien, no? :(

#26 pues es una pena porque tiene buena pinta, lo probaré en una máquina virtual, pero no se yo como irá. Gracias :P

2 respuestas
javifugitivo

#25 Se pueden desarrollar juegos para linux, pero el programa va sobre Windows, sorry.

1 2 respuestas
elkaoD

#26 ni con Wine?

EDIT: #25 parece que con Wine funciona:

http://appdb.winehq.org/objectManager.php?sClass=version&iId=23252

Y Studio con algún problemilla:

http://appdb.winehq.org/objectManager.php?sClass=version&iId=26612

Todo es probar. Ya nos contarás si te animas si funciona.

1 1 respuesta
kassiusk1

#27 He probado pero no va, no abre el programa. Los archivos que ponen para renombrar en el link que posteaste no me aparecen :/, seguiré intentando cuando tenga algo más de tiempo que ahrora ando apurado, Si consigo ya comentaré como es. Saldu!

javifugitivo

He añadido 3 manuales en el #1 Bastante útiles para iniciarse en Game Maker, uno de ellos en español de 375 páginas muy recomendalbe.

6 3 respuestas
N1Tr0s

#29 gracias, habra que echar un ojo!

Tema cerrado