Show HN: QBasic Gorillas (Repeeled)
gameswithtony.com17 points by TonyAlicea10 7 hours ago
17 points by TonyAlicea10 7 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.
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. 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. 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. 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. 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. 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. 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. 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) I understand, I'm not going for accuracy, just suggestion. For someone like you it won't feel right, I totally get it. 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! 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. 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. How much is yours, and how much is the LLM's? 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. Trying to aim with the mouse immediately shows me "made by a fucking clanker"... 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?
disillusionist - 2 hours ago
TonyAlicea10 - an hour ago
elsig60 - 3 hours ago
TonyAlicea10 - 3 hours ago
vunderba - 7 hours ago
TonyAlicea10 - 22 minutes ago
bashtoni - an hour ago
vunderba - 35 minutes ago
TonyAlicea10 - 33 minutes ago
TonyAlicea10 - 6 hours ago
pimlottc - 5 hours ago
TonyAlicea10 - 5 hours ago
Dwedit - 2 hours ago
TonyAlicea10 - 2 hours ago
netsharc - 3 hours ago
TonyAlicea10 - 3 hours ago