Randomizer Pro, um projeto pessoal

Countryside Games

Apesar de ter me silenciado nos últimos 4 meses, muita coisa foi feita.

Perdemos algum tempo participando de um programa de incentivo à desenvolvedores, que mais nos atrapalhou do que ajudou, mas durante este período não muito produtivo (em termos de portfolio), decidi fazer um aplicativo que EU precisava, um “randomizer”, um aplicativo que me ajudasse a sortear nomes, números e jogar dados.

Por incrível que pareça, apesar de haverem muitos “randomizers” por aí, a maioria não tem essas 3 funcionalidades, ou tem um aspecto muito feio. Por isso, quis fazer meu “Randomizer Pro”, unindo essas 3 funcionalidades e se encaixando no padrão estético dos sistemas atuais.

Aí vão algumas imagens:

screen568x568 screen568x568 (1) screen568x568 (2) screen568x568 (3)

É um projeto bem simples, feito em 4 dias (elaboração, arte e desenvolvimento) e foi o único projeto que fizemos pela Countryside Games.

Como de costume, publiquei o app em várias plataformas, sendo elas:

Android

iOS

BlackBerry 10

Se um dia me animar, faço um port para Windows Phone também, haha.
Apesar de não ter sido a ferramenta ideal, fiz o app em Unity. O grande problema disso é que o app pode ficar mais pesado em algumas plataformas, mas como era um projeto bem pessoal, não me importei com isso.

Também rolou um freelance para uma fabricante de motos aí, que ainda não recebi o feedback e consequentemente… não vou divulgar ainda.
Eu nem divulguei este app, mas ele tem recebido bons downloads no iOS, e como foi feito em 4 dias, para uso pessoal, posso dizer que fiquei feliz com o resultado

Anúncios

Integrating In-App Purchases for BlackBerry 10

BlackBerry, Tutorials, Unity

In this tutorial, I will teach how to integrate BlackBerry’s official In-App Purchases plugin for UNITY.
Read EVERYTHING with attention, and pay special attention to the RED paragraphs, which will provide you vital information and save you from future trouble.

This tutorial will follow this order:

  • Creation of products at BB’s Vendor Portal
  • Import the In-App Purchases plugin into Unity project
  • Integrate the plugin into the Demo scene
  • Test the integration

Creation of the Products at Vendor Portal

1.1 – Log-in at Vendor Portal
1.2 – Click “Manage Products”
1.3 – Supposing you already created your app at the Vendor Portal, click the + (plus) button at the Goods tab, as seen in the image below

Vendor Portal-Goods

You’ll see the “Add a Virtual Good” screen:

Vendor Portal - Add Virtual Good

1.4 – Fill the form, and if you have any questions, take a look at the explanations below:

Name is the product’s name that is shown ONLY at the Vendor Portal
SKU is the product identifier which you will put in your script, usually I name it like “NameOfTheGame_NameOfTheProduct” (this SKU is like the Product ID from the iOS App Store and Google Play, standardizing it may be good for your code)
License Type, pay attention to the different types of license:

  • Non-consumable: is for permanent products which will be kept save at the player’s account, for instance: characters.
  • Consumable: is for consumable products, that may be used just once, like a coin pack. If the user uninstall the app, he will lose that product.
  • Subscription: a subscription product can be used while the subscription lasts (7 or 30 days), after that, the product will expire and can no longer be used until the user decide to pay for the subscription again

Price is the product’s price
US Withholding Tax Classification you have to choose how the taxes will be collectedin the USA. For consumable and non-consumable products, I recommend you choosing “One-time”
Canada Withholding Tax Classification I use the same as the US Withholding Tax Classification, “One-time”
License Model for BlackBerry OS and PlayBook I recommend you using “Static”, that is the most common model (it’s the same used in Google Play and iOS App Store) and honestly, I have no idea on how to use the other models, so I can’t risk recommending them.

1.5 – To complete the creation of this product, click Save. If you want to create a few more before continuing this tutorial, click “Save and Add Another” and fill the form again.

Importing the In-App Purchases Plugin into Unity

2.1 – Enter the Asset Store from inside Unity (CTRL+9 on Windows, Command+9 on Mac)
2.2 – Search for “BlackBerry” at the Asset Store
2.3 – Select BlackBerry In-App Purchasing
2.4 – Click Import, to import it into your project

BlackBerry In-App Purchasing Plugin

2.5 – Import ALL THE plugin files into your project

