Páginas

sexta-feira, 31 de agosto de 2012

The Shuffle Puzzle iOS



finalmente depois de vários dias (11 dias) de espera o The Shuffle Puzzle é aprovado na appstore! Foram 8 dias para entrar em modo "waiting for review" e 4 dias para sair do modo "in review". Mas finalmente saiu!

Dêem uma olhada! O jogo está gratuito!

itunes link: The Shuffle Puzzle

terça-feira, 28 de agosto de 2012

Gameficação - Gamification



Para quem não sabe o que é Gameficação ou Gamification: habilidade de aplicar elementos de jogos e/ou técnicas game design à um contexto que não seja um jogo. Em outras palavras, gameficar uma situação real.
Exemplo:

Há algum tempo eu havia me inscrito num curso a distância sobre Gamification e agora as aulas iniciaram. Para quem tiver interesse as inscrições ainda estão abertas e é totalmente gratuito! O curso é oferecido pela Coursera.
Iniciou em 27 de Agosto de 2012 e vai durar seis semanas com direito a certificado!
Link do curso: https://www.coursera.org/course/gamification

Para você que não conhece, a Coursera é uma compania de empreendedorismo social que oferece cursos gratuitos em parcerias com universidade do mundo inteiro, como: Princeton, Stanford, ...

Lembrei de falar quando vi o post no GameReporterUOL (=

http://gamereporter.uol.com.br/coursera-oferece-curso-gratuito-de-gameficacao/


Resumo breve sobre o curso:

About the Course

Gamification is the application of digital game design techniques to non-game problems, such as business and social impact challenges. Video games are the dominant entertainment form of our time because they are powerful tools for motivating behavior. Effective games leverage both psychology and technology, in ways that can be applied outside the immersive environments of games themselves. Gamification as a business practice has exploded over the past two years. Organizations are applying it in areas such as marketing, human resources, productivity enhancement, sustainability, training, health and wellness, innovation, and customer engagement. Game thinking means more than just dropping in badges and leaderboards; it requires a thoughtful understanding of motivation and design techniques. This course examines the mechanisms of gamification and provides an understanding of its effective use.

domingo, 26 de agosto de 2012

Como criar uma biblioteca DLL para Unity3D


English Version on: fernandogamedev-en

Depois do projeto The Shuffle Puzzle publicado para iOS e Android decidimos refatorar a extensão do editor para criar GUI 2D. A intenção é publicar no Asset Store da Unity3D, porém não faz sentido algum publicar o código-fonte aberto.

Se você quer criar um plugin para distribuição comercial é interessante que você faça uma DLL.

Ferramentas utilizadas:
1. Crie um projeto Class Library no Visual Studio C# 

2. Salve o projeto e em propriedades do projeto, mude o Target Framework para .NET 2.0 Mobiles usam no máximo o .NET 2.0

3. Adicione as referências a API da Unity3D: UnityEngine.dll, UnityEditor.dll se necessário. Você encontrará essas DLL em: <code>C:\Program Files (x86)\Unity\Editor\Data\Managed</code>

4. Codifique sua biblioteca. Fiz aqui um teste bem simples para mostrar o funcionamento.

5. Compile sua biblioteca: Build

6. A sua DLL está pronta e está na pasta bin/release/MyLibrary.dll e copie para o seu projeto na Unity3D Assets/Plugins/

7. Feito isso você já pode usar sua biblioteca no seu projeto!



;)



quarta-feira, 22 de agosto de 2012

Experiências de um amador



Antes de você vir falar que tem a melhor idéia do mundo, entenda que milhares de pessoas já tiveram essa sua idéia, mas por que diabos ela ainda não foi feita? Porque nem todos sabem como transformar idéias em realidade. Para isto é necessário muito estudo e esforço. 

Visando diminuir os esforços, procure sempre leituras e experiências de outros desenvolvedores, aprenda com os erros dele e com os acertos também, afinal você não precisa reinventar a roda para andar carro, não é?

O seguinte texto é muito bom e vale a pena ler, trata-se da experiência de um completo amador em desenvolvimento de jogos que decidiu sair do software tradicional para se aventurar no mundo mobile. Ele fala desde a concepção, empecilhos, até a publicação;

terça-feira, 21 de agosto de 2012

Shuffle Puzzle no Game Reporter UOL



Puxa, essa tinhamos que falar. Paciência é de fato uma virtude e aos poucos o esforço para fazer o The Shuffle Puzzle vai sendo recompensado com os retornos dos jogadores. 
Hoje foi a vez do Game Reporter Uol e olhe só o que eu achei lá: 


Com certeza muito gratificante,
fica a dica: manter a paciência! 

=D


quinta-feira, 16 de agosto de 2012

Unity3D XCode e PNG Error


Eu havia produzido minha aplicação para o iOS e pus meu ícone configurado pela Unity3D. No entanto ao compilar (build) meu projeto no XCode 4.3 3 erros apareciam, mas o causador era esse:

Command /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng emitted errors but did not return a nonzero exit code to indicate failure

...

Se você encontrou um problema semelhante, fique feliz e resolva facilmente! Este erro é causado porque a imagem criada pela Unity3D é um <code>png interlaced</code>. Crie, edite e corte seu ícone e salve como png not interlaced pelo GIMP ou Photoshop.


Não selecione a opção Interlacing

segunda-feira, 13 de agosto de 2012

Admob Android Plugin for Unity3D





This post is for beginners and I will teach how to create a simple Android plugin for Unity3D. This plugin will show admob on your app.

In a futher post I will show how to use AndroidJNI for callbacks from C# to Java code inside on your plugin.


