[HN Gopher] A MiniGolf game for Palm OS
___________________________________________________________________
A MiniGolf game for Palm OS
Author : capitain
Score : 317 points
Date : 2024-09-11 20:10 UTC (1 days ago)
(HTM) web link (ctrl-c.club)
(TXT) w3m dump (ctrl-c.club)
| xnx wrote:
| You need to promote this to projectionists so they can play it on
| their IMAX systems.
| 71bw wrote:
| Care to explain? I'm obviously out of some loop here.
| xnx wrote:
| "IMAX emulates PalmPilot software to power Oppenheimer's 70
| mm release" https://news.ycombinator.com/item?id=36817900
| ASalazarMX wrote:
| Wondering if I could run this on real hardware, I realized I have
| no idea what happened to my Palm LifeDrive when I changed to
| Blackberries. I miss that little chunky PDA. It was amazing for
| its time.
|
| https://en.wikipedia.org/wiki/LifeDrive
| sodaplayer wrote:
| I just came across my old Palm Tungsten E2 last week while
| doing some cleaning. If I can also find its charger, I'll
| report back on running it.
| Zobat wrote:
| I've come across my box of Palms a few times and had limited
| success getting them going. Seems they don't like being in
| storage for almost two decades. Really loved my Palms back
| then.
| memsom wrote:
| I have both a PalmPilot Professional (with serial) and a
| Palm m500 (with USB), the latter is a lot easier to pocket,
| but the USB support is horrible in modern OS. I keep
| wanting to get back in to Palm dev. I even managed to get
| Pila to compile under macOS Catalina a few years ago.
|
| I also have a stack of V-Tech Helio's, which is a PalmPilot
| clone. I don't remember why I ended up with 3 of them, but
| I got them to reflash the OS and never got around to it.
| Their whole OS source code is available online. The
| compiler is not easy to make to work these days though.
| DJGPP and I think 16bit.
| lxgr wrote:
| The LifeDrive was such a weird Palm!
|
| On one hand I hated it, for its infuriating loading times
| compared to its predecessors (due to the hard drive spinning up
| for ~every unexpected memory access of an OS designed for
| having everything in RAM/ROM and literally no concept of
| file/block based memory at first) and its relative bulk.
|
| On the other hand: Four! Gigabytes! That could hold more than
| two full movies! It was also my first Palm having Wi-Fi, which
| was nice.
|
| All in all, to me it was a symbol of Palm quickly losing touch
| with modern developments: For example Symbian was miles ahead
| from an OS point of view, even though usability was nothing
| compared to Palm OS, and then there was the iPhone and Android,
| of course.
| cebu_blue wrote:
| I love this and love the art design especially. Great job! The
| only thing I would change persoanlly is that i think it feels
| more natural to go in thge opposite direction with the mouse when
| you're aiming. Many mini golf games on Miniclip used to do it
| that way. Also if you're a fan of FOSS games i recommend
| Neverball and Neverput which is a 3d golf similator with nice
| graphics
| aliher1911 wrote:
| Original Palm was using stylus so you don't obscure where you
| are aiming compared to finger touch phones and having more
| space in the direction of shot could be the factors.
| zzanz wrote:
| Interesting project. I would say the issues had, memory leaks.
| debugging, etc are a lot more common in game dev than you might
| expect. Much of these problems have been abstracted away by game
| engines such as Unreal/Unity/Godot, but if you were to go into
| game dev with C, OpenGL, and a memory restriction (especially
| when hardware enforced), you might run into the same teething
| issues.
|
| The level editor is a nice touch, I would be curious on the
| implementation as something in the same vein existed for the Tony
| Hawk series of games and was responsible for "Tony Hawks Pro
| StrCpy" https://icode4.coffee/?p=954 . Though jailbreaking and
| arbitrary code execution is probably a lot easier achieved via
| PalmOS than a minigolf side project.
| gwbas1c wrote:
| The game is really fun when played in the browser-based emulator.
| I nearly got sucked into practice mode.
|
| IMO: I'd love a port (or otherwise inspired by) version for
| Android / iOS / in-browser. It's really fun.
| supportengineer wrote:
| Great job! Just from the video I could tell this is fun. This is
| what games are supposed to be.
| teruakohatu wrote:
| I have been using CloudPilot [1] to play a bunch of retro Palm
| games on iOS. It works reasonably well. Hopefully a native
| emulator will be released now allows emulators.
|
| [1] https://cloudpilot-emu.github.io/app-preview/#/tab/sessions
| kstrauser wrote:
| This is beautiful! And now I'm nostalgic for my IIIxe. Through
| the rose colored glasses of poor remembrance, that might've been
| peek productivity in a handheld. It had enough functionality to
| remember all the things I cared to have on my person at all
| times, but was utterly lacking in notifications about
| distractions. It took me a while to quiet my iPhone so that it's
| not always pestering the hell out of me, but Palm was opt-in. If
| you didn't tell it to tell you about something, it kept its mouth
| shut.
|
| I wouldn't actually go back if I could, but part of me misses
| that.
| freedomben wrote:
| I feel the same. I loved my IIIxe. I'm guessing we'd be
| horrified at the UX now if we could go back, but at the time it
| was a huge boost in productivity. The handwriting language was
| really great. I actually wrote papers on that thing! It was
| great, I could work on papers while on the bus or travelling,
| without having to lug around a laptop. Remarkable devices.
| i80and wrote:
| So I actually bought a Palm Classic device to test the
| hypothesis that my memories are nostelgia.
|
| They're not! It's actually a great UX!
| kstrauser wrote:
| I played with an emulator (https://cloudpilot-emu.github.io/)
| recently and it's honestly not that bad at all. The
| resolution is bad by today's standards but the basics are all
| there. It even has a system-wide search that looks for the
| input string in all your apps and lets you tap right into
| those records. That's pretty handy!
|
| I like my phone too much to go back, but if I _had_ to, I
| could make do.
| Telemakhos wrote:
| Control over notifications is one of the most powerful UX
| features available. I make extensive use of geo- and time-based
| focus modes for the few notifications that I ever allow.
| nanna wrote:
| Is there an app store for palm is, or somewhere you can browse
| different apps at least?
| dmitrygr wrote:
| PalmDB
| eichin wrote:
| https://archive.org/details/softwarelibrary_palm is a good
| place to start (and you can just run them in-browser via
| cloudpilot.)
| nanna wrote:
| Very cool !
| lycos wrote:
| Back in the day I think most people got their apps from the
| PalmGear website (https://web.archive.org/web/20010331040533/ht
| tp://palmgear.c...) and sync it to their Palm device via
| HotSync (later Palm Desktop)
| andrewshadura wrote:
| It would be really cool if someone wrote something like WINE to
| allow running PalmOS applications on Android.
| dmitrygr wrote:
| It would have similar problems to WINE, without nearly as many
| developers who understand the bug compatibility required. One
| project (pumpkinos) tried but there are many apps that don't
| work in it. Emulation is easier. And accurate. Source: I
| believe at this point I am the highest authority left on PalmOS
| AshamedCaptain wrote:
| https://styletap.com/
| classichasclass wrote:
| Unfortunately, apparently not compatible with Android 14
| (there's a warning about this on the website). On my Pixel 7
| Pro, it says "not compatible with your phone."
| 71bw wrote:
| Can be bypassed with ADB... adb install
| --bypass-low-target-sdk-block apk.apk
|
| ...albeit it still does not resolve the issue of whether or
| not the app will run on 14/15.
| xrd wrote:
| The post suggests getting a real device. Where the heck do you
| get a real device these days? Is there some retro hardware out
| there? An open source project where you send out a PCB order to
| Shenzhen?
| flymasterv wrote:
| eBay has new-in-box Zires for $10.
| eichin wrote:
| ebay; the hardware has lasted surprisingly well. (That said,
| chrome on a recent samsung phone runs CloudPilot _very_
| responsively, start here
| https://archive.org/details/softwarelibrary_palm and you can
| just click on things and run them...)
| blackeyeblitzar wrote:
| I am not very familiar with Palm OS, but I do like the idea of a
| smart device that isn't a full on smartphone. Something like the
| old Palm devices or the Pocket PCs from 25 years ago. Is there
| such a thing today? What gets closest?
| two_cents wrote:
| BOOX Palma maybe? https://shop.boox.com/products/palma
| JKCalhoun wrote:
| Miniature golf was a game I began twice for the Macintosh back in
| the 1990's but never ended up completing/shipping.
|
| I've just recently been trying to recover my nearly 35 year old
| sources and create disk images for use on an emulator. The first
| B&W attempt at MiniGolf is here:
| https://github.com/EngineersNeedArt/SoftDorothy-UnfinishedTa...
|
| The second attempt (when I was a better programmer) was in color
| ... will make it on Volume 2. (I'm currently trying to put that
| disk image together.)
| aresant wrote:
| Glider was THE franchise of the 68k mac era, I am more than a
| little starstruck, glad to see that you are back at it!
| JKCalhoun wrote:
| It's kind of for nostalgia that I am putting together all the
| sources, artwork, projects, (tools) on a disk image suitable
| for emulators. To me it has been fun trying to go through old
| hard drives and find the "almost rans" like MiniGolf (and
| later LiliPutz).
|
| The shareware and commercial games (Glider, etc.) are on disk
| images in other repos. (You should be able to find them
| easily if you care to.)
| ElCapitanMarkla wrote:
| You have some amazing graphics there. Love the style
| JKCalhoun wrote:
| There is something about black and white pixel art....
| InsideOutSanta wrote:
| I played so much Glider as a kid. This is probably the only
| opportunity I ever get to say this, so: thank you very much for
| your games!
| JKCalhoun wrote:
| Thank you. I enjoyed writing it.
| yard2010 wrote:
| Thank you John! This repo has a little of everything I love:
| art, engineering, history, but mostly art. It's truly
| inspiring.
| JKCalhoun wrote:
| When I redid Glypha (an old shareware game I wrote) last year
| for Steam, I decided to go with B&W pixel art for the game --
| even though in other ways I bent to modern hardware (a larger
| 16:9 screen size for example).
|
| That B&W pixel art definitely was a defining feature of the
| era.
| post_break wrote:
| I miss bike or die. For a while it was on iOS but didn't get
| updates. I had hours in that game.
| harikb wrote:
| I have the Original PalmPilot, hardware upgraded to 3.0, as part
| of a beta program. I also have a few Palm 3's. Is there a
| compiled PDB available?
| classichasclass wrote:
| A Pilot 1000/5000 or the immediate model after?
|
| Also, I think you meant a .prc.
| lxgr wrote:
| As far as I remember, the two extensions are mostly
| interchangeable, and are only used as a convention to
| indicate whether a given file contains an executable
| application or data.
|
| Palm OS doesn't really have a concept of files; everything's
| a record-oriented database, containing either resources,
| including executable code, or data. Palm Desktop would just
| queue up every .prc or .pdb for copying during the next
| HotSync. (I've never tested it, but presumably renaming a
| .prc to .pdb and installing it would lead to it being backed
| up as a .prc.)
|
| For some reason, Mobipocket (which was originally a Palm OS
| based ebook format) has landed on using .prc over .pdb for
| their books, which are definitely not executable, so every
| once in a while I stumble over a book with a .prc extension
| and it annoys me ever so slightly - it'll work, but that
| should be a .pdb :)
| memsom wrote:
| IIRC PalmOS prc and pdb are similar, in that they both
| contain PalmOS data, but pdb was meant to just for data and
| prc was meant to include executable resources too. PalmOS
| borrows a massive amount from 68K Mac. Codewarrior used to
| be the default compiler, and PalmOS uses resources in a
| similar way - though the actual file format is different
| IIRC. PalmOS apps are basically modified 68K Mac code
| (library?) resources. There was a tool that converted
| ThinkPascal generated binaries of whatever the type I don;t
| remember was, to prc files. SARC was what it was called.
| harikb wrote:
| It was called Palm Pilot - the one pictured as the very first
| image in Wikipedia [1]. It still works, except for some
| bleeding/damage on a portion of the e-Ink screen. I probably
| need to find the appropriate Linux based tools to load the
| .PRC. I wonder if this [2] still works
|
| [1] https://en.wikipedia.org/wiki/PalmPilot
|
| [2] https://shallowsky.com/linux/palmlinuxdev.html
| tomcam wrote:
| Let me hijack this with a hate story about my wife and minigolf
| games.
|
| Back in 1996 she thought maybe she needed a hobby. She was a
| housewife and we didn't have any children yet. She said maybe she
| could do a game. At the time I was working in Microsoft C++ and
| the Microsoft Foundation Classes framework, building Windows
| apps. She had never programmed a language more challenging than
| Turbo Pascal.
|
| When she asked how long it would take to even get started, I
| estimated about 18 months to learn C++ properly, another six
| months to learn Microsoft foundation classes. The six months
| after that to learn the windows API if she worked really hard at
| it. At the time I thought maybe there was a place in the Windows
| game market for a mini golf game.
|
| She took less than a week to create a working, bug-free
| prototype, but then lost interest.
|
| I hate people like that! Everything takes forever for me to
| learn.
|
| Luckily she blessed me with a passel of pretty much bug-free and
| absolutely hilarious children, so I'm giving her a pass.
| smabie wrote:
| If you're laser focused on a end product then learning can
| happen remarkably quickly.
| tomcam wrote:
| Yeah no. I am an atrociously slow learner.
| ok_dad wrote:
| > bug-free children
|
| I know you didn't mean anything by it, and it was a pretty
| funny joke, but children with bugs are pretty cool as well :)
| tomcam wrote:
| SO SO TRUE
| tomcam wrote:
| Two of ours were born with severe handicaps but they are all
| insanely fun and fabulously good company. Not sure why my
| sibling comment was flagged.
| HFguy wrote:
| Love that!!!
| tomcam wrote:
| My parents made a big deal about how much of a
| responsibility children were. I never dreamed my kids
| would be so damn much fun.
| tomcam wrote:
| Excellent username btw
| grimgrin wrote:
| We call them features
| tomcam wrote:
| Couldn't agree more
| al_borland wrote:
| Is this the difference between learning and doing? You were
| looking at how long it would take to learn all the foundational
| technologies, once that was done, she could start to code the
| game. Where she took the on-the-job-training approach. Work on
| the project, run into a problem, learn enough to solve said
| problem. Repeat until done.
|
| I'm usually the learn before I start type as well, though I
| find it doesn't really work for me in practice. It ends up
| becoming a form of procrastination.
| tomcam wrote:
| She says much the same thing as you. I appear to be unable to
| learn something without going to first principles.
| darby_nine wrote:
| > She took less than a week to create a working, bug-free
| prototype, but then lost interest.
|
| This is pretty common, no? Same reason why everyone thinks AI
| will change development: people mistake the initial time cost
| of building an initial prototype for being representative of
| the total cost of making the thing people actually demand
| (which mostly never happens).
| urbandw311er wrote:
| I love it! Quick suggestion: allow a moment to show the ball
| dropping into the hole before loading the next level. It might be
| frustrating denying the player that satisfaction.
| snozolli wrote:
| I wrote code for PalmOS back around '99. One thing that stands
| out in my memory is the way that applications were tested. I
| think it was a feature of the emulator, which would fire events
| at your software. I forget the details, but if you could make,
| say, 1,000 events without crashing, it was passable, 10k was
| good, and 100k was excellent.
|
| Well, I thought I was a reasonable competent C++ programmer and I
| was _shocked_ at how quickly my application would crash using
| this tool. It was an extremely humbling experience that really
| opened my eyes. I often think of how effective that simple tool
| was at revealing bugs, but it 's obviously not something that
| works in today's multitasking, Internet-connected devices.
|
| The other thing I remember is CodeWarrior being the first IDE I
| used that had a drop-down box with all the functions in the
| current source file. That was a pretty big step forward in
| productivity.
|
| Incidentally, I was still using a Palm Tungsten as late as 2010,
| when I was in Japan. There was a very simple Japanese dictionary
| application for Palm. Once you learn the basic rules for stroke
| order and direction, you could mimic any character you see using
| the stylus and do a dictionary search for matching Kanji. I was
| able to figure out a lot of navigation just by mimicking unknown
| Kanji that I saw on signs.
| sgt wrote:
| I just had a vision of someone trying to port Rust to PalmOS.
| Let's hope that never happens.
| JTyQZSnP3cQGa8B wrote:
| > drop-down box with all the functions
|
| I remember the "#pragma -" to separate the functions. We don't
| have this anymore. As an alternative we have "#pragma region"
| to fold blocks of code but it's different.
| lxgr wrote:
| Amazing work, thank you!
|
| I'm starting to wonder whether Palm OS and other "retro" homebrew
| executable formats might have their actual practical uses these
| days, beyond the nostalgia:
|
| I can run Palm OS .prcs, .gb homebrew ROM from itch.io etc. on my
| desktop, iOS, and Android, as well as on physical gaming devices;
| offline, efficiently, distraction-free, without any chance of in-
| app purchases...
|
| Take Apotris, for example: I've bought (and probably will buy) a
| lot of official Tetris versions over the years, but here's an
| incredibly slick implementation I can play on _all_ of my
| consoles, or even on any computer without installation (thanks to
| WASM-based GBA emulators like RetroArch Web and modern browsers
| having native gamepad support).
|
| Besides that, there's just something comforting with having a
| single, self-contained executable that I know I can in all
| likelihood run one, ten, twenty years from now - which is
| probably not true for many iOS or even web indie games I
| otherwise really like.
| rkagerer wrote:
| I would love a modern Palm OS phone, that's true to the
| original UI philosophies and could run (even if just through
| emulation) all my old titles.
| lxgr wrote:
| Take all of this with a big grain of salt due to rosy
| retrospection, but I feel like a big appeal of Palm OS was
| that going online was an intentional activity (if possible at
| all; most of my handhelds had neither mobile data nor Wi-Fi).
|
| As a result, it was completely distraction-free: I'd queue up
| news/articles (via Plucker), mail, and books for the day,
| HotSync in the morning/evening, and then that was it - no
| chance of any notification (other than pre-programmed local
| reminders/appointments) popping up and disrupting whatever I
| was doing.
|
| Other than that, there was still more than enough to do
| ~forever: More Ebooks on a 64 MB MMC than I could reasonably
| read all summer, the top 100? 1000? Wikipedia articles, the
| CIA World Factbook as a PalmDoc, Space Trader... Ok, enough
| with the nostalgia :)
|
| (If this brought back a fond memory or two, head on over to
| https://cloudpilot-emu.github.io/ right now!)
| tsm wrote:
| I _really_ like the idea of getting my day 's worth of
| emails in the morning and responding to them throughout the
| day while offline (using one of the great folding
| keyboards!). Hard to emulate that these days though. It
| feels artificial to put my phone in airplane mode or
| whatever.
| kalleboo wrote:
| There is a guy who has gotten Palm OS running on modern ARM
| hardware http://dmitry.gr/?r=05.Projects&proj=27.%20rePalm
| unwind wrote:
| You mean "a cluster of highly trained elite software ninjas
| masking as one guy in public".
|
| Eh. No, just kidding, of course, it's just that project^W
| site has a huge Fabrice Bellard-factor to it. Very, _very_
| impressive.
| mjcohen wrote:
| For the Amiga, one of my favorite games was "Hole-in-one
| Miniature Golf."
| xer0x wrote:
| Wow, I can't believe this! That looks awesome!
| DevScout wrote:
| Great work! It's incredible to see projects like this still going
| in 2024.
| debo_ wrote:
| I appreciate that you named the source directory `sauce` instead.
| It's the little things that matter.
| capitain wrote:
| It should be the industry standard imo
| sunnybeetroot wrote:
| I think my OCD would prevent me from ever doing this :'(
| Yhippa wrote:
| This made me so happy. I'm going to go look for my Handspring
| Visor now...
| yding wrote:
| As someone who interned at Palm, love this so much!
| capitain wrote:
| Oh wow, do you have any interesting stories from back then? Saw
| some unreleased prototypes?
| kleiba wrote:
| Looks great!
|
| Have you considered adding a "ball dropping into the hole"
| animation? In the video, it looks like a new level is loaded as
| soon as the ball and the whole overlap to a sufficient degree. I
| think from a user's perspective, it would be much more satisfying
| to somehow see the ball go in. It would give you more of a sense
| of achievement before the next level is loaded.
|
| What do you think?
| capitain wrote:
| I am considering it now, thanks!
| kleiba wrote:
| I also noticed that the collision detection is not always
| perfect. Here's a screenshot from one of your videos where
| the ball is rolling over the side barrier:
| https://imgur.com/a/2tW1EOK
| samatman wrote:
| I would think that shrinking the ball circle to nothing would
| do the job. Look forward to seeing what you come up with. ^_^
| ricardobayes wrote:
| Amazing game, gives the same level of excitement (and
| frustration) as playing real mini golf. Thank you!
| wingerlang wrote:
| Once I got a Zire 31 with PalmOS for Christmas. It became quite a
| fun treasure hunt to find free games and software for it. And I
| say treasure hunt because it was like looking for gems among
| piles of garbage as far as I can remember.
| pantulis wrote:
| This made me remember the Zany Golf bouncy burgers! The hours I
| spent there!
| geon wrote:
| You should add a short celebration before loading the next level.
| The "Loading" text feels very abrupt, like you did something
| wrong.
|
| Display something like the text "Nice!", and try to avoid
| covering the hole, so that the player can see the ball
| disappearing into the hole.
|
| Wait just half a second before you show the loading dialog. You
| can probably skip the loading dialog entirely if it is as short
| as it looks like in the video.
| dopp0 wrote:
| Thanks for the memories. Good old times I was programming in
| SuperWaba for palmOS!
| HumblyTossed wrote:
| This is really cool and brings back lots of memories. I've a
| curious question for the game devs among you. One of the things
| that makes put put fun is the possibility of a hole in one. How
| do you make sure this is actually possible in a game like this?
| msielski wrote:
| Ahh good memories. I wrote Pente for PalmOS back in 2004 or 2005,
| complete with a computer opponent using a minimax tree with
| alpha/beta pruning. Unfortunately I never finished or released
| it. It was so much fun to do early mobile development - it
| compared to nothing else I'd done at the time. And it wasn't
| easy. This is definitely an accomplishment.
| ceedan wrote:
| Having up and down slopes on the different holes would be an
| interesting and challenging addition.
___________________________________________________________________
(page generated 2024-09-12 23:01 UTC)