Hacker Newsnew | past | comments | ask | show | jobs | submit | vunderba's commentslogin

Yeah, I’d agree, I definitely wouldn’t classify FF7 as graphically timeless.

I think most people would agree that early 3D games (PSX and N64 era) - particularly ones attempting to achieve texture-mapped photorealism, like FF7, GoldenEye, Tomb Raider etc. did not age gracefully, at least where graphics are concerned.

Contrast that with something like Mario 64, which, while still chonky, looks way better because it’s so highly stylized.


Agreed! What’s this weird `SCREEN` command? Punch F1 and you get a complete breakdown of all the screen modes, color palettes, and their resolutions.

As I mentioned in another comment, I think if you didn’t grow up with it, you just underestimate how amazing QBASIC was as an IDE, a programming language, and perhaps most importantly as an educational tool. I mean, it even came with actual BASIC programs (GORILLA, NIBBLES, etc) right there that you could use to explore and tweak the values as you learned.

There’s no better way to learn how something works than to physically play with the actual values, change constants, change variables, and observe how that affects the behavior of the game.


> you get a complete breakdown of all the screen modes, color palettes, and their resolutions.

If I remember correctly, there were even sample programs included in this documentation.


Yes! To my knowledge, I think almost every single keyword in the built-in help had a small example program at the bottom that you could type in.

For example GET/PUT had this one:

  SCREEN 1
  DIM Box%(1 TO 200)
  x1% = 0: x2% = 10: y1% = 0: y2% = 10
  LINE (x1%, y1%)-(x2%, y2%), 2, BF
  GET (x1%, y1%)-(x2%, y2%), Box%
  DO
      PUT (x1%, y1%), Box%, XOR
      x1% = RND * 300
      y1% = RND * 180
      PUT (x1%, y1%), Box%
  LOOP WHILE INKEY$ = ""

As somebody who has also built sort of "different" slide puzzle (trivia meets slide puzzles), I'm a huge fan of new ones.

Thanks for adding the little touches like letting me click a tile and have it displace the entire row to the left/right, and also the quotes underneath the tiles is pretty great too!


Reading through all the comments, I think there’s also a bit of a generational gap here.

There’s a huge difference between a kid turning on a Commodore 64 or an Apple II and being dropped into the relatively no-frills versions the BASIC interpreter versus a kid in the early ’90s who had a DOS machine with MS-DOS 5 bundled with QBasic which IMHO is a more representative example of a “batteries included” BASIC environment that was significantly more user-friendly.

I also encountered QBASIC as an elementary school kid - it felt like the closest thing to sorcery. People who grew up in the age of the internet really underestimate how awesome it was to be able to just be able to place the cursor on a more obscure command (like PEEK/POKE or POINT) and see something like this:

  Returns the current graphics cursor coordinates or the color attribute of a specified pixel.

  'This example requires a color graphics adapter.
  SCREEN 1
  LINE (0, 0)-(100, 100), 2
  LOCATE 14, 1
  FOR y% = 1 TO 10
      FOR x% = 1 TO 10
          PRINT POINT(x%, y%);
      NEXT x%
      PRINT
  NEXT y%

I think the true generational divide was between DOS and Windows. After spending an inordinate amount of time in DOS (making the journey to Borland C), it felt awesome that you could draw onto the screen, no questions asked. I made so many games and graphical programs just drawing to the screen and then reading the input in a loop, it worked great.

Then I transitioned to Windows, and had to contend with all the complexity.. What's a Window Class and how do you write an event loop to respond to window messages, why is this all so complex.. Why is MFC somehow not really better.

Having written a simple DOS GUI (that kinda looked like Windows), I had to discover that a Windows app of equivalent functionality took more and messier code.

And forget drawing to the screen, you had to grapple with GDI drawing contexts, it was slow and bad.. (Not like Linux was any better than this regard).

As for DOS, I have had the privilege of hacking together a bitbanging VGA adapter, so I know for a fact that drawing to the screen is really as simple as setting values in an array, then, scanning it out to the display.


> As for DOS, I have had the privilege of hacking together a bitbanging VGA adapter, so I know for a fact that drawing to the screen is really as simple as setting values in an array, then, scanning it out to the display.

