sábado, 31 de dezembro de 2011

Revisitando o Age of Empires II - The Conquerors (parte 1)

O Age of Empires 2, o Age of Kings e sua expansão, The Conquerors, ou simplesmente "Age 2", como o chamava, foi um dos RTS que mais joguei. No entanto na época, em torno do ano 2000, eu acabei jogando quase que só online, multiplayer. Queria fazer as campanhas mas nunca tinha tempo (em parte por causa do próprio Age 2 online!). Depois vieram muitos outros RTS (estratégia em tempo real), e muito depois acabei quase largando esta modalidade de jogo, que só voltei a jogar mais frequentemente no Starcraft 2. E que agora também está quase parado, embora eu ainda pense em continuar. Mas RTS no momento realmente não é minha prioridade. E quando RTS não é a prioridade, ou melhor, quando UM título de RTS não é a prioridade, simplesmente não se consegue atingir um nível de jogar online. Então os jogos de estratégia hoje para mim são campanhas ou jogo de treino contra IA. Completei campanhas de diversos jogos RTS, mas as do Age 2 não.

O plano de terminar as campanhas do Age 2 nunca morreu na minha cabeça. Recentemente me animei de reinstalar o jogo e recomeçar as campanhas do início. Por ser muito antigo, da época do Windows XP, o jogo já apresenta algumas incompatibilidades com o Vista e o Windows 7. Não é nada grave, os gráficos ficam meio alterados, o mar fica com manchas violetas, a terra as vezes fica com pontos vermelhos. Atualmente estou com o Windows Vista (Ultimate 64 bits), e mesmo conseguindo jogar assim, não gostaria de prejudicar minha última experiência com o Age 2 por causa de gráficos ruins. Pesquisando na Web, descobre-se a dica de matar o processo explorer.exe antes de rodar o jogo. Mas por alguma razão, aqui quando faço isso o jogo não entra. Deve ser alguma coisa relativa ao driver de vídeo. Isso me deixou sem opções.

Em algum momento o problema de imagem sumiu, e fiquei sem saber exatamente porque. Achei que tinha sido por alterar o modo de compatibilidade, ou por atualizar o driver de vídeo. Na realidade não foi nada disso, ou melhor, pelo menos nada disso isoladamente, a não ser por uma outra alteração inesperada, e atenção, esta dica não vi em lugar nenhum. Quando o jogo não teve o erro da imagem o  atalho para o Conquerors foi iniciado de dentro de uma pasta na área de trabalho, e não diretamente da área de trabalho!
Refiz isso diversas vezes para comprovar, arrastando o link para fora da pasta e de volta, e iniciando o jogo nas duas situações. Coloque o icone dentro de uma pasta, como na imagem abaixo, e depois para garantir, refaça as configurações do modo de compatibilidade:



Na imagem abaixo está a configuração do atalho do Conquerors que estou usando. Para iniciar o jogo, dê duplo clique no atalho, de dentro da pasta. Antes do jogo entrar, aparece mensagem que está revertendo ao modo de cores no Windows Vista Basic (balão em cima da barra de tarefas).



Estou também com o último patch oficial do jogo instalado, o 1.0c, mas não posso dizer que faça alguma diferença.  Este comportamento pode ser específico para o Vista 64 bits, então se não funcionar, tente outra coisa, por exemplo a dica de matar o explorer.exe, que vou descrever abaixo.

De qualquer modo, vou documentar aqui também os comandos para criar um batch (arquivo .bat) para executar o Age 2 matando antes do explorer.exe e reiniciando depois. Não funcionou para mim, mas pelo que eu li funciona para quase todo mundo, e pode ser uma opção:


taskkill /F /IM Explorer.exe
"C:\Program Files (x86)\Microsoft Games\Age of Empires II\Age2_X1\age2_x1.Exe"
start explorer.exe
exit

Basta abrir o notepad e colar as linhas acima. Substitua se necessário a localização (o path) do arquivo "age2_x1.exe" na segunda llinha. Deve ser o local onde está instalado, e pode ser diferente no seu PC. O caminho acima é o padrão para o Vista 64 bits. Depois salve com a extensão .bat".

