Scrolling Text and 2D Boids style Flocking Demo [2021]
I wrote this updated version of my very first scrolling text demo entry into the world of "underground" coding as an exercise to get me in touch with the character Zheng Ni Wong from my books and stories Butterfly Dragon and A Lady's Prerogative III: Singularity. With Zheng Ni Wong being a computational biologist, I thought it would be neat to add the Boids-like fish, who follow a limited parametric design that yields their flocking behaviour. If you try this demo, when you move the mouse on screen, the fish will, if they're close enough to it, try to follow it, though I gave them enough autonomy for it to be semi-reactive behaviour, following some ideas I tried to integrate into Zheng Ni Wong's understanding of biological simulation.
Dirbs as I call this demo (a play on the word birds), is a graphics demo containing a very simple playfield using sprites and scrolling text that I modeled after the code I wrote about thirty-eight years ago (from 2026) that earned me a place in the coder scene back at that time. The original code was a cludge between Turbo Pascal/Turbo C, using fixed point math (most CPUs in those days lacked onboard floating point hardware, ie 386SX, the pseudo 32 bit/16-bit hybrid CPU, versus its more advanced 386DX counterpart).
There wasn't any flocking simulation in the original old school demo I wrote back then, though AI programming for video games often yielded systematic behaviours, though it was Craig Reynolds who formalized this when he published his famous Boids paper [University of Toronto].
Craig created the early CGI effects for the Tim Burton movie: Batman Returns. My original graphics demo had a very cool sinusoidal scrolling text effect that I achieved with SIN tables quantized for accuracy on a 320x200 raster display (Mode 13h VGA).
It seemed very complex back then, but is very trivial now with all of the coding tools and APIs there are. I used GameMaker to write this modern version of the demo, so there was no having to hand craft a font grid and its corresponding masks like I had to in the old days, so that I could BLiT (BLock Transfer) the font sprites directly to screen memory (after restoring the background from the previous frame using the masks to reduce the total pixels written to the graphics hardware per frame) from the text string, via lookup tables. The original code ran with minimal math on the CPU, completely relying upon lookup tables, addition and multiplication. Calculating divisions back then was notoriously slow compared to addition/multiplication, hence everything was achieved via invert and multiply. All profiling back then was achieved through onscreen debug print lines and text file logs, which were then omitted in the final compilation (via conditional defines).
In all truth, it was a pain in the ass compared to what we have today, especially in terms of APIs, perhaps the single greatest software advance in history, aside from Lady Lovelace's realization of the fact that the patterns used in weaving looms were actually the archetype for what would become the basis of all software programming. Object orientation, event driven programming and modern integrated development environments are certainly up there in terms of advances, not to mention the very specialized development IDEs like GameMaker, Unreal Engine, Unity and one of my personal favourites, Delphi, given its long standing history, it essentially having originated as Borland Pascal, with support for object orientation, and a minimal system library. It eventually gained the addition of a Pascal based Windows Framework called VCL (Visual Component Library) which was a visual component based framework and direct competitor with both Visual Studio's MFC (Microsoft Foundation Classes) and Visual Basic's ActiveX components. However, Delphi had the advantage of being a native compiler, producing x86 machine code executables without heavy duty reliance on runtime dynamic link libraries. I find that both the modern versions of Visual Studio and Delphi are both excellent tools, and have so many new bells and whistles that there almost isn't enough time to get to them all. Thank goodness for AI though, because it makes that process much easier. Also, keep in mind that many of these advances that we enjoy today were built originally on the back of Unix, Vax VMS and CP/M, all three of which serve as the foundation of all operating systems and the underlying programming languages that were used to write them, or that were bundled with them in the early days of ARPAnet.
With Regard To The Scrolling Text Component that is part of the JVCL Component Library
I wrote something else in Delphi that uses JVCL components that I use at home to identify my own computer, and Dirbs should not be confused with that. The original scrolling text demo I wrote back in the old days included many advanced graphics features (sinusoidal text and matrix based convolutions) that aren't supported in the JVCL Scrolling text component.
So when I state that I wrote a scrolling text program, I am not taking the credit for anything on the JVCL Delphi library and never have. I was talking about code that I wrote perhaps thirty-seven years ago, in the late 1980s/early 1990s while working for CS Computing, though during my lunch breaks.
Dirbs is a very basic update of what I wrote back then, that I whipped together in a modern coding tool. I could have spent a few more days researching how to use shader languages to implement convolutions, but I thought that the time I spent on it was enough to make my point.
There have been some accusing me of taking the credit for the work of others, but that's just not the case and never has been. I always give credit where its due and I have most of the skills I write about. I have coding skills. I have music skills (extensive piano and MIDI including having coded tools that extract SysEx and other low level data back in the old days). I have horse back riding skills. I have martial arts skills too. Keep in mind, I'm not a spring rooster anymore. I'm approaching sixty. I've had a lot of time to learn things, and I've rarely wasted my time.
It seems to me that sort of thing is a very common scam these days. When you don't or can't demonstrate yourself actually doing something, the assumption is that you can't do it at all and are forced to pay someone else a sort of sponsorship, and if you don't, you're accused of taking it from someone else and the people doing this, making those claims are actually running the biggest scam of all, and using those claims in order to steal the efforts of other people. Scumbags for certain.
There are even organized spying networks in some communities that spy on people working on a computer, and the people doing the spying claiming that its them or their friends doing whatever is being done on the computer they're stealing the credit from. A very common scam in this day and age of constant surveillance often conducted by civilians against other civilians. A scam and a big one at that. A hidden form of corruption and organized crime in modern society.
Many of the people part of this scam will attack people like myself, trying to force me over to the mean side aka the blue side of the fence. Its their form of craft (I call it crap actually). As they try often to pit two people against each other, and make one the mean side and the other the loving side. So I think that this crap craft cult tried to make me into the mean side, and someone else into the "nice" side. That's another part of their scam and those that do, often refer to this as "blue", ie making someone into a blue meanie. Its another scam and often conducted by the same organized crime. Where I live in Toronto, Ontario, Canada, its part of an abusive predatory ideology throughout the community, and supported by corruption.
Back when up until I was in my twenties, I was a very soft spoken person, but at some point, someone into craftwork decided they wanted to make me into the kind of blue that is mean, and belligerent. They're very active where I live, and I am not on the blue team (their blue team) and never will be. They're scum. I say what I mean and mean what I say, not the opposite. I am not mentally ill or schizophrenic, though I'd never stigmatize anyone truly dealing with such an issue. Some particularly predatory groups tend to weaponize such impressions about those they want to silence and most often those who do, have something they're desperately trying to hide.
Regardless, here is the modern download though it is very basic compared to what could have been possible if I gave it few extra days.
DirbsRelease.exe
WinXP/Vista/Win7/Win8/Win8.1/Win10 32-bit installer 1.4.1.144 Download
MD5 Checksum: EDA795CEC234D355E57701D2A5152C68
If you really like graphics demos, and you have an NVidia graphics card, I suggest that you check out their graphics demo archive.
Remember, a lot of the great graphics that you see today would not have been possible without the dedication and contribution of the demo and party scene [scene.org]