Screen mode 13h was definitely fantastic. Being able to light up a pixel by mapping directly to the 64k contiguous bytes in the address space was very intuitive.

And yeah dealing with Win32 stuff definitely came with its own set of complexities, I practically had the Charles Petzold Programming Windows book memorized back in the day.

But let’s also not forget Visual Basic, which outside of maybe Delphi, I'd consider one of the greatest RAD environments ever created. Being able to just grab a button onto a form and then double-click it which would instantly create a handler that you could add your logic to was very approachable even for younger audiences.

The only problem of course is that Visual Basic wasn’t bundled with Windows, so it was a lot less accessible than QBasic which came bundled for free with MS DOS 5.0.


If I remember correctly QBasic even allowed configuring and controlling serial/parallel ports. Just imagine what a guy could do with that if he was bold enough to poke wires into a parallel port....

Today, computers don't even have parallal/serial ports. Everyone has to pay the USB gods their tribute to have the mercy of allowing to program arbitrary IO from their computers....And they still need some kind of serial receptacle on the other end...


Absolutely~ I remember many summer days as a kid trying to figure out how to send commands to our serial-port driven 2400 baud modem using the AT command set:

  OPEN "COM1:2400,N,8,1,BIN" FOR OUTPUT AS #1 
Followed by my parents yelling at me to get off the phone since we only had the one landline. :)

Obligatory Calvin and Hobbes comic:

https://imgur.com/a/dNS5r5X


Nice job~

For the past 6 months I've also been working on a period-accurate QBASIC 1.1 simulator (and corresponding virtual hardware layer) that runs entirely in the browser.

I've got a stack of books on my desk from when I was a kid in the 90s that have literally been my religious texts (Undocumented DOS, The Programmer's PC Sourcebook, etc), so I know how hard it is to get this right.

I've actually posted about it a couple times here in HN.

Anyway small bit of feedback:

Technically if you don't clear the screen (using CLS, or set a SCREEN mode other than zero), the cursor retains its position even between program executions.

So basically if you have a program like this:

  PRINT "WHY IS A RAVEN LIKE A WRITING DESK"
  END
And then you run it again - the output screen should display:

  WHY IS A RAVEN LIKE A WRITING DESK
  WHY IS A RAVEN LIKE A WRITING DESK

There's a thousand other subtleties like this that make the proverbial "last mile" sometimes feel insurmountable. Fun though!

* Your definition of "fun" may vary.


I haven't done enough tests on the editing capabilities but as far as the strict text to image goes, Alibaba is reaching to claim it is comparable to NB 2.

It's definitely a nice upgrade from the last open-weight version (Qwen-Image 1.0) at least in terms of strict coherence and prompt understanding... but a lot of the outputs seem distilled for lack of a better word - likely trained on poor synthetic data. There's also some elements of tinging that very much reminds me of early gpt-image outputs.

You can mitigate it a bit using better samplers (like res_2m paired with the beta_57 scheduler, etc). A lot of people have also seen better results using a higher CFG than what is recommended by the Qwen team.

On my GenAI Image Showdown bench which emphasizes adherence to prompts, Qwen-Image 2.1 clocked in at 7 out of 15 which is SOTA for an open-weight model (Ideogram 4 is the only other open-weight model that outscored it), but the quality is frustratingly inconsistent.

https://genai-showdown.specr.net/?models=local


As avaer already mentioned it seems to be a thin wrapper around H3 Max Director, which generates real-time video and takes “natural language directions” that are then relatively seamlessly incorporated into the continuous video stream.

It's like a Choose-Your-Own-Adventure dialed up to 11.

I played around with it briefly on Fal.ai generating a cartoon, but it’s more of a technical curiosity for the time being since I don’t have a Scrooge McDuck vault of gold coins.


This is the way - 99% of my stuff is Caddy-proxied through subdomains to a single Debian VPS and works great even when deluged with the occasional HN-levels of traffic.

If you want to look at a company that does pixel art right for the modern era, Yacht Club Games is probably the gold standard with games like Shovel Knight and Mina the Hollower.

https://www.yachtclubgames.com/blog/the-art-of-the-game


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: