Experimentando e Abandonando uma Biblioteca de UI de Terminal

2025-09-04
Experimentando e Abandonando uma Biblioteca de UI de Terminal

Durante o desenvolvimento do jogo Kartoffels, o autor tentou criar uma biblioteca de UI de terminal de alto desempenho, Kruci, para substituir a biblioteca Ratatui existente. Kruci usa um design de UI declarativo e tenta melhorar o desempenho evitando cálculos de diferenciação pixel a pixel. No entanto, Kruci encontrou muitos desafios no tratamento de eventos, gerenciamento de estado e empilhamento Z. Por fim, o autor decidiu abandonar o projeto, concluindo que otimizar Ratatui ou focar no desenvolvimento do jogo seria mais eficiente.

Leia mais
(pwy.io)
Desenvolvimento UI de Terminal

Domando eventos recorrentes do iCalendar com funções de distância

2025-04-17
Domando eventos recorrentes do iCalendar com funções de distância

O autor encontrou um desafio ao lidar com eventos recorrentes durante a implementação de uma biblioteca para processar arquivos iCalendar. O iCalendar usa regras complexas para definir eventos recorrentes, e implementações tradicionais geralmente envolvem escrever muita lógica específica para diferentes frequências e parâmetros. O autor adotou uma abordagem diferente, considerando as regras de recorrência como consultas SQL e tomando emprestado ideias de funções de distância com sinal (SDFs) em gráficos de computador, representando ocorrências de eventos usando funções de distância. Esse método decompõe regras complexas em funções de distância simples, calculando iterativamente os horários de ocorrência de eventos para evitar numerosos julgamentos condicionais, resultando em código mais limpo e fácil de manter. Embora a implementação inicial não fosse muito eficiente, o autor a otimizou para lidar com regras de recorrência complexas em milissegundos.

Leia mais
(pwy.io)

Lançado Kartoffels v0.7: Reformulação da Geração de Cavernas e Mudança de RISC-V

2025-02-17
Lançado Kartoffels v0.7: Reformulação da Geração de Cavernas e Mudança de RISC-V

Kartoffels é um jogo onde você programa firmware para uma batata virtual. A versão 0.7, com 122 commits, introduz melhorias significativas. A geração de cavernas agora usa autômatos celulares e ruído branco para resultados mais realistas, resolvendo problemas anteriores com cavernas excessivamente isoladas. A arquitetura de CPU do mecanismo do jogo mudou de RISC-V de 64 bits para 32 bits para melhor gerenciamento de memória. Um novo recurso rastreia o histórico de cada bot, preparando o caminho para tabelas de classificação. Melhorias na IU e ajustes na mecânica do jogo também estão incluídos. Observe que esta atualização redefiniu o servidor, limpando todos os programas de bot carregados.

Leia mais
(pwy.io)