2 ポイント 投稿者 GN⁺ 2024-09-12 | 1件のコメント | WhatsAppで共有

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

新しいPalm OS MiniGolfゲームを公開

  • この夏、新しいPalm OSゲームを作るプロジェクトを始めた
  • 2か月にも満たない断続的なコーディングの末、"Captain's MiniGolf (v0.6)" を公開できてうれしい
  • このゲームの主な特徴は、ユーザーが自分でレベルを作れること
  • レベルパックのデータベースを作成して、他のユーザーと共有できる

遊び方

  • Palm OSデバイスがなくても、cloudpilotエミュレーターのおかげでブラウザ上で直接プレイ可能
  • ゲームのダウンロードとブラウザ内エミュレーターを提供

Palm OSコーディングの難しさ

  • C言語でコーディングしていて気づいたことがいくつかある:
    • 現代のプログラミング言語にある便利な機能がなく、ミスしやすい
    • メモリリークが頻繁に発生する
    • 多角形の形状や軌道のデバッグが難しく、デバッグビルドが大いに役立つ
  • Palm OSはドキュメント不足のため、コーディングが難しい
  • 次の2つの参考資料を使用した:
    • The Palm OS Programmer Companion (Palm OS SDKの一部)
    • Palm OS Programming Bible
  • GitHubで他の開発者が共有しているPalm OSゲームのコードも参考にした

なぜPalm OSなのか?

  • Palm OSデバイスは、シンプルさと優雅さで多くのことを実現できる
  • こうした制約条件が、創造的な発想や代替的な解決策を見つけるきっかけになる
  • 現代の高性能な携帯電話では、コード最適化をあまり気にしない

既知のバグ

  • ボールが壁に挟まることがある
  • メインフィールドの壁の内側に閉じた多角形の壁があるレベルを作ると、背景/コースを正しく塗れない

改善点

  • レベルの削除/移動オプションを追加
  • レベルパックの削除と共有オプションを追加(現在はFileZのような外部アプリケーションを使う必要がある)
  • 解像度が160x160(またはPalm OS 5の高解像度デバイスでは320x320)に固定されており、画面サイズに応じて動的に変更する必要がある

共有は思いやり

  • このゲームの全ソースコードをGPL3ライセンスで公開
  • 他の人がさらに多くのPalm OSゲームを作るための刺激や助けになればうれしい
  • Captain's MiniGolfのソースコードを提供

GN⁺のまとめ

  • この記事はPalm OSへのノスタルジーを呼び起こし、限られた資源で創造的な解決策を見つける楽しさを強調している
  • 現代の高性能デバイスとは異なり、Palm OSの制約条件は開発者に挑戦と創造性を求める
  • Palm OSゲーム開発に関心のある人にとって有用な参考資料とソースコードを提供している
  • 似た機能を持つプロジェクトとして、RetroArchのようなエミュレータープロジェクトを薦めている

1件のコメント

 
GN⁺ 2024-09-12
Hacker Newsの意見
  • 「ボールが穴に落ちる」アニメーションを追加してはどうかという提案

    • ボールが穴に入る様子が見えると達成感を得られる
  • 次のレベルを読み込む前に短いお祝いアニメーションを追加してはどうかという提案

    • "Loading" テキストが唐突で、何か失敗したような印象を与える
    • "Nice!" のようなテキストを表示し、ボールが穴に消える様子を見せる
    • ローディングダイアログは短時間だけ表示するか、省略も可能
  • 1990年代の Macintosh 向けミニチュアゴルフゲーム開発経験の共有

    • 35年前のソースを復旧し、エミュレーター用のディスクイメージを作成中
    • 最初の白黒版の試みは GitHub にある
    • 2回目のカラー版の試みは Volume 2 に収録予定
  • Palm OS のようなレトロなホームブリュー実行ファイルの実用性についての意見

    • さまざまなプラットフォームで実行可能で、オフライン、効率的、邪魔が入らない
    • Apotris のようなゲームは、多くのコンソールやコンピューターでインストールなしに遊べる
    • 単一実行ファイルの利点: 長い時間が経っても実行できる
  • Palm IIIxe へのノスタルジー

    • 通知が少なく、必要な機能だけを提供していた
    • iPhone の通知を静かにするのには時間がかかる
    • Palm は、ユーザーが求めない限り通知を送ってこない
    • 戻りたいわけではないが、一部は懐かしい
  • ボールが穴に落ちる様子を見せる提案

    • プレイヤーの満足感を高められる
  • Palm LifeDrive へのノスタルジー

    • BlackBerry に乗り換える際に失くしてしまった
    • 当時としては驚くべきデバイスだった
  • ゲーム開発でよくある問題についての意見

    • メモリリーク、デバッグなどはよくある問題
    • Unreal、Unity、Godot のようなゲームエンジンが多くの問題を抽象化してくれる
    • C、OpenGL、メモリ制限の中でゲームを開発すると、似たような問題に直面しうる
    • レベルエディターの実装に興味がある
  • ミニチュアゴルフゲームのアートデザインへの称賛

    • マウス操作の方向は逆のほうが自然かもしれない
    • FOSS ゲームのファンなら Neverball と Neverput がおすすめ
  • ブラウザベースのエミュレーターでこのゲームが楽しいという意見

    • Android、iOS、ブラウザー向け移植の提案
    • とても楽しい