terça-feira, 27 de março de 2018

Lista de bugs e recursos


Compartilho aqui uma lista de bugs e tarefas que tenho para o projeto. Esta lista é resumida, em detalhes há mais de 500 itens... Algumas coisas levarão bastante tempo, lembrando que o jogo tem alguns anos de desenvolvimento pela frente (entre 2 a 4, ou mais, se precisar).

Lista sujeita a alterações sem aviso prévio, é provável que algumas coisas citadas serão substituídas por outras depois.

Estas mudanças devem ocorrer de 1 a 3, 4 anos ou mais. Não espere tudo em 2018 nem 2019 não. Só depois de programar toda essa base é que darei atenção aos mapas definitivos realistas que pretendo ;)
  • Os automáticos estão rebaixados na dianteira (bug já identificado no centro da massa)
  • Passageiros se mexendo quando parados (indesejável, tem que desativar como era antes)
  • Posicionamento 3D dos sons, e redução de volume (setas, portas etc)
  • Fundo do T07 interno e pés dos bancos faltando no VIP4 (virão quando forem animados)
  • Passageiros com as costas para trás dos bancos (TGV e outros)
  • Skins não aparecem em alguns ônibus do tráfego ou estacionados (ficam brancos)
  • Android: ao voltar das telas de opções às vezes não salva (bug reproduzido porém não identificado, só vi no Moto G1, nos mais novos não deu aqui... parece treta de desempenho)
  • Bug gráfico na GPU Mali T830-MP2 (J7 Prime e similares, bug bem louco e difícil de achar o que causou =/)
  • Reduzir uso do GC.Collect nas funções das luzes dos ônibus (meta/sonho: zerar o GC um dia)
  • Som de freio raspando às vezes toca em momentos inadequados
  • Embreagem desregulada em todos os manuais (vai demorar até entender/estabilizar, recomendo jogar sem embreagem)
  • Fumaça do escape: configurar cor por ônibus (mais novos = mais fraca)
  • Passageiros que travam na porta do meio ao ficar um de frente pro outro (bug difícil de resolver, é mais perceptível na porta do meio)
  • Passageiros devem ir pra calçada depois de descer e continuarem caminhando (depende de infraestrutura na via)
  • Passageiros devem parar pro ônibus do jogador passar nas faixas/cruzamentos (colisor frontal talvez)
  • Articulado no tráfego (com possibilidade de carretas etc...? Talvez dependerá do tráfego com física, pode demorar muito)
  • Melhor deteção do tráfego caso o jogador esteja perto (otimizar vendo a distância, usar triggers na dianteira, impedindo que o ônibus entre na curva por cima do ônibus do jogador... uma esfera grande na dianteira deve resolver)
  • Suavizar freagem e aceleração do tráfego
  • Opção para não desligar a seta automaticamente
  • Suporte a controles de volante baratos (talvez uma opção de inverter valores nos pedais deve resolver)
  • Suporte a controles de joystick no PC e Android
  • Câmera livre no Android
  • Ciclo dia noite no Android (complexidade pelo peso e intregração com as demais áreas)
  • Relógios no cenário
  • Temperatura simulada (para o relógio estilo SP)
  • Controle de ar condicionado funcional nos ônibus (aumentar/reduzir, passageiros reclamando etc)
  • Efeitos gráficos no Android (não sei se vai funcionar bem, é só pra aparelhos tops)
  • Trocar sons dos carros do tráfego para algo melhor (mais variações = mais RAM, ir com cautela)
  • Boneco do cobrador aleatório (randomizar motorista também, quem sabe)
  • Mais passageiros na versão PC (de 100 a 1000 bonecos diferentes)
  • Mais carros na versão PC (de 50 a 1000 veículos diferentes)
  • Otimizar função Update dos objetos repetidos, pessoas, carros, passageiros (chamando um só pra tirar o overhead dos updates)
  • Outros ônibus estacionados e no tráfego, configuração para skin individual neles aleatória (futuramente será por linha... talvez a configuração será feita via arquivo na pasta, é muita tela para criar)
  • Carros estacionados na faixa exclusiva no sentido contra fluxo
  • Taxistas no corredor e em faixas exclusivas
  • Velocidade mais alta para polícia e ambulância (sonho inatingível a curto prazo: ultrapassagem)
  • Ônibus quebrado no caminho, para pegar os passageiros deles (e às vezes não, só quebrado mesmo)
  • Sons de veículos do tráfego (polícia, ambulância, bombeiro, carro do ovo, pamonha, churros, gás, etc)
  • Colisão básica no tráfego (complexa para evitar acidentes causados pelo AI)
  • Tráfego mais realista com física (colisões nas rodas, giro suave etc)
  • Ônibus parando nos pontos e pegando passageiros (depende do tráfego estável nas curvas)
  • Ônibus fazendo rotas específicas (com letreiro e tal)
  • Opção de GPS no painel (útil na versão PC, já que a tela do Android tem os montes de controles mesmo)
  • Opções de letreiros digitáveis e/ou mais fases (não prioritário, prefiro que aprendam a usar as pastas)
  • Opção para inserir letreiro pelo número, sem precisar passar por todos (provavelmente terá um painel próprio do Proton para isso, alternando os personalizados e os do mapa)
  • Ônibus e carros que somem na junção dos terrenos na Radial/Aricanduva (simples na teoria, na prática continuou bugado)
  • Opção para passar todos os letreiros do mapa pelo controle no ônibus
  • Opção de rolar letreiro de lona, quem sabe (vai ser difícil, não é prioritário)
  • Melhorias locais no mapa Aricanduva (áreas faltando prédios, muros, passarelas, aumentar a qualidade)
  • Mais detalhes no Aricanduva (bancas, postes com fios, lixos, passarelas etc)
  • Calçada vazada na guia no Metrô Carrão
  • Asfalto molhado em mais mapas (complexo, cada um foi feito de um jeito e o piso de um não pega no outro)
  • Seta indicativa no GPS em curvas antecipadas (na entrada do Carrão)
  • Garagem decente no Aricanduva
  • Estudar uma ligação de um mapa no outro com tela de carregamento (segurar o ônibus com quem estiver dentro e colocar no outro mapa)
  • Opção de alterar o destino ao chegar no final, com tela perguntando ou aviso discreto (caso a linha tenha rota de volta, sugerir inverter TS-TP)
  • Tentativa no PC: ligar um mapa no outro no modo contínuo, ignorando o tamanho dos tiles, com distância personalizada na desativação (já que serão maiores do que 3km2).
  • Animais no mapa Longeee e em áreas adequadas (peso++)
  • Pequenos mapas de desafios (curvas na neve, balizas etc)
  • Analisar possibilidade de embarque traseiro sem passar na catraca, para terminais e áreas de pré embarque (não prioritário, dará um trabalhão fazer para todos os ônibus por conta dos caminhos)
  • Vozes dos passageiros: reclamar em curvas e subidas na calçada (detectar variações bruscas de altura entre um frame e outro... pode dar zica em baixos fps)
  • Vozes dos passageiros: editar e incluir as que estão salvas aguardando (processo demorado)
  • Refatorar scripts de controle, unificando todos eles (deixar um controlador só, com câmera, tráfego, passageiros, pools diversos etc... ou não!)
  • Isolar pool de carros e pessoas do mapa, para carregar no início do jogo e reaproveitar depois (reduzirá o tempo de loading com cenas persistentes, sem ter que carregar todos os carros de novo na abertura do mapa, por exemplo)
  • Versão PC: mapa de teste com o City Scape (ideal pro Expresso Tiradentes)
  • Mais árvores 3D detalhadas, configurar no Aricanduva
  • Talvez unir o mapa do Term Shaze ao mapa continuo (ele usaria 2 tiles só... o do corredor fica inviável pela falta de cruzamentos e forma de construção das peças)
  • Mapa do Expresso Tiradentes
  • Mapa conceito com o BRT da Radial
  • Sistema de mods dos ônibus (complexo, o tempo total será variável...)
  • Gerador de strings para as placas dos carros (RAM++, pode ser dispensável)
  • Em pontos finais, terminais etc os passageiros não devem reclamar de velocidade lenta.
  • Pedestres: randomizar um pouco para lá ou para cá, um certo raio dos waypoints originais... Para dar maior dinamismo nos movimentos. E então fazer no caminho inverso também.

