1 pontos por GN⁺ 2024-07-06 | 1 comentários | Compartilhar no WhatsApp
  • Um projeto que transformou em um jogo de arcade em PICO-8 de 45 segundos aquele momento que toda criança esperava: “o instante exato em que o logo do DVD encosta perfeitamente no canto da tela”
  • Graças ao escopo pequeno focado em uma única piada, houve menos complexidade de UI e menos carga de produção do que no trabalho anterior, ReShape, e acabou sendo um bom experimento para aprender PICO-8
  • PICO-8 é um console de fantasia cheio de limitações, em que até colisões e partículas precisam ser tratadas manualmente, o que faz até jogos pequenos terem uma sensação consistente
  • O incômodo do editor de código embutido foi contornado com a extensão pico8-ls no VS Code e uma configuração com include code.pb, mas ainda ficou a desejar uma forma melhor de pesquisar a referência da linguagem
  • Mesmo mecânicas simples ficam fáceis de explicar e compartilhar quando há um tema forte, e as limitações do PICO-8 tornam mais fácil lançar pequenas criações exatamente como são

Um jogo de 45 segundos do logo do DVD

  • “Put the DVD Logo in the Corner” é um jogo curto de ação arcade em que o objetivo é fazer o logo do DVD encostar no canto da tela
  • Foi feito em PICO-8, e o desenvolvimento levou 4 dias, de 27 a 30 de junho de 2023
  • A duração da partida é de cerca de 45 segundos, e ele foi criado em torno da piada e daquele desejo de infância, sem intenção de ficar mais longo
  • O jogo foi publicado no itch, e o código pode ser visto no GitHub
  • Foi divertido ver amigos mandando recordes, e no momento da escrita o melhor placar de um amigo era 21 pontos, enquanto o do desenvolvedor era 26

O primeiro jogo feito em PICO-8

  • PICO-8 é um console de fantasia parecido com um emulador para um console que não existe de verdade
    • Ele impõe limites de gráficos, som, tamanho de código e velocidade de processamento que imitam consoles dos anos 1980
    • Dentro do próprio console, dá para criar sprites, música, efeitos sonoros e escrever o código
  • As ferramentas são mais simples e primitivas do que as de engines modernas
    • O tratamento de colisão precisa ser feito manualmente, pixel por pixel
    • Efeitos de partículas também precisam ser implementados desenhando pixels diretamente na tela
  • Essa simplicidade e essas limitações dão aos jogos de PICO-8 uma sensação relativamente consistente e ajudam a ver de forma positiva a ideia de que restrições geram criatividade
  • Um dos jogos mais conhecidos de PICO-8 é a versão original de Celeste, criada em uma game jam
    • A versão de PICO-8 de Celeste pode ser jogada como easter egg dentro do jogo oficial

Experiência com as ferramentas de desenvolvimento do PICO-8

  • O PICO-8 inclui editor de sprites, editor de efeitos sonoros, editor de música e editor de código
  • O editor de sprites fez falta do Aseprite, mas foi bom poder editar sprites diretamente dentro do PICO-8
  • O editor de efeitos sonoros não foi nada intuitivo no começo, mas depois de ver o vídeo do Gruber, foi possível se acostumar rapidamente
  • O editor de música não era dos mais confortáveis para alguém acostumado a tocar no teclado, mas era relativamente intuitivo
  • O editor de código foi a parte mais desconfortável
    • Mesmo aumentando a largura do editor, o comprimento das linhas não cresce; só a fonte fica maior
    • A equipe do PICO-8 claramente buscou uma sensação específica de console, e isso fazia sentido para esse objetivo, mas para o autor era um jeito difícil de suportar

Fluxo de escrita de código contornado com VS Code

  • Para usar o VS Code no lugar do editor embutido, foi instalada a extensão pico8-ls
    • Essa extensão oferece destaque de sintaxe e referência da API
  • No arquivo principal do PICO-8 foi colocado apenas include code.pb, e o código real foi escrito em code.pb
  • Essa configuração é necessária porque o PICO-8 salva código, sprites e dados de música no mesmo arquivo
    • A ideia era não editar o mesmo arquivo ao mesmo tempo no VS Code e no PICO-8
  • No geral, houve satisfação com esse fluxo de trabalho, mas ainda faltava uma forma melhor de pesquisar a referência da linguagem do PICO-8
    • O manual do PICO-8 dificultava buscas mais restritas, como procurar apenas por nomes de funções

