Show HN: QBasic Gorillas (Repeeled)

gameswithtony.com

25 points by TonyAlicea10 16 hours ago

I've found the most engaging way to practice techniques for AI-assisted development and test models is to build fun side projects in vanilla JS.

I spent many hours playing (and studying and editing) QBasic Gorillas, and this is a vanilla JS implementation using Fable and Opus.

Play 1-on-1 hotseat or against the computer. A bit of extra camera snazz as well.

vunderba 15 hours ago

As somebody who grew up in the era of MS-DOS and QBASIC - it's pretty amusing to see two AI-assisted GORILLA.BAS web games in the past week.

https://news.ycombinator.com/item?id=48856350

Can also play the original as well online

https://classicreload.com/play/qbasic-gorillas.html

Feedback

- the wind/round text should NOT be placed over buildings because.... one of the buildings is gray thus making it almost impossible to read.

- I'd honestly get rid of the pseudo-CRT scanline filter - it looks grainy more than anything. For a better reference see https://github.com/gingerbeardman/webgl-crt-shader

- When implementing camera follow one thing you need is a sort of "grace window". Right now it's so tightly coupled to the movement of the banana it practically gives you whiplash.

  • TonyAlicea10 15 hours ago

    I hadn’t seen the other one! I grew up with this as well.

    I like the camera grace window idea. I’ve been pondering how to handle the post-hit zoom in.

    Good call on the wind text. I like the filter (?). I’ll look at your link.

    Thanks for the feedback!

  • bashtoni 10 hours ago

    I don't know if the poster changed the filter after reading your comment, but the filter that is there now looks great to my eyes.

    • TonyAlicea10 9 hours ago

      Nope, haven't changed it! I think it's an aesthetic preference thing.

    • vunderba 9 hours ago

      I don't think they updated it - it still looks a very simplistic combination of slightly high frequency noise + artificial horz scanlines.

      I grew up in the era, and a couple of my buddies still keep a few CRTs for playing NES games so its immediately apparent to me. Similar to when laymen use AI to generate "pixel art" without doing any grid alignment or palette reduction.

      Retroarch also has some decent approximations of CRT scanline using shaders as well (see crt-geom crt-lottes)

      https://www.retroarch.com/?page=shaders

      • TonyAlicea10 9 hours ago

        I understand, I'm not going for accuracy, just suggestion. For someone like you it won't feel right, I totally get it.

  • TonyAlicea10 9 hours ago

    I've made two updates: the wind and round text should be more legible with a slightly transparent background under it. The camera is less whiplash-y and pauses for a moment after the banana hit if it's zoomed out and the zoom in is a bit slower.

pimlottc 13 hours ago

The arrow length does not represent power accurately, There's a minimum arrow length even when power is nearly 0, which means when the arrow is twice as long, the power is actually almost 50 times higher! It should be directly proportional. Perhaps there should be different indicators for "power" and "direction" -- maybe a fixed-length dotted line arrow for direction? And/or a power bar that is not anchored to the player position?

The arrow for wind strength also seems to be a different scale, making it hard to judge how much to compensate.

  • TonyAlicea10 13 hours ago

    Fair. This is a direct port in some areas of the 1991 game, which strategically was more try something then dial it in. I’ll ponder. It’s almost arcade vs simulation in some ways.

    That is, if you can calculate it too easily then the first player always has a huge advantage.

elsig60 12 hours ago

I like it. I know it's silly, but I could clearly waste time on this. BTW great idea to build fun stuff to practice new tools.

  • TonyAlicea10 12 hours ago

    Yes! Fun things that either you’d never have taken the time to build otherwise, or recreations of things that you know well.

    Things where you know how they’re supposed to make you feel (like games from childhood), and getting that experience match is an exercise.

disillusionist 10 hours ago

holy gorilla! i think QBasic Gorillas is the first graphics game i have memory of playing as a child. i remember attempting to read the code as a kid and being wildly confused by it. thanks for the brief trip down memory lane.

  • TonyAlicea10 10 hours ago

    I think the first one for me was The Oregon Trail followed shortly by QBasic Gorillas and Nibbles. It was my first step in coding beyond Turtle Graphics on an Apple from even earlier in childhood.

    Opening up the QBasic source code was eye opening for me: that computers weren't the realm of hackers typing incomprehensible text on TV and swapping floppy disks, but something that could start to make sense. My TRS-80 came next, and, for me, the rest was history.

    Good memories. I wonder what the memories will be for kids right now in the age of LLMs.

jsmo 6 hours ago

Amazing, better than when I was a kid

  • TonyAlicea10 6 hours ago

    Thank you! I tried to add just a little snazz without changing the core.

Dwedit 11 hours ago

How much is yours, and how much is the LLM's?

  • TonyAlicea10 11 hours ago

    Code-wise, mostly LLM. I gave it the original QBasic source code so that's not mine either.

    This experiment was a guidance experiment for me with Fable. Heavy spec and planning architecturally and UX, and strictly no JS frameworks or dependencies.

    I do these kind of experiments with new models, and Fable has been the most successful so far for capturing the intended UX and feel per spec.

netsharc 12 hours ago

Trying to aim with the mouse immediately shows me "made by a fucking clanker"...

  • TonyAlicea10 12 hours ago

    I did let the LLM handle the mouse and touch aiming for v1. That’s an experiment as I prefer typing in the boxes or using arrow keys.

    I think it needs tweaking to let you hone in a value better. What are you thinking?