quarta-feira, 21 de março de 2018

Nova configuração do anti-aliasing na tela Extras

Na próxima versão de PC terá um item para escolha do tipo de anti-aliasing (anti-serrilhado) desejado ao usar os gráficos avançados. Isso deve aliviar o "borrão" que algumas pessoas enfrentaram nas últimas versões do jogo para PC. No modo com gráficos extras o anti-aliasing tradicional via hardware não pode ser usado (o MSAA não funciona no modo Deferred da Unity, mas não liga pros termos ténicos não...). O modo TAA (Temporal) estava ativado de forma fixa. Nos vários testes aqui ele foi o que mostrou a melhor qualidade. Porém ele pode deixar os objetos em movimento um pouco borrados. Agora com a escolha dará para reverter ao FXAA, que deve funcionar melhor nesses casos, apesar de não suavizar tão bem quanto o temporal faz em algumas linhas. Esta configuração não ficará disponível no celular por não ter tanta serventia, visto que os efeitos não são usados no celular - fizemos inúmeros testes no ano passado e em todos os casos a tela ficava branca, ou rosa, ou toda borrada. No celular valerá a configuração MSAA já que usa a renderização no modo Forward. Ela depende de suporte do hardware, em alguns aparelhos baratos não funciona, mas também não causa nenhum problema. Espero que algum dia seja possível ativar os efeitos nos celulares para igualar os gráficos, quem sabe...