Crear botones sociales para compartir en tu juego (Twitter, Facebook, Whatsapp y Telegram)
He actualizado el contenido de este post para Game Maker Studio 2, aunque sigue siendo compatible con las versiones anteriores. Además, añado como compartir por Whatsapp y Telegram , que puede ser muy útil para juegos en móviles.
Si tienes un juego publicado en alguna plataforma, es muy posible que tengas tu propia página web (por no decir que es casi OBLIGADO). Y casi seguro que también tengas una cuenta de Twitter y/o Facebook de tu estudio indie o de tu juego (son estrategias de marketing diferentes pero perfectamente válidas).
Sea o no el caso, lo que es seguro es que te interesa que tu juego se comparta por las redes sociales, y para eso tienes que ponérselo fácil al jugador. Una opción fácil es que se pueda hacer desde el mismo juego: desde una opción de menú puedes hacer que le gusten tu página de Facebook o tu cuenta de Twitter, si consiguen un record de puntuación sugerir un tweet o share, etc.
Desde Game Maker Studio podemos hacerlo gracias a una función de GML. Tiene un poco de truco, así que vamos a explicarlo en detalle.
Al igual que un tweet de Twitter o un post de Facebook tiene su propia dirección web, mediante un enlace podemos crear contenido para compartir. Ejemplo de estas redes sociales:
¡Me encanta AprendeGameMaker (Twitter)!
¡Compartir AprendeGameMaker (Facebook)!
Pero también podríamos crear enlaces para compartir en apps de mesanjería. Hablamos de Whatsapp y Telegram. Ya que estás, comparte mi página con tus amigos 👇👇👇
Mira esta página sobre Game Maker (WhatsApp)
Pedazo de página para aprender Game Maker Studio (Telegram)
Así que sólo hay que crear la url de manera correcta. Luego llamamos a la función url_open()
, y le pasamos como parámetro la dirección generada. Esto lo podemos hacer en un evento Left Mouse Released .
La pregunta es ¿Como hago la url de compartir en Game Maker Studio? Veamos cada uno de los ejemplos.
Como compartir tu juego en Twitter
Para compartir en Twitter tu juego de Game Maker Studio, mediante una dirección web, debemos ver los posibles parámetros que podemos tener.
- text: El texto que compartimos en el tweet.
- url: Si queremos poner una url como referencia.
- via: Si queremos poner una mención de una cuenta.
Vamos a separar cada parámetro como una variable, así podemos verlo más claro. El código en GML sería algo así:
tweet = "http://twitter.com/intent/tweet?"; text = "Me gusta Aprende Game Maker"; //Texto que aparece en el tweet url = "http://www.aprendeGameMaker.com"; //Aquí una web si tienes de tu juego hashtags = "%23gamemaker %23GML"; via = "aprendeGM"; //si queremos una mención tweet += "&text=" + text + hashtags; if string_length(url) > 0 {tweet += "&url=" + url; } if string_length(via) > 0 {tweet += "&via=" + via; } url_open(tweet);
Lo más raro aquí sería la variable hashtags
, dónde en vez de ver #gamemaker
ponemos %23gamemaker
. Los caracteres especiales no pueden ponerse tal cual en la url, y # es uno de ellos. Para ver aquí en la tabla de referencia de HTML.
Como compartir tu juego en Facebook
Actualmente, desde Facebook no he visto la manera de compartir un texto simple, sino que sólo puedes dar a Me Gusta y compartir una dirección web. No hablo de una página de Facebook como tengo yo, sino de compartir un artículo como éste (como los botones que aparecen en el blog). Así que de momento no se puede modificar o añadir texto a una publicación de Facebook.
Pero si que podemos hacer algo un poco más manual. Si tienes una página tuya o de tu estudio indie, puedes crear un post manual, por ejemplo cuando ya has lanzado tu juego, y luego conseguir el enlace del post (es el que hay en la fecha de publicación). Por ejemplo:
Luego solo hay que llamar a url_open()
de ese enlace.
url_open("https://www.facebook.com/dbrgamestudio/posts/810658899038777");
Se que Game Maker Studio tiene funciones propias de Facebook, pero no las he probado. Os deje este enlace de la ayuda por si queréis probarlas.
Si alguien ve que se puede compartir cosas con esas funciones, ponedlo en los comentarios.
Como compartir tu videojuego por WhatsApp
Vamos directo al grano, el código para compartir por Wahstapp tu juego sería algo así:
whatsapp = "whatsapp://send?text=" text = "¡Me encanta este juego!. Mira en esta web" + vk_enter; text += "https://aprendegamemaker.com" whatsapp += text; url_open("whatsapp");
Este código es suficiente para añadir al botón. Recuerda que estamos hablando todo el rato de compartir tu proyecto, pero en WahstApp, pueden ser muchas cosas: un nivel desbloqueado, un nuevo récord, etc.
Como compartir tu videojuego por Telegram
No nos olvidemos de Telegram, que tiene su propia codificación de url. Al igual que en Twitter, debemos separar el texto de la url en parámetros saprados para que los tenga en cuenta:
telegram = "tg:msg_url?url=https://aprendegamemaker.com/&text=Pedazo de p%C3%A1gina para aprender Game Maker Studio text = "Comparte esta web que puedes hacer unos juegos increíbles."; url = "https://aprendegamemaker.com" telegram += "&text=" + text; if string_length(url) > 0 {telegram += "&url=" + url; } url_open("telegram");
¡Y ya los tenemos todos!
Compartir nuestras páginas de nuestro juego
Como hemos dicho al principio, si tenemos creada una página de Facebook y una cuenta de Twitter, nos interesa que le den a Me Gusta 👍👍👍 a tú página o compartir uno de los posts que haces allí. La opción es la misma que hemos comentado con el post de Facebook, poner una url fija en el código.
Resumen final
¿Es posible poder compartir tu juego en redes sociales? Claro que sí.
Con Twitter tenemos la posibilidad de hacer lo que queramos: pedir que nos siguen, compartir récords, cualquier cosa que se nos ocurra, porque podemos modificar texto, mención, url, etc.
Con Facebook parece que no tenemos tantas posibilidades, pero aún podemos compartir nuestro juego si hemos hecho una página dedicada.
¿Que opináis de las posibilidades que ofrece esto? Yo creo que cada vez cobrará más importancia los juegos colaborativos que implicarán contacto con redes sociales. Aunque de eso ya hablaremos en otra ocasión.
Hola , esto en teoria me sonaba bastante basico pero veo que tiene su truco. tengo una idea de como podrias mejorarlo pero no de como hacerlo quizas tu puedas hacerlo funcionar.seria posible conectar alguna variable de highscore a el texto ?? es decir que en el twitter aparezca algo como “Mi puntuacion en X juego fue 588Pts, trata de vencerme linkplaystore.com ” lo ideal seria un screenshot pero lo veo mas dificil
Siempre puedes guardar la variable localmente, como por ejemplo tu récord, y usarla para enviar por twitter. Aquí explico como guardar configuración en ficheros ini.
Otro tema es que quieras usar los datos que se han guardado en Game Center, Google Play o Amazon Circle, lo que significa usar otras funciones de GML. Aunque a mi me gusta guardarlo todo en local y enviarlo luego a dónde toca.
En el ejemplo no he puesto nada de imágenes porque no se como se hace, aunque dudo que por cadena URL se pueda poner.
Amigo son geniales tus tutoriales podrias explicar en uno como hacer multi touch para android. Por favor.
Me lo apunto. Hacer multitouch es sencillo, lo complicado es como usar ese multitouch (para jostick, hacer zoom, etc).
Muy bien, excelente post, sería bonito en una segunda entrega, explicar como hacer otro tipo de cosas en Facebook como por ejemplo: enviar solicitud del juego a los amigos, solicitar ayuda a los amigos para pasar cierto nivel o que te envíen vidas, también poder compartir avance y logros del juego en Facebook, teniendo el juego publicado en un host y publicado en facebook.
De esta manera obtendremos juegos mucho mas profesionales y nos ayudarán mucho con la publicidad.
Genial! Muy buena información!
Una pregunta, ese código para la URL de Twitter, ¿En qué Eventos y Objetos se colocaría?
Si haces un objeto que sea un botón, lo puedes poner en el evento Left Pressed.
Wou men eres muy bueno en esto te lo agradezco mucho, jeje oye tiene un nuevo seguidor xD y bueno si cualquier cosa seguiré estando por aquí haber que mas veo interesante aunque todo es muy interesante pero es mucho jeje
Gracias por tu comentario. Nos vemos!
¿existe la manera de compartir una captura de pantalla?, y de ser asi ¿como seria?
la función
screen_save()
te guarda la captura en un fichero. Luego puedes hacer lo que quieras.También permite ahora guardar un gif, ¡¡así puedes hacer una captura en movimiento!!