Com o Conquerors instalado, pode-se guardar tudo de volta nas caixas do jogo original e da expansão e manter apenas o CD do Conquerors à mão. Pelo Conquerors se pode acessar as campanhas do jogo original, o Age of Kings. Só que colocar CD no drive para jogar hoje em dia é muito chato, e além disso, meu CD original do Conquerors é um item de coleção! Na realidade, existem vários executáveis modificados do Age 2 por aí que não requerem CD, alguns inclusive são obrigatórios para jogar nos serviços online que surgiram depois do fim da  "Zone.com". (Nunca entendi porque a Microsoft acabou com o Zone! É verdade que ele estava meio antiquado, mas seria o caso de evoluí-lo, mantendo a compatibilidade com o legado, e não de acabar com tudo para criar outro apenas para o xBox...) . Ainda não testei estes mods, mas consegui substituir o executável do Age 2 (o age2_x1.exe) que veio em uma edição comprada legalmente e que não requer CD (uma espécie de revista que publica jogos antigos, a Fullgames, que no número 75 veio com o Age of Empires Collector's Edition. Comprei por causa do Age 1) .




Podia ter logo instalado esta versão, mas nem lembrei. De qualquer modo, instalar das caixas e CDs originais valeu a pena pelo sentimento de nostalgia. Nem todo mundo vai entender! Mas voltando à prática, no DVD da Fullgames número 75, bastou pegar o arquivo:

D:\AOE2CONQ\UK\GAME\AGE2_X1\age2_x1.exe

Colocando no lugar do executável  original, o mesmo citado acima para criar o batch. Por via das dúvidas, antes fiz um backup do arquivo original com patch 1.0c, renomeando para "age2_x1.exe_bak", para o caso de se falhasse poder retornar sem ter que reinstalar tudo!  Depois fui lá no jogo ver se a aguinha continuava azul, e estava OK, agua normal, solo normal. Acho também que a versão da revista já vem com o patch (basta criar um jogo multiplayer, a versão aparece na linha do seu jogador).  Além disso, a versão da revista inicializa bem mais rápido, provavelmente pelo fato de não acessare o CD. De qualquer modo deixei o backup do executável na pasta, são apenas 337 KB, e vai que algum dia precise...

Conclusão, estou com o Age 2 The Conquerors no Windows Vista sem problema de imagem e sem precisar do CD (e tudo legalmente). Jogo de PC que precise de colocar CD no drive há muito tempo que não compro mais.

terça-feira, 20 de dezembro de 2011

Instalando o Android 4 no Nexus S

A Google começou a atualizar o Android do Nexus S para o 4.0 (codinome Ice Cream Sandwich, ou ICS) no dia 16/12/2011, mas somente ontem (19) fiquei sabendo, e sem perder tempo já instalei. O update via OTA (over the air, com notificação automática) está saindo aos poucos, no entanto o link abaixo permite baixar o arquivo de atualização 4.0.3 do site da Google:

http://android.clients.google.com/packages/ota/google_crespo/VQ8PQk_V.zip

O arquivo pode ser renomeado para "update.zip", colocado no raiz da memória flash e gravado usando o recovery stock. Li que ele verifica se a versão atual é a 2.3.6 padrão. Não verifiquei se realmente precisa, mas como estava com a CyanogenMod 7, e para evitar problemas, gravei antes de mais nada a ROM oficial 2.3.6 full, cujo link está no post anterior (o item 8). Gravei esta ROM usando o ClockworkMod recovery.  Depois de passar a ROM 2.3.6 oficial o recovery stock é sobrescrito pelo padrão também.

De qualquer modo depois desta operação eu estava na mesma situação de alguém que comprou o Nexus S e foi atualizando via OTA até o 2.3.6. Neste ponto basta seguir o tutorial abaixo, que basicamente detalha o que falei no início do parágrafo anterior:

http://forum.xda-developers.com/showthread.php?t=1395828

Note que tudo isso é para o modelo GSM da T-Mobile (I9020T), que é o que eu tenho.

Quem tiver paciência pode esperar o OTA, mas nem sempre é tão rápido, o que inclusive me fez instalar as atualizações 2.3.1 até 2.3.4 manualmente, apenas as 2.3.5 e 2.3.6 é que vieram rapidamente via OTA. As atualizações OTA são liberadas aos poucos para os aparelhos, segundo uma regra que desconheço completamente. Então se você é um aficionado pelo Android e quer ter a última versão, porque esperar?

Depois de ter o 4.0, o link abaixo no site do Nexus da algumas dicas para conhecer melhor o novo sistema, que tem muitas novidades e melhorias:
http://support.google.com/ics/nexus/?hl=en&topic=2371275

 




sexta-feira, 16 de dezembro de 2011

Nexus S - A caixa de ferramentas básicas

Entre as várias qualidades do Nexus S, três pontos para mim são os principais: (1) seguir de perto o conceito do Google para o Android, sem customizações excessivas, (2) ser atualizado com frequência pelo próprio Google e finalmente (3) ter a tecnologia aberta, facilitando os desenvolvedores. Isso também se aplica ao seu predecessor, o Nexus One, e creio que deva também se aplicar ao sucessor, o Galaxy Nexus, embora para este último eu não tenha informações concretas sobre isso.

Para se aproveitar das duas primeiras características, basta comprar um Nexus e usar. Já para exercer a liberdade de desenvolvimento e/ou de modificação, o bootloader desbloqueado e etc., será necessário algum tempo, paciência, vontade de aprender e algumas ferramentas (de software). Este post assume que o leitor já possui algum conhecimento sobre os temas envolvidos, e o texto foca em listar e descrever brevemente o conjunto básico e necessário de ferramentas, para Windows, úteis para uma pessoa que queira desbloquear o bootloader, obter root, instalar uma ROM mod, etc. Apesar de descrever alguns comandos, este artigo não é um tutorial, os comandos são incluídos apenas como referência.

Atenção, tudo isto é válido para o Android Gingerbread (2.3.x), que é a última no momento para o Nexus S. No entanto a Google prevê o lançamento da ICS (ice cream sandwich, ou 4.0) para o Nexus S, e neste caso talvez alguns softwares parem de funcionar nesta versão. Na prática, acho que apenas o Superuser (talvez) seja afetado, mas não tenho como prever. Nos testes foi utilizado um PC com Windows Vista e o Nexus S T-Mobile (I9020T), de início com o Android 2.3.6.

1) O Android SDK
O Android SDK é a ferramenta básica para o desenvolvedor Android e modder. No nível mais básico ele permite acessar o dispositivo pelos comandos adb e fastboot. Em teoria ele deveria conter os drivers do Nexus S (baixando o item "Extras/USB driver package" pelo SDK manager). No entanto na minha instalação este driver não funcionou de jeito nenhum, e não sei se foi problema de versão do driver ou alguma coisa na instalação do Windows. Por este motivo foi incluído mais um item no conjunto de ferramentas, o PDANet (lá eu explico porque). Caso o driver que vem no pacote do SDK funcione, é desnecessário instalar o PDANet, pode pular o item 2 a seguir. Note que o SDK tem muito mais utilidades do que é mostrado aqui.

