Tentei criar um pequeno bot em JS para colar no console do desenvolvedor e jogar automaticamente, e na primeira execução ele fez 9000 pontos
A estratégia é bem simples: a cada 100 ms ele observa a situação e, se não houver power-up ou ele estiver acabando e o fantasma estiver perto demais, foge na direção oposta
As mortes acontecem quando a dificuldade sobe, os fantasmas vão ficando cada vez mais rápidos e falta tempo para comer as bolinhas do meio
Para melhorar, daria para atrair os fantasmas para uma ponta e depois cruzar para o outro lado para comer rapidamente as bolinhas do meio, ou fazer com que, quando novas bolinhas surgirem, ele priorize as bolinhas do meio
Também daria para adicionar uma lógica para não fugir se calcular que dá para pegar a bolinha de power-up antes do fantasma
Ajustei dinamicamente a distância de fuga com base na proximidade da parede e isso levou a pontuações de várias centenas de milhares
Parece que essa mudança simples também resolveu um caso especial em que um fantasma revivido atropelava o jogador
O jogador deixa de entrar naquela “posição mágica”, então não acontece mais de a chegada dos olhos do fantasma à ponta coincidir exatamente com a posição do jogador
Por causa da forma como os comentários foram colocados antes das condicionais, meu parser mental bugou por um instante
Muito legal
No meu bot sobrou um ponto perto do meio que o Pac-Man não conseguia alcançar, e os dois ficaram indo e voltando por um bom tempo até o fantasma ficar rápido o bastante para pegar ele
Mesmo assim foi divertido de assistir
Queria saber como você descobriu que o estado do jogo é composto por variáveis como enemy.{x,vx,eyeVx}, player.{x,vx}, powerTicks
Também queria saber se existem outras variáveis
Depois de comer o fantasma, houve um problema em que o ponto de spawn do novo fantasma ficava perto demais da posição atual e ele simplesmente passava por cima de mim
Incluindo essas considerações, acho que eu acabaria jogando uma solução de ML no problema, e talvez até gastasse menos tempo codando
É um bom jogo e cheguei a 6600 pontos
Pela minha experiência, a estratégia ideal é não priorizar comer fantasmas
Às vezes você consegue pontuação em sequência ao comer fantasmas, mas em geral isso não ajuda muito
O power-up deve ser usado para comer o ponto do meio, e as pontas podem ser comidas com segurança só no reflexo
A partir de uns 3000 pontos, se você gastar o power-up sem ter comido o meio, fica quase impossível se recuperar
É bom terminar uma linha e imediatamente virar 180 graus para comer o meio de novo, e comer fantasmas só é bom quando acontece por acaso
Essa estratégia realmente funciona
Comendo fantasmas eu mal chegava a 1000 pontos, mas com essa estratégia fui facilmente até 5000
Matar fantasmas também tem uma desvantagem bem pequena
Se ele estiver vivo na tela e, de preferência, desacelerado, você sabe onde ele está, mas se matá-lo não dá para saber exatamente quando e onde vai reaparecer
Curiosamente, a pontuação por abatê-lo não depende do número de fantasmas mortos antes, e sim apenas da velocidade do fantasma, e essa velocidade muda conforme a pontuação total
Então talvez dê para acrescentar uma estratégia de deixar o fantasma vivo o máximo possível no começo e começar a caçá-lo depois de 1500 pontos, quando o bônus passa a ser relevante
Já tive várias partidas na faixa dos 17000 pontos, mas parece que não é mais recorde
Acho que vai ser difícil ficar mais rápido sem usar um teclado físico em vez de touchscreen
Confirmei que o multiplicador de pontos sobe 1 a cada linha limpa e também sobe 1 ao comer um fantasma
A estratégia básica não muda muito, mas às vezes vale a pena parar ou atrasar um pouco, sem quebrar a estratégia principal, para conseguir um abate grátis de fantasma
Acima de 15000 pontos, eu precisava dar toques duplos rápidos para fazer o fantasma me seguir e induzir pequenas pausas, e em alta velocidade o timing é bem difícil
Ainda assim, a jogabilidade parecia até mais segura e quase formulaica, e a pontuação no fim sobe muito rápido, então ir de 7000 para 16000 em uma partida não é uma diferença tão grande quanto parece
Segui os conselhos em geral e fiz 14257 pontos
Se fosse fácil comer o fantasma, valia a pena gastar alguns passos a mais para pegá-lo
O ponto principal é saber que, depois de comer o meio, ainda dá para recolher com segurança as 6 bolinhas restantes de cada lado
Eu já jogava assim na versão original de Atari, no Ms. Pac Man, Super Pac Man, Pac Man Jr. e em várias outras versões de 8 bits
Cheguei a 11800 pontos com multiplicador 40
No fim das contas, o jogo avançado é uma disputa para saber quando e como manipular a posição do fantasma
Às vezes vale a pena balançar para frente e para trás no meio para fazer o fantasma chegar perto e então comer as bolinhas da borda
Mesmo assim, ao pegar o power-up, você deve comer primeiro o ponto do meio
O designer/desenvolvedor deste jogo, Kenta Cho[1], vem criando incontáveis jogos experimentais há décadas
Antes de ver este post eu tinha praticamente me esquecido do trabalho dele, mas é bom saber que ele ainda não parou com o design experimental de jogos e que ainda há muitos jogos dele para experimentar
[1] https://en.wikipedia.org/wiki/ABA_Games
[2] http://www.asahi-net.or.jp/~cs8k-cyu/index.html
Realmente impressionante
Há muito tempo eu joguei um shooter espacial em que você segurava o clique para pegar balas que vinham na sua direção e depois as arremessava no ângulo certo, usando só um botão e o movimento do mouse
Vendo os jogos aqui, tenho a impressão de que aquele também foi feito pela mesma pessoa
Uau, é divertido.
Queria conseguir explicar por que a música e o efeito sonoro de morrer são tão bons.
A jogabilidade tem um excelente senso de ritmo e também muita tensão.
Acabo gritando toda vez que um fantasma me pega.
A melhor parte é que, quando morro, não parece culpa do jogo; parece que cometi um erro idiota e que, se corrigir só algumas coisas, posso jogar muito melhor.
Hoje em dia, jogos demais são difíceis da forma errada, para parecer que têm profundidade e complexidade.
A curva de “fácil de aprender, difícil de dominar”, a simplicidade geral e um loop de feedback muito transparente e tátil são importantes.
O jogo que sempre me fisga desse jeito é Quake 3.
Todo erro parece ser meu, e o caminho para melhorar é muito claro.
As etapas de melhoria são graduais e parecem possíveis, e não existe aquela situação de “levar um no-scope de 180 graus sem nem ter chance de ver o inimigo no mato”.
No começo, até as eliminações que pareciam truques baratos ficam impressionantes quando você vê o killcam, e dá vontade de tentar fazer do mesmo jeito.
Em contraste, em muitos jogos modernos o killcam só irrita ainda mais.
Acho que é pelo mesmo motivo que DOOM causou tanto impacto originalmente, mas em um lugar como o HN talvez Quake 3 seja mais fácil de se identificar.
Acho que o Miyamoto já falou algo parecido sobre essa parte de sentir que, quando você morre, cometeu um erro idiota e que, se ajustar só um pouquinho, vai se sair melhor.
A frustração é voltada não para o jogo em si, mas para você mesmo, com aquela sensação de que, se tentar só mais uma vez, desta vez não vai cometer o erro idiota.
Vejo isso como a pedra fundamental de todos os jogos de ação que eu gosto.
Admito que é bonito.
Mas, quando eu morria com frequência, nem sempre parecia que a culpa era minha.
Os fantasmas são mais rápidos do que eu e às vezes reaparecem bem ao meu lado.
Acho legal que o som de mastigar, o som do fantasma mordendo e o som da morte estejam todos no mesmo tempo/BPM, então os eventos acontecem dentro do ritmo.
Se você observar com atenção, o efeito visual de mastigar não coincide exatamente com o som de mastigar real.
Parece mais que existe uma faixa tocando com uma cadência constante de mastigadas por minuto, e que ela é ligada e desligada quando o Pac-Man mastiga.
Os outros efeitos também parecem e soam como se fossem silenciados e reativados quando os eventos acontecem, em vez de o som ser reproduzido de novo a cada evento.
Você aparentemente precisa experimentar computação de 8 bits.
Meu Commodore 64, de algo como 1986, ainda funciona depois de eu ter trocado os capacitores alguns anos atrás.
Também cresci usando Sinclair ZX80, 81 e Speccy.
O hardware de hoje é poderoso o bastante para modelar em tempo real coisas quase fotográficas, mas esses efeitos sonoros e gráficos insanos são o resultado de gente talentosa querendo fazer mais com hardware extremamente limitado.
Seria legal abrir um simulador e rodar algo como um jogo do Jeff Minter.
Attack of the Mutant Camels tem um som bem surreal, considerando o hardware-alvo.
Também vale a pena dar uma olhada em algo como o RetroPie.
O desenvolvedor deste jogo é Kenta Cho, e ele faz jogos assim há mais de 20 anos.
Em 2021, ele criou 111 jogos de um botão só com a Crisp Game Lib, mais ou menos um a cada 3 dias.
Para mim, ele é o melhor designer de jogos em atividade no mundo hoje.
É muito mais divertido do que eu esperava.
Gosto de pequenas escolhas como a forma como os fantasmas reaparecem, a diferença de velocidade entre os fantasmas e o Pac-Man, e quanto tempo leva até os fantasmas começarem a piscar.
É simples, mas dá para sentir, enquanto joga, que você vai aprendendo o timing e montando uma estratégia.
https://en.wikipedia.org/wiki/ABA_Games
Até ver este post no HN, eu tinha me esquecido completamente do aba games e do trabalho do Kenta Cho por vários anos.
Há mais de 20 anos ele vem fazendo pequenos minigames e publicando no próprio site, com jogos tanto para navegador quanto para Windows.
Eu sempre gostei de Torus Trooper. https://www.asahi-net.or.jp/~cs8k-cyu/index.html
Meu Deus.
Tumiki Fighters foi um dos meus jogos favoritos há muito tempo.
Lembro que, naquela época, eram “só” uns 3 ou 5 jogos, mas mesmo assim eu já achava um trabalho realmente excepcional.
Não sei se mais alguém percebeu isso, nem se é intencional, mas parece que, na maioria dos jogos deste desenvolvedor, a ação no jogo e o som não ficam sincronizados
Em Pac Man, o som de comer os pontos não parece coincidir com o momento em que os pontos são realmente comidos, mas sim como se fosse um som repetido sendo ligado e desligado
Outros jogos baseados na web[1] são parecidos: as ações feitas com toque não produzem sons alinhados ao momento do toque, mas sim um som repetido em um ritmo pré-definido
É sutil, mas pode prejudicar o desempenho real na jogabilidade
Eu costumo usar o feedback sonoro para acertar o timing, e, quando ele não corresponde ao que estou fazendo, o ritmo claramente se desestabiliza
Timber Test[2] é um bom exemplo: especialmente nos níveis mais avançados, é preciso cortar os troncos na mesma proporção, mas o timing do som é sempre o mesmo, então o intervalo entre os bipes na prática não corresponde
[1] https://www.asahi-net.or.jp/~cs8k-cyu/browser.html
[2] https://abagames.github.io/crisp-game-lib-11-games/?timberte...
1 comentários
Comentários do Hacker News
Tentei criar um pequeno bot em JS para colar no console do desenvolvedor e jogar automaticamente, e na primeira execução ele fez 9000 pontos
A estratégia é bem simples: a cada 100 ms ele observa a situação e, se não houver power-up ou ele estiver acabando e o fantasma estiver perto demais, foge na direção oposta
As mortes acontecem quando a dificuldade sobe, os fantasmas vão ficando cada vez mais rápidos e falta tempo para comer as bolinhas do meio
Para melhorar, daria para atrair os fantasmas para uma ponta e depois cruzar para o outro lado para comer rapidamente as bolinhas do meio, ou fazer com que, quando novas bolinhas surgirem, ele priorize as bolinhas do meio
Também daria para adicionar uma lógica para não fugir se calcular que dá para pegar a bolinha de power-up antes do fantasma
Parece que essa mudança simples também resolveu um caso especial em que um fantasma revivido atropelava o jogador
O jogador deixa de entrar naquela “posição mágica”, então não acontece mais de a chegada dos olhos do fantasma à ponta coincidir exatamente com a posição do jogador
No meu bot sobrou um ponto perto do meio que o Pac-Man não conseguia alcançar, e os dois ficaram indo e voltando por um bom tempo até o fantasma ficar rápido o bastante para pegar ele
Mesmo assim foi divertido de assistir
enemy.{x,vx,eyeVx},player.{x,vx},powerTicksTambém queria saber se existem outras variáveis
Incluindo essas considerações, acho que eu acabaria jogando uma solução de ML no problema, e talvez até gastasse menos tempo codando
É um bom jogo e cheguei a 6600 pontos
Pela minha experiência, a estratégia ideal é não priorizar comer fantasmas
Às vezes você consegue pontuação em sequência ao comer fantasmas, mas em geral isso não ajuda muito
O power-up deve ser usado para comer o ponto do meio, e as pontas podem ser comidas com segurança só no reflexo
A partir de uns 3000 pontos, se você gastar o power-up sem ter comido o meio, fica quase impossível se recuperar
É bom terminar uma linha e imediatamente virar 180 graus para comer o meio de novo, e comer fantasmas só é bom quando acontece por acaso
Comendo fantasmas eu mal chegava a 1000 pontos, mas com essa estratégia fui facilmente até 5000
Matar fantasmas também tem uma desvantagem bem pequena
Se ele estiver vivo na tela e, de preferência, desacelerado, você sabe onde ele está, mas se matá-lo não dá para saber exatamente quando e onde vai reaparecer
Curiosamente, a pontuação por abatê-lo não depende do número de fantasmas mortos antes, e sim apenas da velocidade do fantasma, e essa velocidade muda conforme a pontuação total
Então talvez dê para acrescentar uma estratégia de deixar o fantasma vivo o máximo possível no começo e começar a caçá-lo depois de 1500 pontos, quando o bônus passa a ser relevante
Acho que vai ser difícil ficar mais rápido sem usar um teclado físico em vez de touchscreen
Confirmei que o multiplicador de pontos sobe 1 a cada linha limpa e também sobe 1 ao comer um fantasma
A estratégia básica não muda muito, mas às vezes vale a pena parar ou atrasar um pouco, sem quebrar a estratégia principal, para conseguir um abate grátis de fantasma
Acima de 15000 pontos, eu precisava dar toques duplos rápidos para fazer o fantasma me seguir e induzir pequenas pausas, e em alta velocidade o timing é bem difícil
Ainda assim, a jogabilidade parecia até mais segura e quase formulaica, e a pontuação no fim sobe muito rápido, então ir de 7000 para 16000 em uma partida não é uma diferença tão grande quanto parece
Se fosse fácil comer o fantasma, valia a pena gastar alguns passos a mais para pegá-lo
O ponto principal é saber que, depois de comer o meio, ainda dá para recolher com segurança as 6 bolinhas restantes de cada lado
No fim das contas, o jogo avançado é uma disputa para saber quando e como manipular a posição do fantasma
Às vezes vale a pena balançar para frente e para trás no meio para fazer o fantasma chegar perto e então comer as bolinhas da borda
Mesmo assim, ao pegar o power-up, você deve comer primeiro o ponto do meio
O designer/desenvolvedor deste jogo, Kenta Cho[1], vem criando incontáveis jogos experimentais há décadas
Antes de ver este post eu tinha praticamente me esquecido do trabalho dele, mas é bom saber que ele ainda não parou com o design experimental de jogos e que ainda há muitos jogos dele para experimentar
[1] https://en.wikipedia.org/wiki/ABA_Games
[2] http://www.asahi-net.or.jp/~cs8k-cyu/index.html
Há muito tempo eu joguei um shooter espacial em que você segurava o clique para pegar balas que vinham na sua direção e depois as arremessava no ângulo certo, usando só um botão e o movimento do mouse
Vendo os jogos aqui, tenho a impressão de que aquele também foi feito pela mesma pessoa
Uau, é divertido.
Queria conseguir explicar por que a música e o efeito sonoro de morrer são tão bons.
A jogabilidade tem um excelente senso de ritmo e também muita tensão.
Acabo gritando toda vez que um fantasma me pega.
A melhor parte é que, quando morro, não parece culpa do jogo; parece que cometi um erro idiota e que, se corrigir só algumas coisas, posso jogar muito melhor.
Hoje em dia, jogos demais são difíceis da forma errada, para parecer que têm profundidade e complexidade.
O jogo que sempre me fisga desse jeito é Quake 3.
Todo erro parece ser meu, e o caminho para melhorar é muito claro.
As etapas de melhoria são graduais e parecem possíveis, e não existe aquela situação de “levar um no-scope de 180 graus sem nem ter chance de ver o inimigo no mato”.
No começo, até as eliminações que pareciam truques baratos ficam impressionantes quando você vê o killcam, e dá vontade de tentar fazer do mesmo jeito.
Em contraste, em muitos jogos modernos o killcam só irrita ainda mais.
Acho que é pelo mesmo motivo que DOOM causou tanto impacto originalmente, mas em um lugar como o HN talvez Quake 3 seja mais fácil de se identificar.
A frustração é voltada não para o jogo em si, mas para você mesmo, com aquela sensação de que, se tentar só mais uma vez, desta vez não vai cometer o erro idiota.
Vejo isso como a pedra fundamental de todos os jogos de ação que eu gosto.
Mas, quando eu morria com frequência, nem sempre parecia que a culpa era minha.
Os fantasmas são mais rápidos do que eu e às vezes reaparecem bem ao meu lado.
Se você observar com atenção, o efeito visual de mastigar não coincide exatamente com o som de mastigar real.
Parece mais que existe uma faixa tocando com uma cadência constante de mastigadas por minuto, e que ela é ligada e desligada quando o Pac-Man mastiga.
Os outros efeitos também parecem e soam como se fossem silenciados e reativados quando os eventos acontecem, em vez de o som ser reproduzido de novo a cada evento.
Meu Commodore 64, de algo como 1986, ainda funciona depois de eu ter trocado os capacitores alguns anos atrás.
Também cresci usando Sinclair ZX80, 81 e Speccy.
O hardware de hoje é poderoso o bastante para modelar em tempo real coisas quase fotográficas, mas esses efeitos sonoros e gráficos insanos são o resultado de gente talentosa querendo fazer mais com hardware extremamente limitado.
Seria legal abrir um simulador e rodar algo como um jogo do Jeff Minter.
Attack of the Mutant Camels tem um som bem surreal, considerando o hardware-alvo.
Também vale a pena dar uma olhada em algo como o RetroPie.
O desenvolvedor deste jogo é Kenta Cho, e ele faz jogos assim há mais de 20 anos.
Em 2021, ele criou 111 jogos de um botão só com a Crisp Game Lib, mais ou menos um a cada 3 dias.
Para mim, ele é o melhor designer de jogos em atividade no mundo hoje.
https://github.com/abagames/111-one-button-games-in-2021?tab...
É muito mais divertido do que eu esperava.
Gosto de pequenas escolhas como a forma como os fantasmas reaparecem, a diferença de velocidade entre os fantasmas e o Pac-Man, e quanto tempo leva até os fantasmas começarem a piscar.
É simples, mas dá para sentir, enquanto joga, que você vai aprendendo o timing e montando uma estratégia.
Também existe um texto interessante da mesma pessoa que fez bastante sucesso no HN.
The Joys of Small Game Development
https://news.ycombinator.com/item?id=37799387
https://en.wikipedia.org/wiki/ABA_Games
Até ver este post no HN, eu tinha me esquecido completamente do aba games e do trabalho do Kenta Cho por vários anos.
Há mais de 20 anos ele vem fazendo pequenos minigames e publicando no próprio site, com jogos tanto para navegador quanto para Windows.
Eu sempre gostei de Torus Trooper.
https://www.asahi-net.or.jp/~cs8k-cyu/index.html
Tumiki Fighters foi um dos meus jogos favoritos há muito tempo.
Lembro que, naquela época, eram “só” uns 3 ou 5 jogos, mas mesmo assim eu já achava um trabalho realmente excepcional.
Quem gostou de 1D Pac-Man provavelmente também vai gostar de Wolfenstein 1-D.
https://en.wikipedia.org/wiki/Wolfenstein_1-D
https://archive.org/details/wolfenstein-1-d
Não sei se mais alguém percebeu isso, nem se é intencional, mas parece que, na maioria dos jogos deste desenvolvedor, a ação no jogo e o som não ficam sincronizados
Em Pac Man, o som de comer os pontos não parece coincidir com o momento em que os pontos são realmente comidos, mas sim como se fosse um som repetido sendo ligado e desligado
Outros jogos baseados na web[1] são parecidos: as ações feitas com toque não produzem sons alinhados ao momento do toque, mas sim um som repetido em um ritmo pré-definido
É sutil, mas pode prejudicar o desempenho real na jogabilidade
Eu costumo usar o feedback sonoro para acertar o timing, e, quando ele não corresponde ao que estou fazendo, o ritmo claramente se desestabiliza
Timber Test[2] é um bom exemplo: especialmente nos níveis mais avançados, é preciso cortar os troncos na mesma proporção, mas o timing do som é sempre o mesmo, então o intervalo entre os bipes na prática não corresponde
[1] https://www.asahi-net.or.jp/~cs8k-cyu/browser.html
[2] https://abagames.github.io/crisp-game-lib-11-games/?timberte...