Added: 1 year ago
From: Bisqwit
Views: 2,956
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (57)

Sign In or Sign Up now to post a comment!
  • I want that program as my screensaver ... why can't i live in the universe where this is my screensaver?

  • I read your page on dithering earlier and then stumbled upon this video.

    You have no idea how happy this makes me feel (in part due to my love of QB and chrono trigger)

    THANK YOU <3

  • @PierrotTheGreat Thank you for the feedback!

  • The source code is not running

  • @gizaha Which actually makes sense if you read the subtitles and the movie description.

  • @gamax92 Using the program described in the video information (you did read it, didn't you?) I rendered directly into PNG files, which comprise the animation.

  • @gamax92 Parallel universe!

  • Unfortunately, I am not a believer. While the effect is quite stunning indeed (and quite impressive for old 8-bit color), the second demo especially has a few issues with hue when moving between purple/fuchsia and blue. I tried to appreciate it for what it was, but every time a purple star came up, it was lined with really bad blues and stood out a lot.

    Still impressive, though. Makes me wish I had even a hundredth of your skill in QB, or any other language.

  • @Xkeeper0 The palette was autogenerated with an algorithm (neuquant iirc). If it had a shortage of colors in some particular hue (such as that purple/fuchsia), it would have to be synthesized as a combination between other nearby colors. I guess the point of this video is not so much to evangelize people on the benefits of 256 colors than to evangelize coders on the benefit of dithering: It can make up for a _lot_ of lack in hardware definition when used properly.

  • @Bisqwit Well, yeah, and for that it does quite well. It's just that particular color change stands out a lot.

    Though I have to wonder, do your other videos use that dithering? Your SGF player, for example, seems to use the first version.

  • @Xkeeper0 Yes, the SGF player uses vanilla ordered dithering, though with a gamma-tweaked regular palette. In most of my dithering showcases I used the Yliluoma-2 dither though. (In the Doom ones I used its predecessor algorithm, Yliluoma-1 with tritones IIRC.)

  • @Bisqwit Hm. Possible to make the SGF player use the better dithering? (It may not surprise you that I only just now realized that it is *your* algorithm... orz)

  • @Xkeeper0 Certainly. It would allow for a more refined palette, since the palette does not need to be regular in any way, unlike with the vanilla ordered dithering. I don't see need, though. And I happen to like the dithering artifacts... But, if you can supply me a good background texture and a new game SGF to showcase (short, but very entertaining in a challengeful way (not just newbies marching the parade of endless mistakes), preferably professional play), I will do it.

  • @Xkeeper0 Oh, and I intentionally don't make a fuss about that it's an algorithm that *I* created. I just showcase it a lot :-P Hoping it catches on.

  • Excellent! The dithering is well done! The color banding is visually more appealing!

  • I liked the music of this the best.

  • As much as better animated GIF paletteization would be amusing, they'd be obsolete if Internet Explorer or Google Chrome added support for APNGs. That being said, it's still very impressive how much color you can get out of a palette.

  • This kind of thing makes me wonder what modern hardware is really capable of, if programmers weren't separated from metal by 20 layers of abstraction, each one slowing things down.

  • You're getting free blending from the sub-optimal bitrate YT uses to encode even at 1080p. I'd love to see the original output. Obviously, awesome skills and props to you, regardless.

  • @Username93611 Actually, YouTube reduces the frame rate by simply dropping frames. It does not blend. Frame dropping results in jerky video rather than blurry video. EDIT: Oh, you said bitrate, not framerate. Yeah, but bitrate-blur looks ugly and smeary.

    I still have the original (actually, a few of them, because I had to re-encode many times with different settings until YouTube accepted the file), but there is a problem: The file is about 1 gigabyte in size... The PNGs total ~1.8 gigabytes.

  • @Username93611 Hmm, no. I was looking at wrong set of files. These PNGs are about 260 megabytes in total.

    I placed them at the following address: bisqwit.iki.fi/jutut/kuvat (slash) programming_examples/sfield_pn­­gs.zip  .

    You can play them as such: mplayer mf://tile-*.png -mf fps=30

    Note that MPlayer may perform chroma-supersampling when displaying them. You may need to include a -sws 4 -vf scale=640:400 first, though I don't remember whether that helps.

  • @Bisqwit

    I can't tell if you're messing with me or not, but either way, your .flv atari/DOS/probably others terminal animations were really funny. I couldn't download that zip file though, and I got the link right.

  • @Username93611 Actually, you did not get the link right, because YouTube messed it up by inserting invisible characters in it. You will have to type it or spot and remove the % sequences manually. (I verified your access from the access log.) I am not lying to you.

  • @Username93611 Put "youtube soft hyphenation" in Google to learn about the invisible characters that YouTube inserts in the comments.

  • @Bisqwit

    No need friend. Already knew about that. They usually show up as a 4-hex character block symbol when pasted somewhere else instead, but regardless, it wasn't a problem getting to your link. Will try again though. Hope you didn't go to a lot of trouble to put it somewhere just for me.

  • @Bisqwit

    Apology. I see that I did have the link typed in incorrectly.

  • I just have to drop a line here... This struck a chord with me; QBasic was the first programming language I got into, back in junior high, some 16 years ago. Then of course, I've always loved the music you're using in a lot of your videos; Mitsuda rocks ;D Advocating 13h graphics, which I'm keen on too, ain't really that hard when there's stuff like this out, despite it not being realtime; it just goes to show how far 253 (! heh) colors can get you! Pure nostalgia, man! Greets from Sweden

  • @qbvet Thanks for the message! Hopefully someday soon I'll get to show another case how 16 colors is enough for everyone, particularly, those from Commodore 64 :P

  • @Bisqwit Thank You! Can't wait for that to happen! :) I'll sure keep that in mind.

  • Comment removed

  • Woot for Chrono Trigger music :P

    Also, nice effect but couldn't it be a lot faster if you cut the distance updates in half?

  • @willrandship No. The distance update is just an instantaneous change of coordinate. Much like teleporting. It does not matter what distance it teleports and to which direction, it all costs the exact same amount of CPU time. However, it would appear smoother (at the cost of movement being slower), because more intervening frames would be rendered between two positions.

  • Thanks Joel, I really loved that, this was the programming I grew up with. :)

    Around 5:39, the asm listing you show doesn't quite match your data, should be 8b5e06: mov bx, [bp+6] there (bp+csip). I had to go hunt down "BASIC Techniques & Utilities" to learn what was at [bx+10] in a qbasic dynamic array, and am still not quite sure why you wanted to use that rather than just [bx].

  • @jeredwi Thank you for the feedback. You're right, my comments say there "mov bx, [bp-2]" but my code really says "mov bx, [bp+6]". I'm not sure where this discrepancy came from and why. It is possible that I changed the parameter list of the asm subroutine at some point and forgot to update the "disassembly". Basically though, QBasic passes integer values by reference rather than by value. Hence need a double-indirection. Something like that! I'm not sure at this point. Asm is often writeonly.

  • Please keep making magic like this, it's what you do best! I hope that one day I'll be able to think like you can with this kind of stuff! Great job :)

  • @Louix94 Thanks for the feedback :-)

  • Comment removed

  • @LtSurge659 Sorry about that. Maybe in a few years you'll be a faster reader.

  • @Bisqwit

    Was never a fast reader, not going to start... didn't know it was required of someone watching a video to be able to read that much in so little time. Perhaps create one with audio (you speaking)?

  • @LtSurge659 Thanks for the feedback. In general though, the subtitles are of low importance; they just provide additional information that can be ignored if one is not curious enough. Even if the subtitles were shown for a three times longer time, it would still be too short for some people, because the program is being typed at the same time; if you want to observe all details, you will have to pause in any case.

  • @Bisqwit

    The complexity is rather stunning, I would venture to admit. My kind of novice coding is still a work in progress. Apologies for my rudeness.

  • you cool man 

  • music reminds me of first pokemon games :D <3

  • I just discovered QB64. I ported this program to QB64! It works, though minor changes. I added a link to it in the video description. Note that it still requires computers from a parallel universe to run smoothly...

  • Wut song is dis?

  • Thanks. I explained the song at around 1:20 to the video. I chose it because it was the first song from my SPCtoMIDI attempts collection that I tried that sounded good when played through ADLMIDI.

    I admit it's not a perfect fit for the content of the video, though if you consider how it was made, it gets slightly better.

  • @Bisqwit Thanks ;)

  • Well, awesome job, I just think that the music didn't fit to the video

    But it was your choice, maybe you wanted to get to this result

    Nice

  • this is art, this is ingenious, this is nuts!

  • It's beautiful...

  • I enjoy your videos.... always a fascinating journey.

Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more