As limitações facilitam lançar jogos pequenos

  • Durante o desenvolvimento surgiram várias ideias de expansão
    • Coletar tokens que aumentam o tempo
    • Upgrades para a TV ou para o logo do DVD
    • Inimigos atrapalhando o logo
    • Algo mais na linha de um clone de Vampire Survivors
  • A avaliação foi de que, se tivesse sido feito em Godot, talvez esses impulsos de expandir tivessem sido mais explorados
  • Como o PICO-8 é simples, pareceu natural publicar no itch esse jogo minúsculo exatamente no estado em que estava
  • A simplicidade do PICO-8 funciona quase como uma permissão para lançar um resultado simples sem problema

O tema torna o jogo mais fácil de explicar

  • Como jogador, muitas vezes houve o costume de ignorar história ou tema e focar nas mecânicas
    • Na infância, pulava cutscenes, e embora tenha jogado Path of Exile por centenas de horas, diz não conseguir explicar a história
    • Em contraste, um jogo favorito como Outer Wilds tinha tanto a história quanto as mecânicas como partes importantes
  • Ao fazer jogos, também houve um tempo em que parecia que tema não era algo tão importante
  • “Put the DVD Logo in the Corner” foi o oposto disso
    • A mecânica é só uma: “fazer um pequeno retângulo encostar no canto de um retângulo maior”
    • A mecânica em si não é emocionante, mas, graças ao tema, explicar o jogo para outras pessoas acabou sendo a parte mais divertida
  • A intenção é lembrar disso ao fazer jogos no futuro

Próximo trabalho

  • O autor gostou deste jogo e do trabalho com PICO-8, e quer fazer mais jogos pequenos com essa pegada de arcade
  • Depois disso, estava experimentando a ideia de criar algo que rodasse dentro da barra de endereços do Firefox usando a especificação OpenSearch
  • Em uma atualização de 5 de julho de 2024, contou que usou OpenSearch para rodar Wordle na barra de endereços do Firefox

