| ▲ | Show HN: QBasic Gorillas (Repeeled)(gameswithtony.com) |
| 30 points by TonyAlicea10 2 days ago | 27 comments |
| 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. |
|
| ▲ | bhu1st 2 hours ago | parent | next [-] |
| I was at awe when I ran MARIO.BAS on QBasic back in 1998. Probably I got the code from a QB forum. It kept me glued to screen for weeks. |
|
| ▲ | rjh29 a day ago | parent | prev | next [-] |
| "practice techniques for AI-assisted development" I guess people don't like to admit that AI is doing 95% of their job so they pretend they are "practicing techniques" or "experimenting with new models", or "heavily planning the spec" Writing what you want in English and having the AI spit it out does not take any skill anymore, it's not 2022. |
| |
| ▲ | TonyAlicea10 a day ago | parent [-] | | There’s a marked difference in quality depending on context, usage of sub-agents, initial specs, and model-wise a big difference from what Opus would produce and Fable. I’m not saying I’m hand coding, but saying getting good outputs doesn’t take any technique means your definition of good outputs probably isn’t very refined. And saying it hasn’t taken technique for 4 years is just flat wrong. | | |
| ▲ | rjh29 a day ago | parent [-] | | I agree there is some technique involved. It's just so trivial compared to hand coding that I find the comparison meaningless. |
|
|
|
| ▲ | vunderba 2 days ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | bashtoni 2 days ago | parent | next [-] | | 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. | | |
| ▲ | vunderba 2 days ago | parent | next [-] | | 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 2 days ago | parent [-] | | I understand, I'm not going for accuracy, just suggestion. For someone like you it won't feel right, I totally get it. | | |
| ▲ | vunderba 2 days ago | parent [-] | | Yeah and CRT emulation can be a pretty deep rabbit hole. The amount of work that goes into making things skeuomorphic is pretty wild. If you want to see a neat example, check out cool-retro-term, it’s been around for a while but is still super impressive. https://github.com/Swordfish90/cool-retro-term |
|
| |
| ▲ | TonyAlicea10 2 days ago | parent | prev [-] | | Nope, haven't changed it! I think it's an aesthetic preference thing. |
| |
| ▲ | TonyAlicea10 2 days ago | parent | prev | next [-] | | 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. | |
| ▲ | TonyAlicea10 2 days ago | parent | prev [-] | | 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! |
|
|
| ▲ | BrunkenClaas 2 days ago | parent | prev | next [-] |
| Gorillas was the first game I "learned" programming on as a kid. Fun times going through the source code without understanding anything and inferring it by my self. Well, sort of. :) |
| |
|
| ▲ | pimlottc 2 days ago | parent | prev | next [-] |
| 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 2 days ago | parent [-] | | 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 2 days ago | parent | prev | next [-] |
| 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 2 days ago | parent [-] | | 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 2 days ago | parent | prev | next [-] |
| 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 2 days ago | parent [-] | | 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 2 days ago | parent | prev | next [-] |
| Amazing, better than when I was a kid |
| |
|
| ▲ | Dwedit 2 days ago | parent | prev | next [-] |
| How much is yours, and how much is the LLM's? |
| |
| ▲ | TonyAlicea10 2 days ago | parent [-] | | 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. |
|
|
| ▲ | fragmede 2 days ago | parent | prev | next [-] |
| There's a different input type for numbers, which power and angle are going to be, vs full text input. |
|
| ▲ | netsharc 2 days ago | parent | prev [-] |
| Trying to aim with the mouse immediately shows me "made by a fucking clanker"... |
| |
| ▲ | TonyAlicea10 2 days ago | parent [-] | | 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? |
|