Translate

martes, 8 de abril de 2014

Como enviar un juego para rating ESRB

Artículo en Proceso...

Introducción 

ESRB es un sistema de clasificación de contenido de videojuegos para Estados Unidos de América.
Este proceso es requerido para la publicación de aplicaciones en grandes compañías, entre ellas demostraremos el caso con Sony.
Aplicaremos este proceso a la aplicación Te Agarré x Ahi de android, pero el proceso también es válido para el caso de que se desee compilar la aplicación con el Publishing Utility for Unity parte del PSM SDK.

Procedimiento

Primero nos dirigimos al sitio de ESRB donde nos saldrá un registro general. Entre las opciones que podemos indicar con un sí o un no están:
  1. Violencia
  2. Sexualidad
  3. Apuestas
  4. Lenguaje Vulgar
  5. Substancias controladas
  6. Humor Crudo
  7. Permite compartir información personal
  8. Muestra la localización geográfica
  9. Permite el intercambio de contenido creativo
  10. Requerimiento de edad mínima en los terminos de servicio
Violencia
El sistema realiza 4 preguntas:
  1. Violencia contra humanos
  2. Violencia contra cualquier cosa no humana
  3. Tipo de contexto ( Realista o fantasioso )
  4. Tipo de gráfico (Estilizados o fotorealistas)







Como enviar un juego para rating PEGI

Introducción 

PEGI es un sistema de clasificación de videojuegos y software de entretenimiento para Europa, específicamente 26 naciones.
Este proceso es requerido para la publicación de aplicaciones en grandes compañías, entre ellas demostraremos el caso con Sony.
Aplicaremos este proceso a la aplicación Te Agarré x Ahi de android, pero el proceso también es válido para el caso de que se desee compilar la aplicación con el Publishing Utility for Unity parte del PSM SDK.

Procedimiento

Primero nos dirigimos al sitio de PEGI express donde nos saldrá un registro general muy rápido. Entre las opciones que podemos indicar con un sí o un no están:
  1. Elementos terroríficos
  2. Lenguaje vulgar
  3. Violencia
  4. Crímen
  5. Apuestas
  6. Discriminación
  7. En línea
  8. Drogas, Alcohol, Tabaco
  9. Sexo
Posteriormente, debemos ahondar en cada una de las opciones que hayamos especificado.

Lenguaje Vulgar

Para este caso nos va a preguntar 2 cosas:
  1. Si contiene maldiciones o lenguaje ofensvo
  2. Si contiene improperios de índole sexual o blasfemias

Seguridad del usuario

También influye en el rating que tan expuesto podría estar el usuario y su información, específicamente con respecto a:
  1. Opciones de compra dentro del juego
  2. Compartisión de información personal
  3. Funcionalidad de interacción social
  4. Capacidad de compartir información
Tras completar estos sencillos pasos veremos un resúmen de los datos ingresados
Tras verificas los datos tendremos la opción de enviarlos a nuestro correo electrónico.

lunes, 7 de abril de 2014

Hacer que funcionen el plugin de admob y de google play games en Unity3D


Introducción


Desde que Google hizo que su nueva librería para unity tuviera incluido el soporte admob, el plugin de admob( de hecho todos los plugins de admob, gratuitos y de paga, pero yo me referiré al gratuito ) comenzó a marcar errores y no se podía compilar. Hoy les traigo una solución, que aunque es un poco burda, les aseguro que funciona a la perfección.

Descripción del error


Al momento de darle en Build nos aparece el mesaje de diálogo



y un error en la consola que dice algo así como:

Error building Player: CommandInvokationFailure: Unable to convert classes into dex format.

See the Console for details.
C:\Program Files (x86)\Java\jdk1.7.0_51\bin\java.exe -Xmx1024M -

Dcom.android.sdkmanager.toolsdir="C:/Program Files (x86)/Android/android-sdk-windows\tools"

-Dfile.encoding=UTF8 -jar "C:/Program Files

(x86)/Unity/Editor/Data/BuildTargetTools/AndroidPlayer\sdktools.jar" -