Nome do arquivo baixado:
installer_r15-windows.exe
(a versão atual já pode ser mais nova, [update 5-01-2012: agora é a r16] )
Página do download:
http://developer.android.com/sdk/index.html

Para instalar o driver USB do SDK siga este tutorial:
http://developer.android.com/sdk/win-usb.html

 [update 5-01-2012: lembrando que vai ser necessário instalar o Java SE JDK]
Caso tudo ocorra bem o dispositivo adb será reconhecido. Caso contrário dá um erro no final, com o Windows dizendo que não pôde instalar corretamente o driver.

Para verificar a instalação do SDK, ative a depuração USB no dispositivo (Aplicativos/Desenvolvimento/Depuração USB) e tecle no prompt:

adb devices

Deve aparecer uma linha com código alfanumérico referente ao celular que estiver conectado e a palavra "device" depois:

xxxxxxxxxxxxxxx      device

Onde "xxxx..."  representa o código alfanumérico Se não funcionar tecle antes:

adb start-server

2) PDANet
[update 5-01-2012: na instalação nova que fiz hoje, em outra máquina, este software não foi necessário. No entanto mantenho a dica, que já me salvou uma vez!]

A finalidade original do PDANet é possibilitar thetering via USB. Acontece que como o driver USB no Nexus S, que teoricamente está no SDK, não funcionou, pesquisei na Web e descobri uma dica simples: que instalando o PDANet o driver e o ADB passam a funcionar. Para não perder tempo, instalei e funcionou. Como dito antes, se o driver do SDK funcionar, este software não é necessário (a não ser que queira realmente usar o thetering USB).