Integrating the Plugin

After importing the plugin:
3.1 – Open the Demo scene, named “BlackBerryIAPTestScene”, and located inside the BlackBerry/IAP folder

3.2 – Select the gameObject named “UI” and open the class BlackBerryIAPTest.cs which is inside it

3.4 – The first two variables in this class are strings where you must put the product SKU that you created at the Vendor Portal, if you created 3 products, you must fill the 3 strings with the 3 product SKUs, for instance:

 string ITEM_1_SKU = "NameOfTheGame_NameOfTheProduct01";
 string ITEM_2_SKU = "NameOfTheGame_NameOfTheProduct02";
 string ITEM_3_SKU = "NameOfTheGame_NameOfTheProduct03";

3.5 – Then comes the localTesting variable, which must be set as TRUE while you’re testing the IAPs offline.
*the localTesting variable must be set to FALSE when you build the Submission version of the app, otherwise the users won’t be able to make in-app purchases

3.6 – At the function Start you delegate events from BlackBerryIAP.cs (which is inside the BlackBerryIAP gameObject at the Demo scene). For instance: the PurchaseSuccessful function is delegated to the PurchaseSuccesfulEvent event,  which is triggered everytime a purchase is completed.

3.7 – At the OnGui function, you will see Demo scene’s buttons (“Purchase SKU 1”, “Purchase SKU2”, etc).

3.8 – When one of the “Purchase SKU” buttons from OnGui is pressed, he calls the BuySKU function (which is located below OnGui), which requests the product purchase calling BlackBerryIAP.Purchase(sku, null, null, null, null, null, null)

3.9 – When the purchase is completed, the PurchaseSuccessfulEvent event from BlackBerryIAP.cs is triggered, then the PurchaseSuccessful function is called.

3.10 – From inside the PurchaseSuccessful function, you must “tell” WHAT happens when the product purchase is successful. The args.DigitalGoodSku variable inside this function is the SKU string from the product that was purchased.

There are other useful events like:
-ExistingPurchasesSuccessfulEvent, which loads the list of every product that the user purchased.
-GetPriceSuccessfulEvent, which gets the product’s price.

Use those events according to your project’s needs.
This is all you need, now check the test methods below.

Testing In-App Purchases

There are 2 ways to test the In-App Purchases:

Local Testing: doesn’t requires you to upload the game into the Vendor Portal. To do it, you need to:
-Set the localTesting variable from the BlackBerryIAPTest.cs class as TRUE.
-Install the game in your device
-Try to purchase the products

Sandbox: it’s the safer way, because it opens the default BlackBerry World’s purchase pop-up, asking login and user’s payment details. To use it, you need to make 2 things, 1 at your computer, and the other at your BlackBerry smartphone/tablet. Both are explained below:

1. At your computer:
-Build a version with the localTesting variable from the BlackBerryIAPTest.cs class set as FALSE
-Upload this version of your game at the Manage Products page at the Vendor Portal, leaving it with Draft status
-Click Sandbox at the Vendor Portal
-Click “Add New User”
-Fill the form with a BlackBerry World account e-mail which will be used to test the game and the In-App Purchases

2. At your smartphone/tablet:
-Open the BlackBerry World app
-Open the “Settings” at the BlackBerry World app, dragging your finger down from the TOP of your device’s screen
-Tap “Debug/Development Mode”
-Type your game’s ID (which you can find at your app’s “Edit Product” page at the Vendor Portal)Edit Product

-IF  BlackBerry World is up to date, you will see your game’s download page and you will be able to download it. But it can take 2 hours after uploading the game, so if it’s not available right now, give it some time.
-After downloading the game, you just need to make the in-app purchases using the account you created at the Sandbox page, you won’t be charged for that.

REMEMBER: the BlackBerryIAP.cs class must be ALWAYS inside a gameobject named BlackBerryIAP (it can’t be different), which must be ALWAYS inside the scene where your user will make the purchases, otherwise, the PurchaseSuccessful event won’t work and the user won’t receive the product.

I hope to have helped you as I know it’s really hard to profit from BlackBerry plaftorm.
BlackBerry gave us a great free plugin, but a really poor documentation.

Tiny Acrobats, the second game

Countryside Games, Portfolio

O novo jogo da Countryside Games chegou, quem quiser baixar primeiro e ler o post depois, aí vão os links:

Androidhttp://tinyurl.com/tinyacrobatsandroid

iPhone / iPadhttp://tinyurl.com/tinyacrobatsios