First, on your Unity environment create a folder named Plugins and a subfolder named Android. This is default. Inside Android's folder we will create the android project from eclipse.




Now create a Android Project on Eclipse.

Change the default location to your Android folder on Unity


Setup the package name with care and choose the min SDK version.
Now we will import and setup admob lib. At this moment I use the version 6:  6.1 (GoogleAdMobAdsSdk-6.1.0.jar) and my JDK is 1.6


Create a folder named libs and paste the admob library
Add the library admob from your worspace and the Unity library from the Editor's folder. Add the Classes.jar 


Don't forget to select all libraries to export.
And select the compilance level to 1.5

Select the app target over 3.0 O target
We must setup the manifest.xml to add permissions and other configurations. You may see this steps on: https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals


Now, let's code the Admob!
Agora você só precisar configurar seu admob exatamente como mostra no site da Google

The main activity is extended from UnityPlayerActivity. This override the main class of Unity and does your plugin the start point of your app.


This code is to add a Layer on default 3D view. The linear layout will receive the admob.

Now,  Clean your project and Export; it!


Now you can do the build from Unity3D and remember to adjust the package name on Build Settings to the same of your plugin.

You can download the projet here.

Plugin admob para Unity3D





Inicialmente o propósito deste tutorial é de apenas mostrar como criar um simples plugin que exiba a propaganda do admob.

Futuramente em outros posts irei mostrar como utilizar o Android JNI para que através de um script C# você consiga comunicar-se com seu plugin Android.

Dentro do seu ambiente Unity você deverá criar uma pasta onde ficará o plugin. Por padrão a pasta deve ser chamar: Plugins e para cada plataforma, no caso Android, uma subpasta: Android . É dentro dessa pasta que iremos criar o nosso projeto pelo eclipse.


Agora iremos criar um configurar o projeto pelo Eclipse:
Crie um projeto no seu workspace Eclipse

Modifique o local onde ele irá criar o projeto para a Pasta Android que está no seu projeto Unity


Configure o nome do Pacote e o SDK mínimo necessário, para este escolhi 2.1, mas prefiro usar acima do 2.2
Agora nós vamos importar e configurar a biblioteca do admob! Configura sua campanha admob no site e baixe o SDK do admob. Para este tutorial estou usando a versão: 6.1 (GoogleAdMobAdsSdk-6.1.0.jar)
O JDK que estou usando é o JDK 1.6. Atualize também seu SDK Android.

Crie uma pasta chamada libs e adicione a biblioteca do admob
Adicione a biblioteca do Admob que está no seu workspace e a biblioteca da Unity3D Classes.jar Essa biblioteca está na pasta do Editor da Unity.


Não esqueça de selecionar todas as bibliotecas para o Export
Escolha o nível de compilação para o 1.5

O target do Admob deverá ser superiro ao Android 3.0
Agora teremos de configurar nosso manifest.xml para atribuir as permissões e outras configurações.
Note que todos os passos de configuração do Admob estão em : https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals


Agora poderemos começar a codificar e então faltará apenas mais 2 passos =D
Agora você só precisar configurar seu admob exatamente como mostra no site da Google

Note que a Activity principal é estendida da classe UnityPlayerActivity, isso irá fazer um override na classe principal de execução da Unity, tornando o seu plugin o ponto de partida da sua aplicação.


Este é o código para adicionar uma Layer na frente da view padrão da Unity, esse Layout irá receber o admob.

Agora a última etapa, exportar: dê um Clean no seu projeto e exporte!


Pronto! O jar foi exportado!
Você já pode fazer o build, lembre-se de em buildsettings alterar o nome do package para o mesmo do projeto do plugin!

Você pode baixar o projeto aqui.

segunda-feira, 6 de agosto de 2012

Unity3D fails to sign APK with JDK 1.7



What's wrong?


Unable to install APK!
pkg: /data/local/tmp/Package.apk

With a short time to search I found many results about Unity and JDK 1.7 can't sign correctly. Like:
http://answers.unity3d.com/questions/121617/installation-of-signed-android-build-fails.html and http://answers.unity3d.com/questions/280791/cant-install-android-app-after-signing.html
But no solutions and to do a downgrade on JDK 1.7 not solve for me.

I think that bug is Unity3D don't specify the sign algorithm for jarsigner although Unity works correctly with JDK1.7 keytool. And a downgrade to JDK 1.6 results on fail with Unity and keytool.

How to do?

That's so simple! Like a cake:

Installs JDK 1.6 and use the executables from bin folder of JDK 1.6

Create your keystore and alias if necessary

Do a build by Unity3D and use default key (unsigned(debug)). For default Unity always sign yours APKs.


Use 7zFM from 7zip to remove META-INF folder into your generated APK.

Verify your APK after it with you want to see unsigned apk message

jarsigner -verify my_signed.apk

Now! Sign!

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name

And verify one more time

jarsigner -verify my_signed.apk

Everything ok? Use zipalign to optimize the memory use by your apk

zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk
Now your APK is ready to install and submit. For more details: here





domingo, 5 de agosto de 2012

Shuffle on Filedir

Reviewers' Choice. Shuffle Puzzle for Android

Olá! Nosso jogo acaba de ser o escolhido como ganhador pelos editores do filedir.com =D
http://filedir.com/android-games/brain-puzzle/shuffle-puzzle-for-android-3453919.html
Fiquem a vontade para fazerem vossos comentários e reviews!

Hi. Our game has been choosed by reviewers' of filedir.com =D That's awesome! Please rate us on
http://filedir.com/android-games/brain-puzzle/shuffle-puzzle-for-android-3453919.html

Shuffle Puzzle
Download Shuffle Puzzle for Android