News for hackers. Stuff that matters.
Re:What is the Demoscene? An obscure but influential art form by bhouston on Wednesday October 18, 2023 @09:31AM (#37928401)
The demo scene was so formative. Like many others of a certain age in the 3D industry, I was first a demo scene coder, because what else was one to do if you were good at math and computer science but still stuck in high school?

My 1997-era renderer did reflections, bump, color textures, etc all in 16 bit using x86 assembler rasterizers, no floating point, with 256 color palette - source can be found from that like:

https://twitter.com/benhouston3d/status/1260346800176877571

Another demo from the same era (1996), also includes source: https://twitter.com/benhouston3d/status/1272530352070971397

Nearly 30 years later I am still doing 3D graphics, contributing to Threejs (which is run by mrdoob, another demo scene coder), glTF, VFX software, https://web3dsurvey.com and have run a computer-graphics company for the last ~20 years: https://threekit.com

Re:What is the Demoscene? An obscure but influential art form by TheRoque on Wednesday October 18, 2023 @12:02PM (#37930632)
Is the 3D industry a good one to get into ? Or is it too full of crunch and low pays ?
Re:What is the Demoscene? An obscure but influential art form by bhouston on Wednesday October 18, 2023 @12:08PM (#37930735)
It was horrible to work for a VFX firm in terms of work-life balance, but the pay was okay. I quit after 3 years. One crunch time lasted 27 days in a row many of which many were 10hrs per day. And then I didn't even get credit on the final film even though what I did was critical for it.

When I started my own firm in 2005 I adopted a no-overtime policy in reaction to that. This was more feasible since I was creating and delivering software and this was more predictable and containable than doing VFX itself. This has loosened a bit as the company grew, we got funding, then got other divisions, etc.

Re:What is the Demoscene? An obscure but influential art form by qingcharles on Wednesday October 18, 2023 @03:12PM (#37933320)
10 hours per day! You worked at one of the nicer places then. Next you'll be telling me they gave you more than one toilet break a day and even let you out from time-to-time to find food.

I couldn't take the hours, honestly. The place I worked I was ended up sleeping under the desk and doing 20hr days to make crunches.

Re:What is the Demoscene? An obscure but influential art form by bhouston on Wednesday October 18, 2023 @03:21PM (#37933458)
> 10 hours per day! You worked at one of the nicer places then. Next you'll be telling me they gave you more than one toilet break a day and even let you out from time-to-time to find food. > I couldn't take the hours, honestly. The place I worked I was ended up sleeping under the desk and doing 20hr days to make crunches.

I think all of this is also completely unnecessary. Work-life balance is necessary if you want to have a family and enjoy it - that means you need weekends off, and you need standard business hours. Otherwise, it messes up daycare, evening children events and the split of chores between you and your significant other (which will lead to fights.)

Re:What is the Demoscene? An obscure but influential art form by qingcharles on Wednesday October 18, 2023 @03:26PM (#37933525)
I agree. I was pushed into those hours, but it was because of bad scheduling, for deadlines that didn't matter. And your productivity drops considerably the more hours you do.
Re:What is the Demoscene? An obscure but influential art form by effekt on Wednesday October 18, 2023 @12:59PM (#37931478)
The only reason I'm a software engineer today, is the scene. And I'm sure that's not just the both of us :)
Re:What is the Demoscene? An obscure but influential art form by thibaut_barrere on Wednesday October 18, 2023 @05:45PM (#37935194)
It clearly had a huge impact on me too!
Re:What is the Demoscene? An obscure but influential art form by qingcharles on Wednesday October 18, 2023 @03:16PM (#37933381)
I was doing the same as you. Gouraud shading, texture-mapping, phong-shading.

I looked at your code and saw only .cpp files. I had to open your triangle renderer, and there it was - you'd inlined your x86. I don't think I ever inlined my assembler, even though I was using Borland C++ like you. I think I must have linked it in somehow?

Re:What is the Demoscene? An obscure but influential art form by bhouston on Wednesday October 18, 2023 @03:30PM (#37933591)
> I was doing the same as you. Gouraud shading, texture-mapping, phong-shading.

Is your old code posted anywhere? I think many of us were working from the same example projects/tutorials. I wouldn't be surprised if the code is incredibly similar.

> I had to open your triangle renderer, and there it was - you'd inlined your x86.

Being able to inline asm was amazing. The code:

https://github.com/bhouston/3DMaskDemo1997/blob/master/src/N...

Being able to access C++ variables on the stack directly from assembler to read and to write to them was so nice. You get the speed benefits without adding significant complexity.

Re:What is the Demoscene? An obscure but influential art form by qingcharles on Wednesday October 18, 2023 @04:47PM (#37934551)
I think all of my code is lost now. My artist friend says he has a hard drive which might have the binaries on it.

I did find one of my commercial releases on the Internet the other day because it was on a magazine cover disk in 1994 which saved it from obscurity :)

Re:What is the Demoscene? An obscure but influential art form by thibaut_barrere on Wednesday October 18, 2023 @05:44PM (#37935183)
I mixed TurboPascal (or C++) with Assembly for critical loops, and it changed everything :-) (high level for overall scripting, low level for rendering triangle loops).

I would love to be able to properly decompile my old demos, but it would require a bit of work.

For phong rendering, I remember I interpolated the full vector along each line (with an "integer" square root table stored in memory, taking 512k or something), it was fun times :-)

Re:What is the Demoscene? An obscure but influential art form by thibaut_barrere on Wednesday October 18, 2023 @05:38PM (#37935134)
Agreed! I had so much fun as a teen-ager doing this!

I implemented real-time Phong rendering on 486SX (no FPU) with a chrome-like effect (see https://github.com/thbar/demomaking#obez-1995) and this still gives me chills.

I met great people back then, and had a ton of fun.

My only regret is that source code is lost, and decompiling properly is not easy!

Re:What is the Demoscene? An obscure but influential art form by stevebmark on Wednesday October 18, 2023 @06:15PM (#37935507)
There's something interestingly poisonous about the demoscene mentality. Write small, hacky, throwaway, non-reusable code, hand minified beyond readability. Unit tests aren't relevant. You can see this mentality infect WebGL systems and places like Shadertoy. There's a tension between "software engineering" (whatever you want to call it) and demoscene hackers.
Re:What is the Demoscene? An obscure but influential art form by intelVISA on Wednesday October 18, 2023 @06:37PM (#37935726)
Software 'engineers' see the demoscene as an annoying reminder that code can also be crafted like art, unconstrained from corporate concepts like 'design patterns' and 'clean code'.
Re:What is the Demoscene? An obscure but influential art form by enos_feedler on Wednesday October 18, 2023 @06:51PM (#37935866)
not just crafted like art, but actually is art. it's an executable that runs just for the sake of lighting up some hardware. Not for collecting your email address or selling you a thing.
Re:What is the Demoscene? An obscure but influential art form by OrangeMusic on Sunday October 22, 2023 @07:18AM (#37974409)
Annoying? You mean refreshing. I don't see why these 2 things have to be a conflict. For business software, of course correctness and maintainability are paramount. For demos and games, of course performance and "quick and dirty" are more important. I'd say most developers can do both and know when to do one or the other.
Re:What is the Demoscene? An obscure but influential art form by bhouston on Wednesday October 18, 2023 @06:54PM (#37935900)
Huh?

The demo scene is a bunch of kids having fun and learning algorithms primarily. To tell them that they need to write unit tests is ridiculous. They will have time to learn about large scale architecture and unit tests in time - by why not try to have fun for a bit?

Shadertoy isn’t meant to be reusable/production code. It is meant to be a fun computer graphics algorithm place. A place to experiment and learn.

We can take the fun out of coder later - that is what paying jobs are for. Why not have some spaces for fun?

Re:What is the Demoscene? An obscure but influential art form by stevebmark on Thursday October 19, 2023 @12:47PM (#37945256)
No, go the other direction. Once those kids start working on code that other people use, the poison can cause them to shun compile steps, types, tests, build processes, comments, module organization.
Re:What is the Demoscene? An obscure but influential art form by feffe on Thursday October 19, 2023 @03:02PM (#37947139)
Hmm, I was a hang around back in the day. Not one of the big boys. But I got to say some of the young kids that I hung around with then had more skills than many I've worked with in the industry since. Going on my 25th year as a "professional" SW developer.
Re:What is the Demoscene? An obscure but influential art form by akikoo on Wednesday October 18, 2023 @07:46PM (#37936332)
C=64 has a 1 MHz cpu and 64 KiB of memory but that doesn't stop magicians from creating things like this:

Booze Design - Edge of Disgrace

https://www.youtube.com/watch?v=nLIUkBa_mA0

Re:What is the Demoscene? An obscure but influential art form by anthk on Wednesday October 18, 2023 @07:52PM (#37936386)
If you just knew how shitty actually were lots of commercial releases with tons of crude and shitty hacks before a release...

Specially in commercial gaming.

Re:What is the Demoscene? An obscure but influential art form by sensanaty on Friday October 20, 2023 @09:07AM (#37955485)
As someone born a bit after these demos, any tips for how to make this sort of thing? My C/C++/ASM skills are pitiful but I'd love to sharpen them, and this seems like a perfect way to do so