BlackBerry: http://tinyurl.com/tinyacrobatsbb

Windows Phone 8: http://tinyurl.com/tinyacrobatswp

Mais uma vez, eu e o Arthur trabalhos juntos para fazer o jogo sozinhos, e o resultado está aí.
O Arthur cuidando da arte/marketing e eu cuidando da programação/animação/som, obviamente, o Game Design teve contribuição de ambas as partes.

Fiz um tópico sobre o processo de desenvolvimento na sessão “Work In Progress” doo forum do Unity, caso alguém se interesse:
http://forum.unity3d.com/threads/232737-Our-second-game-the-Tiny-Acrobats?p=1545612#post1545612

A única coisa que não fizemos desta vez, foi a trilha sonora, pois consistia de 5 músicas, e eu perderia muito tempo compondo-as.

Todas as plataformas mobile atuais foram suportadas, será um lançamento massivo.

Tiny Acrobats - devices

Android, iOS, Windows Phone 8, BlackBerry

Primeiro trailer do jogo:

Implementando In-App Purchases para BlackBerry 10

BlackBerry, Tutorials, Unity

Neste tutorial, explicarei como implementar o plugin de In-App Purchases para BlackBerry em jogos feitos no Unity.
Leia o tutorial INTEIRO com atenção, e dê atenção especial aos parágrafos em VERMELHO, que podem te dão informações vitais e te poupar futuras dores de cabeça.

Este tutorial será explicado na seguinte ordem:
-Criação dos produtos no Vendor Portal
-Importação do plugin de In-App Purchases no projeto do Unity
-Implementação do plugin utilizando a cena Demo como exemplo
-Teste da implementação

Criação dos Produtos no Vendor Portal

1.1 – Faça login no Vendor Portal
1.2 – Clique em “Manage Products”
1.3 – Pressupondo que você já criou seu aplicativo no Vendor Portal, clique no sinal de + da aba Goods (marcada em vermelho na imagem abaixo)

Vendor Portal-Goods

Você verá a tela “Add a Virtual Good”:

Vendor Portal - Add Virtual Good

1.4 – Preencha este formulário, e se estiver na dúvida sobre algum dos campos, veja esta explicação:

Name é o nome mostrado apenas no seu Vendor Portal
SKU é o código de identificação do produto que você usará no seu script, costumo usar o formato “NomeDoJogo_NomeDoProduto” (o SKU equivale ao Product ID da App Store e do Google Play, padronizá-lo pode ser útil)
License Type, preste bem atenção às diferenças das licenças:
*Non-consumable: serve para produtos duradouros, que ficarão salvos na conta do jogador, por exemplo, um pacote de Personagens.
*Consumable: serve para produtos consumíveis, que podem ser usados apenas 1 vez, por exemplo, um pacote de moedas.
*Subscription: serve para assinaturas, dá ao usuário o direito de gozar de determinado produto dentro do prazo especificado (7 ou 30 dias)
Price define o preço do produto
US Withholding Tax Classification você deve escolher como será feita a coleta de impostos sob o produto nos EUA, para produtos consumable/non-consumable recomendo usar o formato “One-time”
Canada Withholding Tax Classification eu sigo o mesmo modelo da US Withholding Tax Classification, ou seja “One-time”
License Model for BlackBerry OS and PlayBook eu recomendo escolher “Static”, que é o formato mais comum (o mesmo que se usa no Google Play e App Store) e eu particularmente não faço ideia de como se usa os outros formatos, então não me arrisco a recomendá-los.

1.5 – Para completar a criação deste produto, clique em Save. Se quiser criar mais um antes de continuar o tutorial, clique em “Save and Add Another” e preencha o formulário novamente.

Importando o Plugin de In-App Purchases no Unity

2.1 – Acesse a Asset Store dentro do Unity (CTRL+9 no Windows, Command+9 no Mac)
2.2 – Procure por “BlackBerry” na busca da Asset Store
2.3 – Selecione o plugin BlackBerry In-App Purchasing
2.4 – Clique em Import, para importar o plugin no seu projeto

BlackBerry In-App Purchasing Plugin

2.5 – Importe TODOS os arquivos do plugin para o seu projeto

Implementação do Plugin

Após ter importado o plugin no seu projeto:
3.1 – Abra a cena demo do plugin, chamada “BlackBerryIAPTestScene”, que se encontra dentro da pasta BlackBerry/IAP
3.2 – Selecione o gameobject chamado “UI” e abra o script BlackBerryIAPTest.cs que está nele