1 comentários

 
GN⁺ 2024-07-06
Comentários no Hacker News
  • Fiquei surpreso ao ler sobre o Recurse Center. Parece uma espécie de residência artística para programadores.
    Já participei de uma residência como artista, e ela me ajudou muito a abrir novas perspectivas. Eu gostaria que também houvesse mais oportunidades nas áreas científicas para fazer coisas que “não fazem sentido”: trabalhos não comerciais e não competitivos. Acho que isso seria benéfico para a sociedade, ou pelo menos certamente ajudaria as pessoas que tiverem a sorte de entrar.
    https://www.recurse.com/

    • Sou o autor. Se o Recurse parece divertido e mágico, ele realmente é, e vale considerar se candidatar.
      Mesmo que você seja aceito, pode adiar até o momento certo, e é gratuito. A receita vem de colocação profissional, mas deixei claro, ao me candidatar, que eu não estava procurando emprego.
      A coisa mais importante que o Recurse fez por mim foi me reconectar com meu gosto. Quando fui pela primeira vez, eu estava fazendo jogos comuns no estilo Flash, com pontuação e um tema fraco; lá, fui para uma direção muito mais estranha. Um dos meus primeiros projetos foi abusar da especificação OpenSearch para criar um Wordle que rodava na barra de endereços do Firefox.
      https://eieio.games/nonsense/implementing-wordle-in-the-fire...
      Era o lugar perfeito para criar esse tipo de coisa. As pessoas incentivavam, apoiavam e demonstravam interesse, então percebi que elas também se interessavam pelo tipo de trabalho que eu realmente queria fazer. Acho que lancei 8 jogos durante minhas 12 semanas no RC, e sem o RC talvez eu não tivesse começado a fazer o tipo de trabalho que faço hoje. Muita gente deve ter uma experiência parecida em várias áreas de tecnologia, não só em jogos. É uma sensação de encontrar product-market fit para seus próprios interesses.
      O RC também me conectou com pessoas que faziam coisas parecidas. A comunidade é grande, gentil e esquisita no bom sentido. É como uma oficina de escrita para pessoas que querem programar e se tornar programadores melhores.
      Pode parecer que estou fazendo propaganda demais do RC, e de certa forma estou mesmo, mas não recebo nada por isso; sou só um ex-aluno grato. Ainda estou escrevendo isto no espaço do RC, e às vezes passo por lá para conversar ou trabalhar com participantes das turmas.
    • Frequentei o Recurse Center alguns anos atrás, mas não combinou bem comigo, o que foi surpreendente, já que todos falavam de experiências positivas.
      Até hoje é difícil apontar exatamente por que não me pareceu valioso.
      Talvez tenha sido por causa do lugar. New York City é cara e, embora eu tivesse economias para bancar uma licença não remunerada, muitas coisas pareciam absurdamente caras. A reputação dos nova-iorquinos de serem pouco amigáveis também aumentou a distância. Ouvi elogios rasgados de outras pessoas, mas, assim como alguns visitantes sentem que não são totalmente bem-vindos na cidade, eu não me encaixei bem no ambiente do Recurse Center.
      Ainda assim, um ponto positivo é que alguns residentes e ex-alunos se tornaram bastante conhecidos na indústria de tecnologia. Esbarrar com eles no espaço pode levar a conversas profundas. Na minha época, dava para encontrar pessoas como Robert Lefkowitz e Filippo Valsorda, e foi uma experiência bem legal.
      https://www.recurse.com/residents
      https://www.linkedin.com/in/r0ml
      https://filippo.io
    • Também vale conferir https://sfpc.study/
      A School for Poetic Computation é uma escola experimental que funciona em New York City e online, apoiando o aprendizado entre arte, código, hardware e teoria crítica. É um lugar para aprender e refletir sobre o que se aprendeu.
  • https://youtu.be/QOtuX0jL85Y?si=Kwo8OZSYOVzoI-Uh
    A referência obrigatória a The Office.

    • Acho que, se ele acertar o canto no ângulo exato, depois fica preso quicando entre cantos diametralmente opostos, não?
      Na verdade, nem sei bem como seria possível acertar exatamente o canto.
    • No começo pensei “hã?”, mas ao clicar no link vi que era uma referência à versão americana de The Office.
      Por alguns segundos achei que eu é que estava ficando estranho.
  • Sou o desenvolvedor. Foi uma surpresa divertida ver isso chegar à primeira página. Fico feliz que tenha ressoado, e recomendo experimentar o PICO-8 também.
    Posso responder se houver perguntas. Desde então não terminei nenhum jogo em PICO-8, e meu trabalho ficou ainda mais estranho, mas sinto falta do PICO-8 e ando mexendo em ideias para Playdate e Picotron.
    https://news.ycombinator.com/item?id=40800869

  • Coisas assim me fazem gostar muito do PICO-8. Está entre os ambientes de programação mais divertidos que já usei desde que descobri ActionScript no Macromedia Flash MX.

    • Para muita gente, o grande atrativo é o IDE retrô integrado, mas, para mim, o melhor são as restrições limitadas do runtime.
      Eu gostaria de trabalhar com código, som e gráficos em editores modernos de alta resolução, mas mantendo as restrições de resolução, desempenho de CPU, API e afins.
    • O PICO-8 é uma pequena plataforma realmente encantadora. Tenho alguns projetos inacabados nela, e ver isso me dá vontade de voltar.
  • Também vale mencionar esta história sobre o sofrimento psicológico e social causado pelo fato de o logo do DVD quase nunca encostar no canto da tela: https://www.youtube.com/watch?v=_ws0QtAiiXQ

  • Se você só quer ver o protetor de tela, há um que fiz há algum tempo:
    https://stanchak.github.io/dvd/

  • Isso parece que seria muito divertido no Playdate. Daria para fazer a pequena manivela avançar o tempo e conceder pontos extras se você mantiver o ritmo certo.

  • Pam afirma que viu o logo do DVD encostar no canto quando estava sozinha na sala de reuniões. Ela parece acreditar que viu mesmo.

  • Link direto para jogar: https://itseieio.itch.io/dvdlogo
    Código-fonte (PICO-8): https://github.com/nolenroyalty/put-the-dvd-logo-in-the-corn...

  • Foi muito divertido, e a explicação do ambiente PICO-8 também foi boa. Fiz 19 pontos, mas acho que tive sorte no final.