Nome do arquivo baixado:
PdaNetA302.exe

Página do download:
http://junefabrics.com/android/

3) Fastboot
É um comando para gravar diretamente imagens no dispositivo. Aqui tive mais um problema, ele deveria  fazer parte do SDK, mas ao que parece este comando só foi suportado até a versão 13. A justificativa é que no momento a versão do Windows não permite a compilação e montagem da ROM, e por isso ele não seria necessário (então o SDK no Windows seria apenas para desenvolvedores de app). Pois bem, para contornar isso baixei uma versão do executável para Windows em um link que encontrei no site do CyanogenMod. Para usar o fastboot é preciso ter o SDK instalado. O programa deve ser colocado na mesma pasta do adb (e que vai estar na variável path do windows).  [update 5-01-2012: na versão r16 do SDK o fasstboot voltou, está na pasta platform-tools, a mesma do comando adb. Logo, não será masi necessário baixar o arquivo abaixo, mas veja a seguir a parte do teste]

Nome do arquivo baixado:
fastboot-win32.zip

Página de download:
http://koushikdutta.blurryfox.com/G1/
Acessada via:
http://wiki.cyanogenmod.com/wiki/Fastboot

Para testar:

fastboot devices

Para usar o fastboot para desbloquear o bootloader, coloque o celular na tela do bootloader (ligar apertando volume +), e depois tecle:

fastboot oem unlock

Vai aparecer uma tela no Nexus S para confirmar. Com o bootloader desbloqueado aparece a imagem de um cadeado aberto durante o boot, embaixo do nome do Google, não se assuste com isso. Para bloquear de volta (embora eu não veja muita utilidade nisso):

fastboot oem lock

Nota: Se ao entrar no bootloader pelo celular o Windows não reconhecer o driver (apesar de já ter instalado com sucesso no modo de uso), entrar no gerenciador de dispositivos do Windows, clicar do ícone do Android com a exclamação, mandar atualizar o driver, clicar em "me deixe escolher de uma lista ..." e depois escolha o driver do bootloader ("Android Bootloader Interface").

4) Clockwork Recovery
Para gravar uma nova ROM no Nexus S não é preciso antes obter root (dependendo do método, mas o fato é que existe um método que não precisa). Por isso antes mesmo do root vou citar o Recovery, invertendo a ordem que usaria nos meus dois aparelhos anteriores da Motorola (Dext e Defy). Para instalar este recovery usa-se o comando fastboot. Uma particularidade do Nexus S é que o Recovery só ficará gravado até o próximo boot, no seguinte ele volta ao stock, de alguma forma é sobrescrito.

Nome do arquivo baixado:
recovery-clockwork-5.0.2.0-crespo.img

Página de download:
http://wiki.cyanogenmod.com/wiki/Nexus_S:_Full_Update_Guide

Para gravar a recovery usando o fastboot (com o celular na tela do bootloader):

fastboot flash recovery recovery-clockwork-5.0.2.0-crespo.img

(isso se o arquivo img estiver no diretório corrente, senão alterar o path)

5) CyanogenMod 7.1
 A utilidade mais básica de desbloquear o bootloader é poder gravar uma outra ROM, e vou citar a CyanogenMod porque é a ROM que eu normalmente uso, por achar estável e confiável. Outras ROMs podem ser utilizadas, e a CM fica aqui como exemplo.

Nome do arquivo baixado:
update-cm-7.1.0.1-NS-signed.zip

Página de download:
http://download.cyanogenmod.com/?type=stable&device=crespo

Depois siga o procedimento de instalação aqui:
http://wiki.cyanogenmod.com/wiki/Nexus_S:_Full_Update_Guide

