Colocando o logo do DVD no canto (2023)
(eieio.games)- 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-lsno VS Code e uma configuração cominclude 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 emcode.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
- ReShape TD e click, click, trick têm mecânicas, mas são difíceis de explicar em termos do que são
- “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
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/
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.
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
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.
Na verdade, nem sei bem como seria possível acertar exatamente o canto.
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.
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.
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.
Acabei de fazer, então é bem básico, mas fiquem à vontade para fazer fork.
https://github.com/uguu-org/playdate-dvd
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.