stderr[

UNEXPECTED TOP-

LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: ...

Explicación del problema


Como algunos desarrolladores de android sabrán, al agregar librerías con clases con el mismo nombre duplicado es lo que genra este error, simplemente, algunas clases ya estaban incluidas en el plugin de admob.

Solución


La solución es simple, borrar los archivos duplicados. Es recomendable conservar una copia de los jar originales, pero como para este caso Java se encarga de hacer un nuevo jar no afectará el proyecto. En este caso borraremos los archivos del google play games.

Archivos a borrar


Para ahorrar tiempo diré que se debe eliminar toda la carpeta
  • google-play-services.jar\com\google\ads\mediation\customevent
y los archivos:

  • com/google/ads/AdRequest$ErrorCode
  • com/google/ads/AdSize 
  • com/google/ads/AdRequest 
  • com/google/ads/mediation/MediationInterstitialListener 
  • com/google/ads/mediation/MediationServerParameters
  •  com/google/ads/mediation/MediationBannerAdapter
  • com/google/ads/mediation/MediationAdRequest
  • com/google/ads/mediation/MediationInterstitialAdapter
  • com/google/ads/mediation/MediationAdapter 
  • com/google/ads/mediation/NetworkExtras
  • com/google/ads/mediation/EmptyNetworkExtras 
  • com/google/ads/mediation/MediationServerParameters$Parameter
  • com/google/ads/mediation/MediationServerParameters$MappingException
  • com/google/ads/mediation/admob/AdMobAdapter 
  • com/google/ads/mediation/admob/AdMobAdapter$a
  • com/google/ads/mediation/admob/AdMobAdapter$b
  • com/google/ads/mediation/MediationBannerListener 
  • com/google/ads/AdRequest$Gender

Pero.. me da flojera hacer todo eso

No te preocupes, con dinero se arregla casi todo :P
Puedes descargar el jar modificado totalmente gratis mediante el siguiente link patrocinado: Enlace de descarga
Una vez puesto tu id de app y presionado el botón enl pestaña de configuración de android para GPGS remplaza el archivo que se debe encontrar en Assets/Plugins/google-play-services_lib/libs

Conversión básica de códigos de C++ a C

El código en C++


Se desea convertir el siguiente código:

#‎include‬<fstream>
#include<conio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
ofstream f;
int A[10];
f.open("numero.txt", ios::out);
if(!f)
{
cerr<<"Error de apertura del archivo";
getch();
return 1;
}
else
{
for(int i=0;i<10;i++)
{
cout<<"introduzca los numeros"<<endl;
cin>>A[i];
f<<A[i]<<" "<<endl;;
}
}
f.close();
cout<<"Los datos se han almacenado en numero.txt";
getch();
system("cls");
cout<<"Estos son los datos almacenados"<<endl;
ifstream salida;
salida.open("numero.txt", ios::in);
for(int i=0;i<10;i++)
{
salida>>A[i];
cout<<"\n"<<A[i];
}
getch();
salida.close();
}

Código en C


El código deseado será:

#‎include‬<conio.h>
#include<stdio.h>
#include<file.h>
int main()
{

File f; //ofstream f;
int A[10];


f=fopen("numero.txt", "rw");
if(f==null)
{
printf("Error de apertura del archivo");
read();
return 1;
}
else
{
for(int i=0;i<10;i++)
{
printf("introduzca los numeros");
scanf("%d",A[i]);
fprintf(A[i]);
}
}
fclose(f);
printf("Los datos se han almacenado en numero.txt");
read();
//system("cls"); ??
printf("Estos son los datos almacenados");
//ifstream salida;

File salida;
salida=fopen("numero.txt", "r");
for(int i=0;i<10;i++)
{
fscanf(A[i]);
printf("\n%d",A[i]);
}
read();
fclose(
salida);
}




Procedimiento


En C los cout se remplazan por printf

domingo, 6 de abril de 2014

Como configurar netbeans para ver todos los plugins

Muchas veces sucede que cuando conocemos netbeans nos dicen que hay plugins para muchísimos lenguajes y que podemos acceder a ellos desde el IDE pero al tratar de descaros encontramos que aparentemente no es así; aquí te mostramos como acceder a todos los plugins que se muestran en el portal.

Explicación


Solamente unos pocos plugins son hechos por oracle, como los demás los provee la comunidad, se consideran plugins en estado Beta hasta que el equipo de Oracle les de un ajuste final y decida hacerlos oficiales. Por este motivo hay repositorios para cada versión de netbeans que ha salido.

