2 pontos por GN⁺ 2024-09-12 | 1 comentários | Compartilhar no WhatsApp

Holy smokes, I just released a MiniGolf game for Palm OS in 2024

Lançamento de um novo jogo de MiniGolf para Palm OS

  • Neste verão, comecei um projeto para criar um novo jogo para Palm OS
  • Depois de menos de dois meses de programação intermitente, fico feliz em lançar "Captain's MiniGolf (v0.6)"
  • O principal destaque do jogo é que os usuários podem criar seus próprios níveis
  • É possível criar um banco de dados de pacotes de fases e compartilhá-lo com outros usuários

Como jogar

  • Mesmo sem um dispositivo Palm OS, dá para jogar diretamente no navegador graças ao emulador cloudpilot
  • Download do jogo e emulador no navegador disponíveis

As dificuldades de programar para Palm OS

  • Algumas percepções ao programar em C:
    • Sem as facilidades oferecidas pelas linguagens modernas, é fácil cometer erros
    • Vazamentos de memória acontecem com frequência
    • Depurar formas poligonais e trajetórias é difícil, então uma build de depuração ajuda bastante
  • A falta de documentação do Palm OS torna a programação difícil
  • Foram usadas as duas referências a seguir:
    • The Palm OS Programmer Companion (parte do Palm OS SDK)
    • Palm OS Programming Bible
  • Também foram consultados códigos de jogos para Palm OS compartilhados por outros desenvolvedores no GitHub

Por que Palm OS?

  • Dispositivos Palm OS conseguem fazer muita coisa com simplicidade e elegância
  • Essas restrições incentivam o pensamento criativo e a busca por soluções alternativas
  • Em celulares modernos e potentes, normalmente não se pensa tanto em otimização de código

Bugs conhecidos

  • A bola pode ficar presa na parede
  • Se você criar uma fase com uma parede poligonal fechada dentro da parede do campo principal, o fundo/curso pode não ser colorido corretamente

Melhorias

  • Adicionar opções para excluir/mover fases
  • Adicionar opções para excluir e compartilhar pacotes de fases (atualmente é preciso usar aplicativos externos, como o FileZ)
  • A resolução está fixa em 160x160 (ou 320x320 em dispositivos Palm OS 5 de alta resolução), e precisa mudar dinamicamente conforme o tamanho da tela

Compartilhar é se importar

  • O código-fonte completo deste jogo foi publicado sob a licença GPL3
  • Espero que isso inspire ou ajude outras pessoas a criar mais jogos para Palm OS
  • Código-fonte de Captain's MiniGolf disponível

Resumo do GN⁺

  • Este texto desperta nostalgia pelo Palm OS e destaca a diversão de encontrar soluções criativas com recursos limitados
  • Ao contrário dos dispositivos modernos e potentes, as restrições do Palm OS exigem desafio e criatividade dos desenvolvedores
  • Ele oferece materiais de referência úteis e código-fonte para quem tem interesse em desenvolver jogos para Palm OS
  • Como projeto com funcionalidade semelhante, recomenda-se um projeto de emulador como o RetroArch

1 comentários

 
GN⁺ 2024-09-12
Comentários do Hacker News
  • Sugestão de adicionar uma animação da "bola caindo no buraco"

    • Ver a bola entrando no buraco pode dar uma sensação de realização
  • Sugestão de adicionar uma curta animação de comemoração antes de carregar o próximo nível

    • O texto "Loading" aparece de forma tão repentina que passa a sensação de que algo deu errado
    • Mostrar um texto como "Nice!" e a bola desaparecendo no buraco
    • O diálogo de carregamento pode ser exibido rapidamente ou até omitido
  • Relato de experiência desenvolvendo um jogo de golfe em miniatura para Macintosh nos anos 1990

    • Está recuperando o código-fonte de 35 anos atrás e criando uma imagem de disco para emulador
    • A primeira tentativa em preto e branco está no GitHub
    • A segunda tentativa em cores deve ser incluída no Volume 2
  • Opinião sobre a praticidade de executáveis homebrew retrô como os do Palm OS

    • Podem rodar em várias plataformas, são offline, eficientes e sem distrações
    • Jogos como Apotris podem ser jogados em vários consoles e computadores sem instalação
    • Vantagem de um executável único: ainda pode ser executado muitos anos depois
  • Nostalgia do Palm IIIxe

    • Havia poucas notificações e ele oferecia apenas as funções necessárias
    • Leva tempo para silenciar as notificações do iPhone
    • O Palm não enviava notificações a menos que o usuário pedisse
    • Não gostaria de voltar no tempo, mas sente falta de algumas coisas
  • Sugestão de mostrar a bola caindo no buraco

    • Isso pode aumentar a satisfação do jogador
  • Nostalgia do Palm LifeDrive

    • Foi perdido ao trocar para Blackberries
    • Na época, era um dispositivo incrível
  • Opinião sobre problemas comuns no desenvolvimento de jogos

    • Vazamentos de memória, depuração e afins são problemas comuns
    • Motores de jogo como Unreal, Unity e Godot abstraem muitos problemas
    • Ao desenvolver jogos com C, OpenGL e restrições de memória, é possível enfrentar problemas parecidos
    • Há interesse em como o editor de fases foi implementado
  • Elogio ao design de arte do jogo de golfe em miniatura

    • Inverter a direção do controle do mouse talvez pareça mais natural
    • Para fãs de jogos FOSS, recomendação de Neverball e Neverput
  • Opinião de que o jogo é divertido no emulador baseado em navegador

    • Sugestão de portar para Android, iOS e navegador
    • Muito divertido