quinta-feira, 20 de abril de 2017

APKs de teste

Esses APKs são de TESTE, não são recomendados para uso "normal"!!!

Esta página é somente para ANDROID. Para baixar o jogo para PC, clique aqui.

Decidi centralizar os testes aqui porque sempre ficam perdidos. Ao indicar o link de download, por favor, mande o desta página e não do apk diretamente, assim as pessoas pegam o mais recente. Eu posto alguns testes fora da Play Store para não comprometer a instalação de todos os usuários. Estes testes são provisórios para experimentar como o jogo se comporta em algumas situações.

OS APKS DE TESTE MAIS ANTIGOS SERÃO APAGADOS COM O TEMPO. A VERSÃO "OFICIAL" É A DA PLAY STORE! AS VERSÕES DE TESTE PODEM CONTER PROBLEMAS CONHECIDOS, SE ELAS NÃO FUNCIONAREM BEM, ESPERE UM POUCO MAIS E JOGUE NA ÚLTIMA ESTÁVEL QUE ESTIVER DISPONÍVEL.
https://play.google.com/store/apps/details?id=com.viamep.protonbussimulator




ÚLTIMO APK DE TESTE FORA DA PLAY STORE:

Suporte a mods na fase 1!
A VERSÃO DE TESTE DOS MODS ESTÁ AQUI:
http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html

Para instalar tem que usar um gerenciador de arquivos, extraindo o mod para a pasta exibida na tela de escolha dos ônibus no botão "Jogar com mod".

v185 - VIP 4 animado, correções no VIP 1 e melhorias na estabilidade do floating origin (recurso técnico, não repare):
http://167.99.55.217/pub/proton185-ok.apk

v182 LITE, com uma alteração técnica no temporizador da física e garbage collector:
http://167.99.55.217/pub/proton182lite-ok.apk
Compare o desempenho com o v181/v180 usando as mesmas configurações e relate na página ou grupos, por favor! Essa mudança será testada só no lite por agora, depois irá para o normal e para a Play Store se der certo.

v181 - TESTE, com novos controles da câmera livre e função de reposicionar o ônibus, além de imagens mais descritivas das linhas:
COMPLETO (861 MB): http://167.99.55.217/pub/proton181-ok.apk
LITE (387 MB): http://167.99.55.217/pub/proton181lite-ok.apk

v180 - TESTE com mais correções:
COMPLETO (859 MB): http://167.99.55.217/pub/proton180-ok.apk
LITE (387 MB): http://167.99.55.217/pub/proton180lite-ok.apk
* Versão "lite" do t14, com menos polígonos internos (isso não será feito em todos os ônibus de uma vez pois os resultados ainda não são satisfatórios, por enquanto só o TGV, Mond08 e o T14 terão).
* Ao marcar para usar a versão lite os ônibus ficarão sem a maioria das animações extras (podendo recuperar parte do desempenho "perdido" nos últimos que foram animados). Isso vale para todos os que estão animados, mesmo os que não possuem a versão com menos polígonos ainda. Atualmente isso desativará inclusive a animação dos limpadores e vidros. Jogue sem marcar a opção "lite" na tela de seleção dos ônibus para jogar com as animações.
* Otimização na tela de carregamento com uma imagem fixa (sem aquela barrinha embaixo, que toma um processamento meio inútil).
* Correção do travamento na tela de loading ao escolher a 5367-10 TS no Aricanduva.

v174 - TESTE experimental um pouco mais estável
http://omsi.viamep.com/proton/proton174-full.apk (827 MB)
Se o download estiver lento, experimente baixar depois de umas horas... Dependendo dos usuários simultâneos pode ficar lento.
Várias melhorias de desempenho na área de ligação do Iguatemi x Vila Sabrina x Cidade Universitária (a diferença é maior ainda ao jogar sem detalhes extras!). Melhorias da v173 + correções diversas e a câmera livre, recurso experimental no Android (o controle será melhorado depois).
Destaques:
* Coloração das opções (em vermelho os recursos pesados, em verde os recomendados)
* Opção Visibilidade Dinâmica, que reduz ou aumenta a distância visível baseando-se no desempenho (é super recomendado, mas pode ser indesejado em alguns aparelhos)
* Opção para carregar terreno continuamente na tela Extras 2 (isso deve corrigir o bug de não carregar cenário em alguns aparelhos... Provavelmente depois este item será padrão)
* Simplificação dos presets de opções no Android em apenas dois botões (os médio e alto eram pesados demais pro celular, foram herdados do PC). Configure cada opção individualmente depois de clicar num deles.
* Controle de volume no Android (no botão de ferramentas), permitindo baixar o volume do jogo sem precisar alterar o do sistema ou das músicas em segundo plano.
* Toda a área leste/sul do mapa foi movida mais para a esquerda para deixar um espaço maior entre os trechos pesados. Os savegames antigos da Vila Sabrina/Iguatemi/Corredor/Noronha/Shaze/Jd das Rosas não irão mais funcionar porque os bairros foram movidos; é necessário salvar novamente naqueles lugares.

v172 de teste, com correções referentes à v170:
https://drive.google.com/file/d/1qOWTqxsBmwcehzm7ehJsAOjg3yfI32ut/view?usp=sharing