Procedimiento


  1. Ir a Tools>Plugins
  2. Una vez allí ir a la pestaña Settings (Si es que no se abre en es pestaña)
  3. En la parte de abajo ala derecha dar click en el botón Add
  4.  Luego se debe de agregar un link al repositorio de la versión de netbeans que tengamos de la forma: http://updates.netbeans.org/netbeans/updates/[version]/uc/final/beta/catalog.xml.gz que en mi caso es7.2.1
     Finalmente, tras completada esta tarea se deben de actualizar y cargar todos los plugins no oficiales

El plugin que necesito esta en otra versión


Muy sencillo, podemos accesar a todas las versiones mediante el link:

http://dlc.sun.com.edgesuite.net/netbeans/updates/

Algunas versiones por ejemplo no tienen repositorio beta como en mi caso, así que conviene darle una revisada por si las dudas.

sábado, 5 de abril de 2014

Como hacer que Unity 4.1 y versiones superiores compilen para android

Introducción

Las versiones a partir de unity 4 fueron muy importantes, porque por primera vez incluian el soporte para crear aplicaciones android de manera gratuita. Anteriormente el costo de adquirir la licencia para Unity android era de casi 10 mil pesos mexicanos. Pero desgraciadamente, con la actualización al api nivel 22 empezaron los problemas, primero no se podía compilar con el API 22 y se debía de regresar al 21, y segundo, después de la versión 4.1 el sistema no encontraba la ruta hacia las nuevas instalaciones del android sdk, y por lo tanto no se podían generar los apk.

Solución


Si bien la solución es bastante precaria, funciona en el 100% de los casos, basta con ubicar la carpeta de instalacón del android sdk que generalmente debería de ser C:\android-sdk\ y simplemente deberemos cambiarle el nombre a C:\android-sdk-windows\

Explicación y posibles consecuencias


La explicación es sencilla, antes el sdk de android indicaba en su carpeta para que sistema operativo era, pero como uno no podía ejecutar versiones de diferentes sistemas operativos se eliminó el sufijo que indicaba la plataforma en las versiones más recientes.

Entre las consecuencias podemos hacer notar
  1. Los accesos directos ya no coincidirán, pero basta con corregirles la ruta
  2. Eclipse o el IDE que tuviera configurado apra desarrollar aplicaciones android no podrá encontrar la ruta al SDK, pero basta con cambiarle la ruta por la nueva ruta en las opciones de configuración


Como corregir el error de las plattaform tools no encontradas del android sdk

Introducción


Un error muy frecuente en las máquinas de 64 bits que se produce generalmente por acutalizar es que el sdk manager marque que las plataform tools están instaladas y actualizadas, pero en la parte de hasta abajo aparece un icono que indica que faltan algunas herramientas y sugiere reinstalar, pero reinstalar no es la solución.

El mensaje de error


El mensaje de error generalmente aparece algo similar a:

Error executing aapt. Please check aapt is present at C:\android-sdk-windows\platform-tools\aapt.exe

o en versiones más recientes

Error executing aapt. Please check aapt is present at C:\android-sdk\platform-tools\aapt.exe

Algunas veces al revisar la carpeta del android sdk incluso encontramos que no está la carpeta platform-tools.

Corrección del problema

Suponiendo que no tengamos la última versión de las platform tools le sugiero que la descargaue desde el android sdk manager ( sdkmanager.exe )

A continuación deberemos de seguir los siguientes pasos
  • Ir a la carpeta donde se ubica nuestro sdk de android y ubicar la carpeta build tools, esto se debería de ver como
    • android-sdk-windows\build-tools en versiones no tan recientes del sdk manager
    • android-sdk\build-tools en versiones más recientes
  • A continuación deberá ubicar la carpeta donde se encuentre la última versión que corresponde con los build tools dañados, donde deberán estar absolutamete todas las aplicaciones de herramientas faltantes, por ejemplo \build-tools\17.0.0 para la versión 17, etc
  • Finalmente, copiamos todas las aplicaciones a la carpeta platform-tools y nuestro problema debería de estar solucionado

Explicación

Como ya se mencionó... este es un problema muy común en las versiones de 64 bits,  y consiste en que generalmente se descargan las aplicaciones, se colocan en un lugar temporal, y finalmente se remplazan en la carpeta donde deberán ir, pero por alguna razón no se realiza la copia y se quedan en ese lugar temporal, ya sea la carpeta temp o en este caso, la carpeta build-tools.