Picotron, uma workstation fantástica para criação
(lexaloffle.com)- Picotron é um ambiente de criação autocontido para criar, executar e compartilhar apps em Lua sobre hardware virtual, permitindo lidar com pequenos jogos e ferramentas dentro de um único desktop
- Tela 480x270 com 64 cores, sistema de arquivos virtual, formato de arquivo POD, sintetizador de áudio PFX6416 e uma VM Lua 5.4 por processo compõem o modelo básico de execução
- Apps, projetos e pacotes de distribuição são todos tratados como cartuchos, salvos e compartilhados como arquivos de texto
.p64ou.p64.png, que comportam até 256k de dados ROM - O desktop tem áreas de trabalho em abas, uma bandeja de ferramentas dobrável e pilhas de arquivos, além de incluir por padrão editores de código, gráficos, tilemaps, música e efeitos sonoros
- Atualmente em fase Beta, oferece suporte a Windows, Mac, Linux e exportação para HTML, e é vendido por US$ 19,99 com acesso a atualizações futuras incluído
Ambiente de criação sobre hardware virtual
- Picotron é um ambiente de criação autocontido que se apresenta como uma Fantasy Workstation e roda sobre hardware virtual
- O usuário pode criar apps em Lua e executar/compartilhar os resultados de várias formas
- Executar no desktop do Picotron
- Compartilhar como arquivo de cartucho
- Exportar como HTML independente e distribuições binárias
- A tela padrão é 480x270 com 64 cores, e também pode rodar em 240x135 ou 160x90
- No modo de tela cheia, é possível usar paletas personalizadas
- A API gráfica integrada oferece acesso de baixo nível à tela
- Padrões de preenchimento 8x8
- Substituição de paleta e blending
- Bits de stencil
tline3dpara rasterização de textura com correção de perspectiva
Arquivos, áudio e modelo de execução
- O sistema de arquivos é um sistema de arquivos virtual que expõe apenas as partes necessárias do sistema host
- Arquivos internos do Picotron usam o formato POD (Picotron Object Data), permitindo salvar e carregar tabelas Lua diretamente no disco
- Dados de save ou de níveis podem ser agrupados como tabelas Lua e salvos em um pod com
store()
- Dados de save ou de níveis podem ser agrupados como tabelas Lua e salvos em um pod com
- O áudio é gerado por um sintetizador em tempo real de 64 nós e 16 canais chamado PFX6416
- Os nós criam sinais a partir de wavetables ou modificam sinais com modulação FM/RING, delay, filtros ressonantes HP/LP e waveshaping
- Músicas, incluindo designs de instrumentos do usuário, podem ser salvas em disco com tamanho de 5 a 20k
- O ambiente de execução usa uma VM Lua 5.4 ligeiramente modificada e separada para cada processo
- A CPU virtual é dividida entre processos e executa até 8M instruções de VM por segundo
- Cartuchos do Picotron podem rodar em velocidade consistente em diversas plataformas
- Foi projetado para que, se rodar sem problemas em um desktop de alto desempenho, geralmente tenha aparência semelhante também em um ambiente web de netbooks antigos
Distribuição centrada em cartuchos
- Aplicações, projetos e pacotes de distribuição são todos tratados como o mesmo tipo, chamado cartucho
- Cada cartucho funciona como uma pasta comum e inclui os arquivos-fonte e recursos necessários para executar o programa
- No sistema host, é salvo como um único arquivo de texto
.p64e pode ter tamanho até caber na RAM - O formato PNG compartilhável
.p64.pngpode conter até 256k de dados ROM
Desktop e ferramentas integradas
- O desktop do Picotron oferece áreas de trabalho em abas e uma bandeja de ferramentas dobrável (tooltray) acessível a partir de todas as áreas de trabalho
- A bandeja de ferramentas funciona como um segundo desktop para acessar arquivos e widgets usados com frequência
- É possível soltar arquivos uns sobre os outros para criar pilhas organizadas, e navegar pelas pilhas com a roda do mouse
- Os editores incluídos por padrão cobrem código, gráficos, tilemaps, música e efeitos sonoros
- Esses próprios editores também foram feitos com Picotron
- Pilha ilimitada de desfazer, GUI e gerenciamento de arquivos usam a biblioteca padrão
/system/lib
- Usuários podem criar papéis de parede animados, protetores de tela, ícones e widgets, e organizar o fluxo de trabalho como preferirem
Pipelines, suporte a plataformas e preço
- Picotron é construído sobre um pipeline gráfico e um pipeline de áudio fortemente integrados
- Os pipelines gráficos e de áudio podem rodar também em máquinas host de baixo consumo e na web
- Oferece uma API simples para tarefas comuns, como desenhar sprites com cores alteradas ou disparar efeitos sonoros
- Os dados de base e o estado da máquina são expostos na RAM virtual
- O estado atual é de Beta
- Recursos de exportação para Windows, Mac, Linux e HTML estão completos
- Oferece suporte a placares online e compartilhamento de arquivos
- A API e os pipelines de vídeo e áudio já foram validados
- Planos futuros podem ser conferidos no Picotron Roadmap
- O preço é US$ 19,99, e compradores terão acesso a atualizações futuras
- Clientes existentes de PICO-8 e Voxatron podem usar um upgrade com desconto
1 comentários
Opiniões do Hacker News
Me diverti com o PICO-8 e seu apelo central ainda está vivo, mas agora migrei para a nova geração de hardware retrô “de verdade”, como CX16, Mega65, Agon Light
Quando há projeto de placa, chips e portas de entrada/saída, as especificações ficam mais sólidas, e máquinas novas como o Picotron conseguem levar bem longe, sem muitas concessões, o que dá para fazer dentro das especificações de E/S
Também dá para emular, acessar diretamente o hardware e rodar a linguagem que você quiser, como BASIC, C ou Forth
Como na linha Pico, pode ser lento demais rodar Lua como interpretador em 8 bits reais, mas, em vez disso, se ela for usada como base de um compilador cruzado, vira outro tipo de desafio de programação
A ideia vai na direção de “e se criássemos o ambiente de desenvolvimento definitivo que gera exatamente o código necessário para aquele projeto?”, e isso também aparece em jogos PICO-8 altamente otimizados ou novas demos para C64, Spectrum e A800, usando hardware grande a favor das máquinas antigas e ignorando os estereótipos dos dois lados
Quero uma máquina de estilo retrô baseada em 2D/blitting, mas com hardware mais avançado, como Cortex-M, Z8000, 68000 ou RISC-V de baixo custo
Pode colocar BASIC na ROM de boot, mas deixando espaço para crescer mais, ao estilo dos anos 90
Entendo a vontade de recuperar a magia do Commodore 64, mas, pessoalmente, a era de hacking do Amiga, Atari e BeBox me parece muito mais brilhante
A comunidade que veio do Pico-8 já está implementando no Picotron coisas como cat/wget/grep[1] e, claro, Minesweeper[2]
Tudo que Joseph White/zep cria resgata os tempos da internet inicial e do IRC, quando todo mundo criava, compartilhava e se divertia sem vergonha
Graças ao zep, a computação voltou a ser divertida também para pessoas comuns
[1]: https://www.lexaloffle.com/bbs/?tid=140771
[2]: https://www.lexaloffle.com/bbs/?tid=140678
O design é bem pequeno e ortogonal
Mexi por uns 30 minutos e ainda estou sorrindo. É simplesmente muito divertido
Como usei bastante o Pico-8 no passado, foi fácil começar a criar alguma coisa, e o Pico-8 entra, junto com Aseprite, Blender e Propellerhead ReBirth, no meu cesto dos quatro softwares que me dão alegria
O Pico-8 tem um cuidado enorme com seus objetivos e limitações intencionais, e, até agora, o Picotron transmite o mesmo nível de carinho e reflexão
É adorável, e eu não quero parar de criar
Já usei muitos clones do Pico-8, mas todos pareciam perder o essencial. Eles “melhoravam” as limitações, mas não eram satisfatórios
Curiosamente, eu mesmo tentei três vezes fazer uma versão em JavaScript de um “Pico-8 com mais recursos” para prototipagem em game jams, mas, em todas as vezes, assim como os clones, ela até tinha recursos suficientes, porém não inspirava, então desisti
Não sei quem cria o Pico-8 e o Picotron, mas presto minhas homenagens às pessoas excelentes que fizeram softwares tão simpáticos
Depois de passar anos criando projetos OpenGL do zero e mexer um pouco no Unity, por volta de 2020 mergulhei 100% no Godot, e desde então ele se tornou o software que mais me dá alegria
Gosto mais da proporção de tela melhor, da possibilidade de usar outras linguagens e de não precisar usar uma biblioteca padrão Lua customizada
Ao ver que “apps do Picotron podem ser criados com ferramentas integradas e compartilhados com outros usuários em um formato especial de cartucho PNG de 256 KB”, percebo uma tendência no software indie atual de distribuir recursos em arquivos PNG. Por que será?
Por isso, é um bom candidato como formato de dados de aplicação
Pelo que sei, o console anterior desse desenvolvedor, o PICO-8, foi quem iniciou essa tendência
É um brinquedinho interessante, mas é preciso ter cuidado. Ainda há bugs e travamentos, e também partes pouco polidas
Dá para ver em certa medida o que o Zep está buscando, mas muita coisa é bastante enigmática, e quase não há documentação da API
Na prática, as pessoas estão imprimindo todas as tabelas globais de Lua para descobrir como fazer as coisas
Não é tão grave quanto a 0.1a, mas ainda há pontos a lapidar para a 0.1c
O Pico-8 foi um dos softwares mais agradáveis que já usei, e estou ansioso para ver o que a comunidade vai criar com o Picotron
A própria máquina, tanto o Pico-8 quanto o Picotron, é proprietária, mas os programas dos usuários têm o código-fonte visível mesmo que não sejam open source
Acho isso realmente ótimo para educação e gosto bastante
Implementações compatíveis vão aparecer, mas as ferramentas do Pico-8 eram tão refinadas e o preço era tão baixo que não havia motivo para não pagar 10 dólares
Uma implementação open source pode até executar os programas, mas talvez não venha junto com aquelas ferramentas fofas, como IDE, editor de sprites/mapas em pixel art e tracker de música
Valeu totalmente o dinheiro, e o Pico-8 é um dos poucos softwares pagos que comprei e não detestei
Em resumo, o Pico-8 é excelente, a comunidade e os programas gratuitos também são excelentes, então acho que o Picotron também será excelente. Sou fã há muito tempo
Em especial, o WASM-4 me pareceu interessante recentemente, e o TIC-80 que outra pessoa mencionou também parece bom
Também me lembro de ter lido sobre o Pyxel e ficado inspirado
Os três têm a vantagem de serem gratuitos, então por que pagar pelo Pico-8?
Tentei me acostumar, mas não consegui
Ainda assim, os jogos são muito bons de jogar, divertidos, inspiradores, e a comunidade não poderia ser melhor
Fico curioso se o número “CPU: 8 milhões de instruções da VM Lua por segundo” é aproximado ou se é um limite imposto por consistência
O item “Quão rápida é a CPU?” no FAQ só diz que ela é rápida e mais rápida que o PICO-8
Na prática, como a tela ficou muito maior, não há tanta folga a mais em relação ao PICO-8
Para fazer algo que use CPU demais para o PICO-8, seria preciso usar um modo de tela de baixa resolução
Pessoalmente, a sensação é muito boa
Embora o Pico-8 seja um software excelente, para mim ele parece um pouco antigo demais e meio rangente, enquanto o Picotron chega muito mais perto da sensação da minha infância
Mal posso esperar para brincar com ele
Acho que seria incrível rodá-lo em um destes dispositivos da Clockwork: https://www.clockworkpi.com/shop?page=2
Seria legal ter alguma materialidade, como um QR code em um cartão que você enfia por baixo de um slot barato de leitor
Para acertar de verdade a estética 8-bit, é inevitável ter um pouco de sensação física. Incluindo uma tela de baixa qualidade e botões grandes para martelar
Fiquei um pouco decepcionado por ele não parecer totalmente compatível com o PICO-8
Imaginei que seria um ambiente perfeito para criar jogos de PICO-8