3.4 – As primeiras variáveis do script são strings onde você deve colocar a SKU do produto que você criou no Vendor Portal, se você tiver criado 3 produtos, pode preencher as 3 strings com os 3 SKUs desses produtos, por exemplo:


 string ITEM_1_SKU = "NomeDoJogo_NomeDoProduto01";
 string ITEM_2_SKU = "NomeDoJogo_NomeDoProduto02";
 string ITEM_3_SKU = "NomeDoJogo_NomeDoProduto03";

3.5 – Em seguida, vem a variável localTesting, que deve ser definida como TRUE quando você quiser testar os IAPs em modo local/offline.
*a variável localTesting deve estar FALSE quando você for gerar a build Submission

3.6 – Na função Start se atribuem funções aos eventos do BlackBerryIAP.cs (que é uma classe atribuída ao gameobject BlackBerryIAP da cena de demonstração). Por exemplo: a função PurchaseSuccessful está atribuída ao evento PurchaseSuccesfulEvent, que é disparado toda vez que uma compra for concluída.

3.7 – Na função OnGui, se encontram os botões da cena de demonstração (“Purchase SKU 1”, “Purchase SKU2”, etc).

3.8 – Quando um botão de “Purchase SKU” da função OnGui é acionado, ele chama a função BuySKU (que está logo abaixo da OnGui), que por sua vez, solicita a compra do produto através do método BlackBerryIAP.Purchase(sku, null, null, null, null, null, null)

3.9 – Quando a compra for completada, o evento PurchaseSuccessfulEvent do BlackBerryIAP.cs vai ser disparado, e consequentemente, a função PurchaseSuccessful será chamada.

3.10 – Dentro da função PurchaseSuccessful, você deve dizer O QUE acontece quando a compra do produto for completada. A variável args.DigitalGoodSku desta função, é a string do SKU do produto que acabou de ser comprado.

Existem outros eventos que podem ser úteis, por exemplo:
-ExistingPurchasesSuccessfulEvent, que carrega a lista de todos os produtos comprados pela conta do usuário.
-GetPriceSuccessfulEvent, que puxa o preço do produto.

Use esses eventos conforme suas necessidade.
É só isso que você precisa, agora veja as maneiras de testar.

Testando as In-App Purchases

Existem 2 métodos de teste de In-App Purchases:

Local Testing: não requer que você faça upload do jogo no Vendor Portal. Para utilizá-lo, você precisa:
-Definir a variável localTesting da classe BlackBerryIAPTest.cs como TRUE.
-Instalar o jogo no seu celular
-Tentar comprar algum produto

Sandbox: é o método mais seguro de teste, pois abre o diálogo de compra padrão da BlackBerry, solicitando login e dados de compra do usuário. Para utilizá-lo, você deve passar por 2 processos, 1 no computador e outro no seu smartphone/tablet BlackBerry. Ambos explicados abaixo:

1. No computador:
-Gerar uma build com a variável localTesting da classe BlackBerryIAPTest.cs definida como FALSE
-Fazer upload dessa build/release do seu jogo na página Manage Products no Vendor Portal, podendo deixá-la no status Draft
-Clicar em Sandbox, no Vendor Portal
-Clicar em “Add New User”
-Cadastrar o e-mail de uma conta da BlackBerry World que será utilizada para testar o jogo e as In-App Purchases

2. No celular/tablet:
-Abrir o aplicativo BlackBerry World no seu aparelho BlackBerry.
-Abrir as “Configurações” do BlackBerry World, deslizando o dedo a partir do TOPO da tela
-Clicar em “Modo de Desenvolvimento”
-Digitar o ID do seu jogo (que se encontra na página “Edit Product” do seu aplicativo)Edit Product

-SE o BlackBerry World já tiver atualizado, você verá a página de download do seu jogo, e você poderá baixar. Mas isso pode demorar em torno de 2 horas após você ter feito o upload do jogo, então, se ainda não estiver disponível, não se desespere.
-Após baixar o jogo no seu celular, basta realizar as compras de IAP utilizando a conta que você cadastrou no Sandbox, você não receberá despesa nenhuma na fatura do seu cartão de crédito.

LEMBRE-SE: a classe BlackBerryIAP.cs SEMPRE deve estar adicionada a um gameobject com o nome BlackBerryIAP (não pode ser diferente), que SEMPRE deve estar presente na cena em que houver compras(in-app purchases), caso o contrário, o evento PurchaseSuccessful não vai funcionar, e o usuário não receberá o produto que ele comprou.