6) gapps (Google Apps)
Os aplicativos do Google, incluindo o Android Market, foram removidos da CyanogenMod por questões de licenciamento. Então eles foram adicionados a um pacote separado, que pode ser gravado via recovery mod. A justificativa é que isso equivale ao backup destes apps feito pelo usuário. A gravação pode ser feita logo em seguida da Cyanogen, antes mesmo do primeiro boot da recovery.

Nome do arquivo baixado:
gapps-gb-20110828-signed.zip

Página de download:
http://wiki.cyanogenmod.com/wiki/Nexus_S:_Full_Update_Guide

Na realidade a maioria dos aplicativos ainda terão que ser baixados pela Internet, o que este pacote faz com certeza é instalar o Market e iniciar o download.

7) Superuser
Ao instalar uma ROM Mod normalmente, quase sempre, ela virá com o su. E como vimos, no Nexus S não é necessário obter root antes para instalar o recovery. Mas se você quer apenas root, basta gravar o su pelo recovery mod.

Nome do arquivo baixado:
su-2.3.6.1-ef-signed.zip

Página de download:
http://forum.xda-developers.com/showthread.php?t=682828
(baixe a versão para Eclair e Froyo, a "ef")

Um guia de root sem troca de ROM pode ser encontrado aqui:
http://forum.xda-developers.com/showthread.php?t=895545

8) ROM oficial Google FULL versão 2.3.6
Esta é a última versão atualizada pela Google para a versão T-Mobile (I9020T) do Nexus S. Caso se queira voltar o Nexus S à configuração inicial. Esta ROM pode ser gravada pelo recovery stock ou pelo Clockwork.

Nome do arquivo baixado:
1ada25375426.signed-soju-ota-189904.1ada2537.zip

Link de download:
http://android.clients.google.com/packages/ota/google_crespo/1ada25375426.signed-soju-ota-189904.1ada2537.zip

E com isso fecha-se o ciclo para o aficcionado em mexer no Android, com as ferramentas para desbloquear o bootloader, customizar e poder voltar ao início. E vamos esperar o ICS oficial para o Nexus S, e depois (ou quem sabe antes) o CyanogenMod 9, baseado no ICS.

quinta-feira, 1 de dezembro de 2011

Carrier IQ: mais um escândalo de segurança em dispositivos móveis

Um hacker e usuário do fórum xda-developers, Trevor Eckhart ou "TrevE", descobriu a poucos dias em vários dispositivos Android  um programa que roda continuamente sem conhecimento do usuário e não pode ser desinstalado ou parado, que alguns já estão classificando de rootkit. Ele monitora e envia eventos do smartphone como teclas pressionadas, SMS, acessos na web (incluindo https decriptado), etc. O escândalo é porque este software malicioso foi incluído pelas fabricantes e operadoras. Chamado de "Carrier IQ" (que também é o nome da empresa que o produz), não se sabe exatamente a extensão da ameaça, mas a empresa envolvida no seu desenvolvimento vem emitindo sinais contraditórios que indicam que a coisa não é simples: ameaçaram processar o hacker, voltaram atrás, emitiram comunicados desmentindo a gravidade. É um assunto a ser acompanhado com cuidado nos próximos dias. O que está em jogo é a privacidade e a segurança de milhões de usuários que cada vez mais adotam smartphones na sua vida diária, e para cada vez mais usos.

A lista de fabricantes e aparelhos afetados é extensa, mas ao que parece meu Nexus S não está entre eles. A Google rejeitou a instalação do software nos aparelhos projetados diretamente por ela. Não sei ainda se estaria incluído em ROMs custom AOSP (compiladas a partir do fonte aberto), como o CM7. Caso confirmado que não contém, seria mais um bom motivo para adotá-las. Já existe um aplicativo desenvolvido pelo próprio TrevE para detectar a existência deste programa no smartphone.

Um artigo bem detalhado aqui, que inclui o vídeo do TrevE demonstrando os resultados a que chegou:

How Deep Does The Rabbit Hole Go? An In-Depth Look At Carrier IQ, The Data It Logs, And What's Really Going On



Acompanhe o desenrolar dos fatos também aqui:

Carrier IQ tracking on Android, iPhone, BlackBerry, and more: the story so far




[Update] Mais um artigo interessante sobre o assunto:


How much of your phone is yours?