
The Old-School Fire Effect and Bare-Metal Programming - zmodem
http://www.hanshq.net/fire.html
======
Jare
This post and his fixes to the Javascript version made me so happy last week.
Amazing that something I wrote 24 years ago can still be of interest to
anyone.

~~~
bananaboy
Your fire effect was the first demo effect I ever wrote! Iguana demos were one
of the things that got me into the demoscene (btw I loved the Blastersound
bbstro!).

------
midnightclubbed
Such a simple but effective effect. Came in super useful for the N64 port of
Killer Instinct 2 (couldn't afford the memory for the pre-rendered fire that
the arcade machine used, Jare to the rescue). Thanks for saving a junior
programmers ass!

[https://www.youtube.com/watch?v=B8fph9nhq4k](https://www.youtube.com/watch?v=B8fph9nhq4k)

~~~
scott_s
To be clear: you worked on the N64 port of Killer Instinct 2?

~~~
midnightclubbed
Yeah. Killer Instinct: Gold but it was based on the KI2 arcade machine code
(with N64 cartridge friendly assets).

------
zellyn
Sad that the author didn't run across Denthor's tutorials…
[http://textfiles.com/programming/astrainer.txt](http://textfiles.com/programming/astrainer.txt)

Discussed a few years ago on hn:
[https://news.ycombinator.com/item?id=8837545](https://news.ycombinator.com/item?id=8837545)

~~~
yoodenvranx
Thanks, that brings back soooo many good memories!

I wish there would still an easy way for kids to do similar graphics
programming on modern PCs. Back then it was very easy to bring pixels to the
screen, you just needed a few lines of code to switch to the correct mode. But
nowadays with Direct X / Open GL you have layers and layers of abstractions
between you and the pixels. And "setting up"Turbo pascal is still way easier
than a modern Visual Studio.

I wish there would be some sort of modern Turbo Pascal which lets you do
similar programming by faking / emulating the whole VESA stuff.

~~~
reificator
Canvas doesn't need more than a browser. It's not the same thing of course,
but it's easy to get into, you can do cool things quickly, and it's a useful
skill to have now anyway.

(I know Chrome even comes with an editor built in.)

------
mattnewport
My favorite version of the old school fire effect was Hugo Elias' version that
added a feedback driven warping effect:
[https://web.archive.org/web/20160418004150/http://freespace....](https://web.archive.org/web/20160418004150/http://freespace.virgin.net/hugo.elias/models/m_fire.htm)

~~~
DiThi
Quick capture of that version
[https://i.imgur.com/FVaDDRF.mp4](https://i.imgur.com/FVaDDRF.mp4)

------
TuringNYC
Thank you for sharing this, this brings back such fond memories of the 90s! I
was in middle school and the best I ever achieved were the scrolling pipes
effect using Basic. Bonus points two with multi-colored scrolling pipes with
proper overlap :-)

------
bananaboy
Awesome! I love this effect. Here's a size-optimised version I wrote in
assembly a long time ago: [http://www.humbug.net/projects/download/demos/js-
fire7.zip](http://www.humbug.net/projects/download/demos/js-fire7.zip)

It's 173 bytes in size. I wasn't going for the tiniest possible fire effect,
but rather the tiniest but still decent looking version.

------
mysterydip
Ironically, the first fire effects I saw were on QBasic, found via various
webrings in the mid to late 90s, like this one:
[http://www.petesqbsite.com/sections/tutorials/tutorials/fire...](http://www.petesqbsite.com/sections/tutorials/tutorials/fire.txt)

------
azeirah
Ha, I remember being in high school and messing with my TI-84, I ran across a
tutorial on running assembly on the TI-84. I was seriously impressed by the
fact that I could run a semi-realistic fire simulation on that device with
only two lines of assembly code.

Thanks omnimaga forums!

------
chocolatebunny
holy cow. I remember doing this on Turbo Pascal back in the 90s.

~~~
xab9
Yep, with a little bit of assembly. Back then I had a 286 and all of my pas
programs compiled in seconds... now I have a core i7 with 16gb ram and
changing a line in a js file makes webpack compile it for 20 seconds :D

------
jbverschoor
Ahh. Good times