Espero ter ajudado muitas pessoas, pois sei que tem sido difícil lucrar nesta plataforma.
A BlackBerry disponibiliza um ótimo plugin gratuito, mas uma fraquíssima documentação.

Suporte aos controles MOGA Pro para BlackBerry (Unity)

BlackBerry, Tutorials

Aqui vai uma maneira simples de implementar o controle MOGA ou SteelSeries no seu jogo para BlackBerry.

Lembrando que o controle que utilizei foi o MOGA Pro, e ao utilizar outros controles, não obtive resultados satisfatórios (as funções dos botões ficaram “embaralhadas”).
Primeiramente, vou explicar como conectar o controle ao seu aparelho, se você já sabe fazer isso, pode pular este primeiro ítem e ir direto ao segundo (Implementação):

Conectando o MOGA ao seu BlackBerry

1- Ligue a chave do controle na posição “B”, para Blackberry (como no exemplo abaixo):

moga

2- No seu aparelho BlackBerry:
– Vá em Definições -> Conexões de Rede -> Bluetooth
– Ative o Bluetooth.
– Aguarde até que apareça o “Moga Pro HID” na lista de aparelhos bluetooth (como na imagem abaixo)

BBbluetooth

– Clique no “Moga Pro HID” para conectar seu Blackberry ao gamepad e aguarde o nome do controle ficar verde
– Pronto! Seu Blackberry está conectado ao controle.

Implementação no código

Antes do código, uma observação: os botões L2 e R2 do controle NÃO funcionam no Blackberry
Para começar seu código, recomendo utilizar esta função do Unity logo no começo:

Input.GetJoystickNames()

Esta função retorna um array de strings com os nomes dos controles conectados. Eu utilizo ela para detectar se há algum controle conectado, como no exemplo abaixo:


 void Awake ()
 {
 if ( Input.GetJoystickNames() == null )
 print( "Nenhum controle conectado" );
 }

E agora, o mais importante… um código detectando o Input de todos os botões do controle e dando Print


void Update ()
{
  if ( Input.GetKey(KeyCode.Joystick1Button2) ) // BOTAO X DO MOGA
  print ("Pressionou o botao X");

  if( Input.GetKey(KeyCode.Joystick1Button3) ) // BOTAO Y DO MOGA
  print ("Pressionou o botao Y");

  if( Input.GetKey(KeyCode.Joystick1Button0) ) // BOTAO A DO MOGA
  print ("Pressionou o botao A");

  if( Input.GetKey(KeyCode.Joystick1Button1) ) // BOTAO B DO MOGA
  print ("Pressionou o botao B");

  if( Input.GetKey(KeyCode.Joystick1Button4) ) // BOTAO L1 DO MOGA
  print ("Pressionou o botao L1");

  if( Input.GetKey(KeyCode.Joystick1Button5) ) // BOTAO R1 DO MOGA
  print ("Pressionou o botao R1");

  if( Input.GetKey(KeyCode.Joystick1Button6) ) // BOTAO SELECT DO MOGA
  print ("Pressionou o botao SELECT");

  if( Input.GetKey(KeyCode.Joystick1Button7) ) // BOTAO START DO MOGA
  print ("Pressionou o botao START");

  if( Input.GetAxisRaw("6th axis") > 0 ) // EIXO HORIZONTAL DO DIRECIONAL DIGITAL DO MOGA
  print ("Pressionou o Direcional Digital para direita");

  if( Input.GetAxisRaw("7th axis") > 0 ) // EIXO VERTICAL DO DIRECIONAL DIGITAL DO MOGA
  print ("Pressionou o Direcional Digital para cima");
  if( Input.GetAxisRaw("4th axis") < 0 ) // EIXO HORIZONTAL DO DIRECIONAL ANALOGICO DO MOGA
  print ("Moveu o Direcional Analogico para esquerda");

  if( Input.GetAxisRaw("5th axis") < 0 ) // EIXO VERTICAL DO DIRECIONAL ANALOGICO DO MOGA
  print ("Moveu o Direcional Analogico para baixo");
}

Lembrando que os direcionais não vão funcionar se você não criar estes inputs “4th axis”, “5th axis”, “6th axis” e “7th axis” na lista de Inputs do seu projeto.
Para isso, siga o exemplo abaixo