v170 de teste, com muitas alterações (integração dos mapas, pbc e t14 animados, vip1 pros colaboradores, etc)
https://drive.google.com/file/d/1cOvW4Dii8NW5Il9j2akjmoD3l2XmYdOb/view?usp=sharing
816 MB, upload somente via Google Drive por enquanto (os demais são piores).
O número da versão dela pode aparecer como 169 mas é a v170 mesmo. Na Play Store irá daqui alguns dias, depois de mais ajustes.
Lista de novidades: http://blog.protonbus.com.br/2018/07/novidades-da-v170.html
Base de skin do VIP1: http://blog.protonbus.com.br/2017/03/bus-repaints.html
Skins personalizadas no tráfego: https://protonbus.blog/2018/07/06/custom-traffic-repaints-skins-personalizadas-do-trafego/
A VERSÃO PC AINDA IRÁ DEMORAR ALGUNS DIAS/ SEMANAS, AGUARDANDO AS CORREÇÕES DECORRENTES DOS TESTES PRÉVIOS DESTA NO ANDROID, PARA ELA JÁ CHEGAR MAIS ESTÁVEL.

v169, com o novo Terminal Vila Sabrina:
http://omsi.viamep.com/proton/proton169.apk (737 MB)

v168, com pontos na rodovia e mais detalhes extras:
http://www.mediafire.com/file/tu30gja7y3q3mpe/protonbus168-ok.apk

v167, com as correções de performance no Aricanduva:
http://www.mediafire.com/file/dldkacl46dztk6g/protonbus157-ok.apk
ERRATA: o nome do arquivo consta 157, mas é a 167!

v164 com obb incluso:
http://www.mediafire.com/file/dcxf2wka5add29b/proton164-obbincluso.apk

terça-feira, 11 de abril de 2017

Alguns dos próximos detalhes a serem feitos...

O game chegou numa fase bem interessante! Quase toda a programação básica está bem avançada, faltando apenas detalhes e finalizações. Para aí sim passar a colocar novos ônibus e fazer novas rotas! O jogo terá muitas linhas e muitos ônibus no decorrer dos próximos meses, mas antes de começar isso, preciso terminar um conjunto de recursos.

Progresso atual do game (abril de 2017):

https://www.youtube.com/watch?v=th02LENLYOs



Eu já divulguei uma espécie de cronograma aqui, com um pouco do que já foi feito e do que vai ser. Agora, sendo mais direto, vou lisar alguns pontos que serão trabalhados em breve:


  • Melhorias na iluminação leve, ainda não confirmada para celular
  • Paths dos passageiros nos pontos de ônibus (para saírem e andarem um pouco)
  • Melhorias no embarque/desembarque dos passageiros
  • Diálogos básicos dos passageiros (isto vai ser aprimorado com o tempo)
  • Sons dos carros do tráfego (precisa ser algo bem otimizado no Android)
  • Sons extras do ônibus (bateção de lata, suspensão, molas, etc)
  • Mais detalhes no mapa protótipo (detalhes ao longo do corredor)
  • Mais detalhes do sistema de tráfego (luzes dos carros, setas, etc)
  • Chuva não vai ter tão cedo, mas penso em melhorar o clima, sol e sombras
  • Texturas alternativas para o céu, mudando bastante a sensação do jogo


terça-feira, 4 de abril de 2017

Bug filho da pool!

Acho que identifiquei um dos bugs dos carros. Não todos, mas mais um! Ainda não fui testar, mas faz sentido. Vou testar  AGORA!

Quando eles somem (estão longe do jogador), são desativados e voltam pra fila de carros à espera do spawn. Quando são ativados novamente, a função de inicialização é chamada, atribuindo uma velocidade levemente aleatória de acordo com a velocidade de cada carro, pré-configurada no objeto (prefab, para os íntimos da Unity). O valor alterado é com base num multiplicador. Por exemplo, a velocidade "base" do carro vezes um número aleatório entre 0.8 e 1.2 (assim uns ficam mais rápidos, outros mais lentos). Idem para a distância que ficam do carro da frente, a distância que ficam do ônibus do jogador, etc. A aleatoriedade dá um toque especial ao game, já que cada carro se comporta de um jeito diferente e não ficam alinhados iguaizinhos nas vias de várias faixas, ficando bem realista.

Aí entra o problema. Antes de usar um pool, cada carro era destruído e recriado (instanciado) com os valores padrões. Então sempre iniciavam com a velocidade "certa".

Usando o pool os carros não são destruídos/recriados, apenas ativados/desativados e reposicionados (eles somem de uma rua atrás do jogador e aparecem numa rua lá na frente). Isso é um infinitilhão de vezes melhor pro desempenho e gerenciamento de memória, especialmente no celular.

Os bugs apareceram depois do pool, que implementei em janeiro a pedido de uma empresa que contratou o código (eu ia fazer por mim mesmo mais cedo ou mais tarde, mas acabei adiantando).

E só caiu a ficha agora: embora eu desativei algumas coisas restaurando os valores padrões na ativação do carro, faltaram as coisas aleatórias. O carro vai pro pool com a velocidade e distância alteradas, e quando volta elas são multiplicadas pelo fator aleatório... E isso vai aumentando (ou reduzindo). Por isso alguns carros andam muito rápido: eles têm a velocidade base multiplicada por 1.2, 1.5, etc, sempre aumentando, a cada sumida/ativação! Enquanto outros têm a velocidade e distâncias sempre diminuindo... Até ficarem parados (o resultado de x * y, onde 0 < y < 1, tende a 0 se feito repetidas vezes!!!).

Aí está explicado: na abertura do jogo tudo funciona bem, mas alguns minutos depois tem carro voando muuuuito rápido, e outros praticamente parados, travando todo o trânsito.

Se realmente o bug for esse (só tá na minha cabeça, vou ver o código já já) o tráfego vai ganhar um grande up, aí já lanço a correção hoje mesmo!

Não vou comemorar ainda, pode ser outro bug, e podem ter mais - os que ficam girados eu ainda não entendi, não faz sentido. Mas esse é um dos piores de todos.

Aí fica a lição: se usar pool, cuidado dobrado com as variáveis que precisam ser redefinidas no OnEnable!!!