Saludos Makeros:
El objetivo de mi pregunta es saber como se compila para Android. :-\
No deja de mostrarme un cuadro de diálogo que dice "Ensure Android SDK setting are all set OK". ???
¿Dónde se encuentra ese SDK que no lo veo? ???
Por favor alguien que pueda responder que debo hacer paso a paso hasta lograr compilar un ejemplo sencillo y ejecutarlo en mi teléfono con Android... :-[
Desde ya muchas gracias .... ;D
Cita de: ferhand en Septiembre 29, 2015, 11:51:40 PM
¿Dónde se encuentra ese SDK que no lo veo? ???
El SDK se tiene que bajar desde el sitio de desarrollo de android, y pesa bastante porque se necesita descargar distintas APIs. Además del SDK de android también vas a necesitar descargar el NDK, y además el JDK de Java
Esta es la guía de YoYo para preparar GM:S ára exportar a android. Yo la seguí al pie de la letra y no tuve problemas.
http://help.yoyogames.com/entries/23363366-GameMaker-Studio-Android-SDK-and-NDK-setup-
Saludos Makeros:
Si alguien pudiera ayudarme...
Tengo el GM:S con el módulo exportador de Android. XD
El problema es que no tengo los SDK, ni el NDK, ni el Java JDK porque nuevamente estoy bloqueado por el gobierno de EE.UU. quien dice que no puedo acceder a dicho contenido desde este país. :'(
Alguien pudiera, si no es mucha molestia, colocar el Android SDK, NDK y Java JDK en el sistema de descargas mega para poder descargarlos. :-[
Muchas gracias a todos por la atención y espero sus respuestas... ;D
Haz una prueba... no se si servirá pero inténtalo. Usa el Chrome con la extensión ZenMate que es como un proxy que te da distintas direcciones. Instalas la extensión, simplemente haz clic sobre el icono y en algun lugar hay una especie de switch o perilla (on-off), ya sabes, lo dejas en on y queda activado con direccion IP de Estados Unidos. No se si esto funcionará pero haz la prueba
Suponiendo que se descarga el SDK de android. ¿Qué pasa una vez que se ejecuta el SDK Manager? EL SDK necesita conexión a internet para revisar qué APIs se deben actualizar, cuáles quedan obsoletos, etc. Creo que también se necesitaría introducir un proxy en las opciones del SDK para poder descargar las apis. Ignoro si en conexión directa el sdk manager permita descargar desde Cuba.
Tenés razón Penumbra, cuando el manager del SDK quiera conectarse le va a dar error.
Amigo, el SDK de android me ocupa 17 GB en mi máquina y comprimido ocupa 4 GB. Esos 4GB me tardan 14 hs en subirlo con mi conexión de internet. Pero de alguna forma lo voy a subir en estos días asi directamente lo descomprimes en una carpeta. El ndk y el instalador del jdk son chicos asi que lo voy a subir rápido.
un video ke va bien: https://www.youtube.com/watch?v=GGSaOkXePgA
el propio game maker trae intrucciones y enlaces.
PD: te vas a tirar la vida bajando el sdk... te aviso, paciencia xDD es exageradamente lento xD
Saludos Makeros:
Mil gracias para los makeros fasst007, penumbra y kostra. :love:
No saben lo agradecido que estoy de que me estén ayudando... :'(
Si supieran lo difícil que se me hace todo para hacer lo que uno quiere... :'(
Gracias de corazón... ;D
Ahí va... lento pero va... tarda más que llegar a marte pero bueno, ya se lanzó el cohete XD.
(http://i.imgur.com/1BpmYgM.jpg)
El cohete llegó a Marte!!! si bien el cohete llegó fraccionado jaja porque tuve algunos problemas al subir los archivos por ello tuve que subirlos de nuevo en 23 partes. Pero ya pude subir el 100% de lo que necesitas.
El enlace a las 23 partes que componen el archivo "PACK SDK NDK JDK.rar" es:
https://mega.nz/#F!vwozDQwK!rgbvJagH9X_cM4gMAoIdMg (https://mega.nz/#F!vwozDQwK!rgbvJagH9X_cM4gMAoIdMg)
Este archivo tiene redundancia de datos, es decir, que si hay fallas al descomprimir puede repararse porque activé la opción "registro de recuperación" y lo definí en un 10% (en lugar del 3% que viene por defecto). En caso de que el archivo este corrupto o dañado, se puede reparar desde el mismo Winrar en el menu Herramientas->"Reparar Archivo".
PARA DESCARGARLO:
No uses la opción: "Descargar todo como un Zip" porque te va a generar un zip de más de 5 GB.
Simplemente haz clic derecho en algun renglón (archivo) de los 23 listados y de las opciones elige "seleccionar todo".
Luego de esto vuelve a hacer clic derecho en cualquiera de esas 23 partes (que estarán todas seleccionadas) y elige: descargar->"descargar normal"
CONTENIDO DEL ARCHIVO:
Una vez descomprimido este archivo generará tres archivos:
android-ndk.zip
android-sdk.zip
jdk-7u79-windows-i586.exe
1) En la raiz de la unidad c: (o la unidad de disco que prefieras) crea la carpeta android-sdk y descomprimes dentro de ella el archivo android-sdk.zip
2) Luego creas otra carpeta en la raiz de la unidad c: llamada android-ndk y dentro de ella descomprimes el archivo android-ndk.zip
3) Instalas el java ejecutando el archivo jdk-7u79-windows-i586.exe
AJUSTAR LA VARIABLE PATH
Luego de esto tienes que ir a EQUIPO->Propiedades del sistema->Configuración avanzada del sistema->variables de entorno
y dentro del cuadrito o listado que lleva el título de "Variables del sistema" (si te fijas está separado en dos columnas, la primera llamada variable y la segunda llamada valor) busca la variable "Path", le haces doble clic, al hacer esto se abre un pequeño cuadro de diálogo y en la parte que dice: "valor de la variable" te vas al final de todo y haces clic para que el cursor se ubique al final de ese texto (y además despinte todo lo que estaba seleccionado) y le pegas esto:
;c:\android-sdk;c:\android-ndk;c:\android-sdk\platform-tools
Nota: incluyendo ese primer punto y coma, el cual no está por error sino que debe incluirse
(el primer punto y coma es importante porque separa lo anterior con este nuevo listado para añadirse correctamente, porque el campo "valor" funciona como un listado separado de puntos y comas)
Luego clic en "aceptar" en todas las ventanas (si hay un botón "aplicar" por las dudas darle clic a este antes del clic en aceptar).
CONFIGURAR OPCIONES DE GAME MAKER
Entra a menu File->preferences->Android
Dentro de esto tienes dos pestañas:
Keystore y Sdk
a) Entra en Keystore
Donde dice Filename, pon un nombre de archivo cualquiera, por ejemplo: mi_keystore
Donde dice Password, ya sabes, la contraseña
Donde dice Alias: Es un alias para el archivo como por ejemplo: ferhand_creaciones
luego vuelves a repetir el password
En Common Name, tu nombre
Organizational Unit: creo que es la sección de la empresa donde trabajas, pero no se bien, yo como no pertenezco a ninguna empresa puse: "programador"
Organisation: Es el nombre de tu empresa, yo como no tengo puse un nombre de fantasía, vos podrías poner "Ferhand Games" por ejemplo.
Locatión: ya sabes, tu provincia o estado
Country: país.
luego de llenar todo haz clic en el botón "Generate"
Puedes ver esto en:
http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/preferences/android%20preferences.html (http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/preferences/android%20preferences.html)
b) Entra en SDK
Entra en Sdk, y donde dice Android SDK location haz clic en el botón con los tres puntos "..." que te llevan a examinar las carpetas y elige la ubicación donde tienes el sdk que en este caso sería "c:\android-sdk"
Haz lo mismo con Android NDK location.
Por último el: JAVA JDK location a mi me apareció automáticamente como "c:\Program Files (x86)\Java\jdk1.8.0_60", como si el mismo Game Maker lo hubiera detectado. Pero si a ti no te pasa igual entonces haz clic en los "..." y busca dentro de c:\Program Files (x86)\Java y posteriormente elige la carpeta que te haya generado dentro con un nombre parecido al mio que es jdk1.8.0_60.
una vez hecho todo esto haz clic en los botones:
"Check Android Sdk" y te debería aparecer al lado: SDK Status: SDK + JDK + Keystore OK
y clic en "Check Android Ndk" y te debería aparecer al lado: NDK Status: NDK OK
Por último cerciórate que esté tildada la opción: install on "Create Application"
Y obviamente haz clic en "OK" de la ventana así guarda los cambios.
ACTIVAR MODO DEPURACION DE TU DISPOSITIVO ANDROID
Esta es una opción en tu smartphone, tablet o el dispositivo que tengas. Tienes que buscar en google como activarlo porque esto suele variar según la versión de android. Yo en mi celular lo activé fácil pero en mi tablet estuve renegando porque la opción estaba oculta y tuve que hacer una serie de cosas para que aparezca esa opción visiblemente para poder activarla. Igualmente no es díficil y en google hay muchas páginas que lo explican y en youtube varios videos.
Por ejemplo en mi celular samsung fame, el mismo está ubicado en: Ajustes->opciones de desarrollador
dentro del mismo activo una especie de llave, o switch (de on-off) y se habilitan las opciones y dejo tildada la que dice:
"depuración usb"
En mi tablet la entrada: "opciones de desarrollador" estaba oculta y había que hacerla aparecer tocando la pantalla (tap) varias veces consecutivas en un lugar, pero no me acuerdo bien, y para no explicarte mal prefiero que lo busques en google que hay mucho material al respecto.
Por último no se si esto es necesario (quizás no) pero por las dudas te lo informo: yo tengo activado la opción "Fuentes desconocidas" (Permitir la instalación de aplicaciones de orígenes distintos a Play Store) y la misma está ubicada en mi teléfono en: Ajustes->Seguridad.
INSTALAR DRIVER USB PARA TU DISPOSITIVO ANDROID
Si bien windows detecta automáticamente el dispositivo y permite acceder al mismo copiando archivos, etc. esto no es suficiente para Game Maker. Necesitas instalar el driver usb de tu dispositivo. Si no encuentras el de tu dispositivo específico entonces busca el de la marca. Por ejemplo, en mi caso, si no encuentro el driver usb del samsung fame pruebo con el driver usb samsung (de la marca). Por último prueba con driver usb universal que había uno que era bastante bueno y me detectaba el dispositivo. En esto debes renegar otro tanto y es importante este paso.
¿Cómo saber si mi dispositivo android va a ser detectado por Game Maker con el driver que le instalé?
Luego de instalarle el driver usb tienes que verificar si va a ser detectado, para ello tienes una forma fácil:
1) Conectar el dispositivo mediante un cable usb. (creo que no es necesario quitar el bloqueo por contraseña de la pantalla del celular, pero puedes probar con desactivarlo si quieres)
2)Entra a "Ejecutar" de Windows esto se logra con "tecla de windows"+R
3) escribe "cmd" (sin comillas) y pulsa "enter"
4) Se abre una ventana de DOS. En la misma escribe: "adb devices" (sin las comillas) y pulsa enter
5) ¿que te informa la máquina? Pueden ser tres cosas:
a) "adb" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
b) Una sola línea: "List of devices attached" (a excepción de cuando ejecutas por primera vez que salen dos renglones más que dicen algo como esto en inglés: "ejecutando el daemon bla bla bla" (como diciendo: "ejecutando el programa residente en memoria ...") Pero en fin... no te sale nada posterior a "list of devices attached" porque luego de esta línea de texto debería listar los dispositivos que han sido detectados. Te debería aparecer una línea como esta: "6546546546466454 device"
c) te aparece "List of devices attached" y debajo algo parecido a esto: "6546546546466454 device"
Bueno si tu caso es la opción a) quiere decir que hiciste algo mal en el apartado: "AJUSTAR VARIABLE PATH" o simplemente no ubicaste bien los archivos dentro de la carpeta correspondiente, el nombre de la carpeta puede ser andrpid-sdk en lugar de android-sdk o quizás descomprimiste dentro de android-sdk pero nuevamente dentro de una carpeta android-sdk quedando: c:\android-sdk\android-sdk\ en lugar de c:\android-sdk\, o simplemente nos faltó algún punto y coma ";" divisor entre el listado del PATH o mil cosas más. En fin este error quiere decir de que Windows no encuentra el archivo "adb.exe" en las rutas o direcciones de carpetas especificadas en la variable PATH (que definimos dentro de AJUSTAR VARIABLE PATH")
Si tu caso es b) quiere decir que el driver que instalaste no funcionó (esto es lo mas normal del mundo), prueba buscar otros, instalarlos y reiniciar la computadora si dispones del tiempo o el reboot de tu máquina es rápido. En esto como todo es probar y renegar un poco. Puedes probar en desenchufar y volver a enchufar el celular cuando instalas un nuevo drivers usb, y esperar un par de minutos porque el reconocimiento no es instantáneo. Yo a veces ponia adb devices y salia el listado en blanco y a los dos minutos probaba lo mismo y me salía el renglon adicional que ya lo había reconocido, a veces tarda. En el caso que no te funcione el drivers y no aparezca ese renglón adicional entonces descargas otro driver usb y pruebas, etc.
si tu caso es c) Puedes sacar la cerveza de la heladera, relajarte y tomar unos tragos.
(Una vez que el driver te funcionó nunca más tendrás que volver a este punto porque cuando conectes tu dispositivo te lo va a reconocer siempre).
AJUSTAR EL TARGET DENTRO DE GAME MAKER
Arriba hay una opción target, cámbiala por "Android"
(hay otra opción llamada Android YYC que es la de YOYO Games si no me equivoco y creo que tiene algunas ventajas en rendimiento aunque algunos dicen que ni se nota la diferencia. No me acuerdo que había que hacer para poder usarla pero aquí en este foro deben saberlo asi que puedes preguntar luego. Lo primero es hacer andar el "Android" común que anda bastante bien por cierto)
Ahora haz esto:
1)Haz un proyecto simple creando un room vacío con fondo de color azul. 2) Debes tener tu cable usb conectado a tu dispositivo android.
Ejecuta el proyecto, no temás si demora porque el compilado es mucho más lento que el de windows.
Eso si, desbloquea tu celular si tiene bloqueo de pantalla así puedes ver correr la aplicación en tu celular o tablet porque lo que hace Game Maker es mostrarte el juego directamente en tu celular.
Si aparece en tu celular el fondo azul es porque te ha corrido el juego y la conexión anda.
Recomendación: Puedes ir haciendo el juego y ejecutarlo en el celular, pero en un momento dado esto se pondrá engorroso debido a la mayor lentitud que tiene ejecutarlo en android, por lo tanto, una vez que ya sepas que el target android te funciona, puedes cambiarlo al de windows y cada varias ejecuciones en windows probando el juego y corrigiendo errores recién cambias a android y lo ejecutas en tu teléfono para verlo en tu dispositivo, luego vuelves a cambiar el target a windows y haces varias modificaciones, varios agregados, correcciones, etc. y recién ahí después de un largo rato vuelves a cambiar el target a android. Esto para no hacer todas las ejecuciones en android lo que sería bastante lento teniendo en cuenta que al hacer un juego se ejecuta un montón de veces la aplicación.
POR ULTIMO:
Cuando creas un proyecto nuevo entra en menú "Resources"->"Change Global Game Settings" y en la pestaña "android" (si no te aparece puedes usar unas flechitas para ir corriendo las pestañas que desbordan la ventana).
Tienes muchas opciones para tu juego:
En el apartado "General" puedes configurar en que orientación quieres que se vea tu juego porque Game Maker gira y ajusta automáticamente el juego a la pantalla del dispositivo. Pero quizás quieras que el juego solo funcione apaisado, con el dispositivo horizontalmente, entonces desmarcas Portrait y Portrait Flipped (por citar un ejemplo)
Si tu juego ocupa un montón puedes reducirlo considerablemente haciendo que funcione en el 99.x% de los dispositivos en lugar del 100% de ellos. Esto se hace destildando las opciones x86 y Mips (según tengo entendido) dentro de Architectures.
En el apartado Graphics elige 24 bits en Screen Color Depth así se ve mejor tu juego, porque he notado que con los fondos con degradez se ve horrible en 16 bit y al aumentar los bit de color se ve mejor pero bueno ahora que lo pienso un poco mejor ajústalo a tu conveniencia según como sea tu juego, quizás tus gráficos sean demasiados sencillos con colores planos y no lo necesites, por lo que simplemente cámbialo y ejecútalo en tu dispositivo en ambas formas y fíjate la diferencia, y si vale la pena el cambio. Yo lo pongo siempre en 24.
En Scaling tienes la opción de que si el gráfico se estira ocupando toda la pantalla del dispositivo donde se ejecute: "Full escale" (esto tiene el problema que la imagen se estira perdiendo la proporción original).
Además de ello si giras el celular y tienes todas las opciones de orientación entonces la imagen se gira y luego se estira quedando mal con respecto a la imagen en vertical. Si usas esta opción lo mejor es tener activada la opción de vertical u horizontal pero no ambas a la vez.
La opción "Keep aspect Ratio" escala tu juego conservando la proporción del mismo hasta que la imagen quepa y no se corte. Entonces si bien la imagen es proporcionada, puede quedar franjas negras a los costados (al igual que cuando mirabas una película dvd en los televisores viejos).
He visto juegos que mantienen la proporción y sin usar franjas negras. Esto es lo ideal y se logra con código de programación. La idea es esta, averiguar con una función de game maker que dimensiones tiene la pantalla o el área de la pantalla disponible para nuestro juego (porque a veces una barra de menú del sistema operativo android como el de volver para atrás, etc quita un poco de ese espacio total de la pantalla). Luego de esto dividen el ancho/alto para ver la proporción. Supongamos que sea 1000*500 para usar números fáciles y la relación sea: 2 (es el doble de ancho que alto). Entonces si tu juego tiene un tamaño de room de 700*300 haces: 700/relacion= 700/2 = 350 lo que quiere decir que debes agrandar a tu view o el room en 50 píxels a lo ancho para tener la misma proporción que el de la pantalla. Porsupuesto que esto se debe hace mejor, yo explico aquí la idea de forma simple y esto debe realizarse con un código genérico y bien hecho que haga todo automático. La opción de escalado debe ser "Full escale" en este caso así estira hasta que ocupe todo total al mantener la proporción correcta no se va a deformar nada porque lo hace por código. Ahora bien... esto debería contemplar el caso de girar la pantalla también (si es que las opciones de orientación lo permiten) y eso puede traer ciertas complicaciones, quizás sea mejor permitir el lanscape o portrait y no los dos para evitar complejidad. Pero eso depende de las ganas de trabajar de cada uno. Hay que buscar código hecho que funcione o renegar bastante uno mismo o simplemente usar las opciones por defecto, tu elijes. Para comenzar te recomendaría que uses las opciones de escalado que viene por defecto sin agregar este ajuste por código. Pero quería comentarte las posibilidades que hay en esto.
Por último debes saber manejar bien los textures pages eso es largo de explicar pero hay mucho en este foro y en google que explica al respecto. Si tienes mal definidos esos textures pages tu juego puede ser mucho más pesado al cargar o verse horrible gráficamente.
Yo lo que tengo entendido (quizás haya entendido mal) es que Game Maker no carga sprite por sprite a memoria individualmente según lo que vaya necesitando sino que lo hace de a grupos o bloques. Si cargas un sprite llamado: spr_player carga todos los sprites del texture page al que pertenece spr_player (o al menos carga todo el texture page entero en memoria para extraer ese sprite que necesita aunque creo que lo que sucede es lo primero que dije). Entonces si tienes cientos de sprites y usas tan solo 2 sprites pero uno está en un texture page junto a muchos sprites, y el otro sprite en otro texture page junto a otros tantos, entonces quizás te cargue como 50 sprites (supongamos que sea 25 por cada texture page). Aunque creo que el problema no es la cantidad de sprites sino la cantidad y el tamaño de estas páginas que debe cargar enteras a memoria, como el caso anterior que tuvo que cargar dos páginas enteras innecesariamente cuando podrían estar puestas inteligentemente en la misma texture page.
Si no manejas los textures pages y no creas ninguno, Game Maker te los gestiona automáticamente agrupándolos y generando textures pages. Pero para ello muchas veces debe reducir el tamaño de los sprites para que quepen dentro del texture page que tiene (1024x1024 pixel) o (2048x2048 pixel) de tamaño lo que muchas veces deriva en una calidad final inferior a la que desearíamos. Pero si manejamos los texture pages nosotros y ponemos menos cantidad de sprites por texture page asi no tiene que andar reduciéndolos trae la contra de que tiene que haber mayor cantidad de textures pages lo que implica mayor tiempo de carga y memoria utilizada. Asi que hay que hacer un balance correcto de esto.
En los sonidos sucede algo similar.
Ah ya casi lo olvidaba, hay una opción llamada: "interpolate colors between pixels" yo lo dejo activado pero a veces queda mejor desactivado en algunos casos específicos. Con esta opción desmarcada creo que queda con más enfoque pero más mordida la imagen (si no me equivoco) y los degrades se ven peor, en cambio si está activada es como si se suavizara la imagen pero quedando levemente desenfocada. Yo la uso activada.
Aquí una explicación más técnica y precisa en inglés:
Interpolate colors between pixels
When checked, colors of pixels in sprites, backgrounds, and tiles that are not aligned with pixels on the screen will be interpolated. This in particular is the case when they are scaled, rotated, or placed at non-integer positions. Interpolation makes movement smoother but can also give a blurred effect. (Also for tiles it can lead to cracks between them, if not carefully designed.)
SALUDOS!!!!!
Gracias Makero fasst007:
:o :o :o :o :o :o :o :o :o :o :o
No tengo palabras para expresar mi agradecimiento.
Comenzaré las descargas lo antes posible.
Veré como se comporta la "conexión" que tengo.
Nuevamente, gracias mil... ;D
vaya, ese tipo Makero fasst007 es una buena persona :)
fasst007 no logró descomprimir el archivo, no veo la opciones que dices, pues son 23 archivos, ¿Acaso hay que reparar uno por uno? ¿O los puedo reparar todos al mismo tiempo? siendo así ¿Como lo hago? Perdona la molestia pero es un lio para mi XD :'( Agradecería mucho que me ayudaran.
Holaaa! no hay problema! solo que necesito que me des más información.
Decime que programa usas para la descompresión y la versión del mismo haber si te puedo ayudar.
Y alguna captura del error. Y con eso voy a saber decirte mejor.
Saludos!
Ferhand ¿Vos pudiste descomprimir esas 23 partes?
Cita de: fasst007 en Octubre 08, 2015, 04:56:26 AM
Ferhand ¿Vos pudiste descomprimir esas 23 partes?
Saludos Makero fasst007:
Caaaaalma, paaaacieeeeenciaaaaa...
Solo he podido descargar ...un solo comprimido de los 23... :-[ YUPI..!! XD
Solo me quedan 22 restantes...todo muy despacio ;)
Casi uno por cada día, pero las descargas me salen gratis... de lo contrario sería mucho más rápido pero no podría pagarlo ni con tres salarios juntos...y para colmo debo viajar mas de cuarenta kilómetros para poder conectarme en internet por esa vía de pago... :-[
Como dije anteriormente, a los cubanos cualquier gestión se nos hace difícil multiplicado por tres... :'(
En verdad te agradezco mucho lo que has hecho, sobre todo lo de la redundancia en los datos para evitar errores. De hecho no sé cómo se aumenta la redundancia en los comprimidos, debo aprender. :love:
Espero no moleste mucho teniendo este espacio ocupado tanto tiempo en tu cuenta de Mega... :P
Una brazo y gracias...con paaaacieeeennnciaaaa... ;D
Hola!!!! uhhh veo que realmente se te complican las cosas, pero no te hagas problema hermano, la cuenta de mega la abrí específicamente para subir estos archivos y no la estoy usando así que todo quedará ahí sin ningún problema. Menos mal que lo subí en varias partes así te vas asegurando una partecita cada día porque si los hubiera subido en partes de 1 GB estarías varios días por cada parte y cruzando los dedos que no se te corte internet o suceda alguna falla en la descarga porque tendrías que empezar de nuevo. Bueno pero al fin y al cabo lo tendrás todo a su debido tiempo, como decís vos, hay que tener paciencia.
Saludos Makeros:
Actualización: Ya tengo descragados.... más de cinco comprimidos!!!! XD
Dentro de una semana espero poder descargar el resto... :love:
...no hay problemas yo tengo muchaaaa paaaaciiieennnciaaaa... :-[
hasta pronto... ;D
me encanta ver este tipo de posts con gente asi, este mensaje mio no aporta nada, pero me apetecía mostrar lo alegre que estoy de ser parte de esta comunidad ^^