Configurando Input dos Direcionais

-No Unity, vá em: Edit -> Project Settings -> Input
-Crie um input com o nome de cada eixo utilizado no código acima (“4th axis”, “5th axis”, “6th axis” e “7th axis”)
-Configure cada input igual ao exemplo abaixo:

MOGAinput

Lembre-se que o campo “Axis” é definido de acordo com o eixo que você quer mexer (não vá colocar “6th axis” nos 4 inputs).

Com a lista de inputs configurada e os códigos  “na mão”, de agora em diante, é com você 😉

Adaptando NGUI para BlackBerry e Windows Phone (Unity)

BlackBerry, Tutorials, Windows Phone 8

Cada plataforma mobile usa um estilo de “scaling” diferente no NGUI.
Esse “scaling”, é o que garante que a interface se adapte ao formato da tela.

Para alterar o tipo de scaling, você deve procurar pelo gameobject “UIRoot (2D)” na hierarquia do seu projeto:

UIRoot

Confira se o gameobject possui a classe “UIRoot” no inspector:

UIRoot-inspector

No Android e iOS, a variável “ScalingStyle” do UIRoot deve ser “FixedSizeOnMobiles”.
No BlackBerry10 e no WindowsPhone8, você deve mudar o Scaling Style para “FixedSize”:

UIRoot-scalingstyle

É simples, mas fazer isso manualmente pode ser muito trabalhoso quando seu jogo possui muitas cenas.
Por isso, criei a classe “UIAdapter”, que sempre coloco junto ao “UIRoot(2D)” das minhas cenas e que faz esse trabalho automaticamente:


using UnityEngine;
using System.Collections;

public class UIAdapter : MonoBehaviour {

private UIRoot UiRoot;

void Awake ()
 {
 UiRoot = GetComponent&amp;amp;lt;UIRoot&amp;amp;gt; ();

#if UNITY_BLACKBERRY || UNITY_WP8
 UiRoot.scalingStyle = UIRoot.Scaling.FixedSize;
 #endif
 #if UNITY_ANDROID || UNITY_IPHONE
 UiRoot.scalingStyle = UIRoot.Scaling.FixedSizeOnMobiles;
 #endif
 }
}

Retro Runners, o primeiro e bem sucedido jogo

Countryside Games

Retro Runners Logo
Antes de continuar a falar sobre o Retro Runners, vou deixar os links de download para quem não quer ler o post, haha.

Google Play: https://play.google.com/store/apps/details?id=com.CountrysideGames.RetroRunners

iTunes: https://itunes.apple.com/us/app/retro-runners/id693042806

BlackBerry: http://appworld.blackberry.com/webstore/content/35534890/?countrycode=BR&lang=en

Windows Phone 8: http://www.windowsphone.com/en-us/store/app/retro-runners/d655d41e-a482-4284-bd4f-65beb143b1ab

Voltando ao jogo…
O Arthur fez toda a parte visual do game e dos materiais de divulgação (posters, banners, etc).
Eu fiz a programação, sound design, música e obviamente… game design. Coisas bem distintas, mas que eu já tinha alguma prática, com exceção da programação.

Fiz um post explicando sobre o processo de desenvolvimento no forum do Unity (esse post contem screenshots épicas, haha)
http://forum.unity3d.com/threads/189764-Retro-Runners-a-mobile-quot-endless-runner-quot-(our-first-project)

Passamos 3 meses desenvolvendo o Retro Runners, cometemos muitos erros, mas conseguimos lidar com todos eles, fiz porting para todas as plataformas de smartphones do mercado e terminamos com um jogo muito bem avaliado nas principais app stores.

Ficamos “featured” (em destaque) tanto no Google Play (sessão “Melhores da Semana”) quanto na App Store (o jogo está sempre visível na lista “Populares” do gênero Arcade).
Foi a primeira vez que programei na minha vida, e me dediquei integralmente a isso. Se isso não for motivo para se ter orgulho, então eu não sei o que é, haha.

Houveram dezenas ou centenas de reviews em sites estrangeiros, mas um muito especial, foi o do Touch Arcade, que incrementou consideravelmente o nosso número de downloads no iOS:
http://toucharcade.com/2013/09/22/retro-runners-review/

Como só fiz esse post MESES depois de ter publicado o jogo, não tenho muito ânimo para falar sobre o jogo, apenas posso dizer que passamos dos 300.000 downloads, que eu não sabia programar… e que isso é sensacional, hahaha.