10 ms·
In the 2000s I did a quite a few demos¹. Even if it was fun I often felt it was useless because the skills I was acquiring were only applicable for game develo
by mrdoob2 3y ago
In the 2000s I did a quite a few demos¹.
Even if it was fun I often felt it was useless because the skills I was acquiring were only applicable for game development and that was something I was not interested in.
It was quite a shock to me when I found myself working on a WebGL demo for Google² and all what I had learnt in the demoscene paid off (and has continued paying off ever since!³⁴).
1. https://ricardocabello.com/ https://ricardocabello.com/
2. https://experiments.withgoogle.com/3-dreams-of-black https://experiments.withgoogle.com/3-dreams-of-black
3. https://threejs.org/ https://threejs.org/
4. https://m.pouet.net/lists.php?which=153 https://m.pouet.net/lists.php?which=153
- Flam 3y agoYour work was an inspiration for me growing up! A big fan of anything mrdoob
- mrdoob2 3y agoGlad to hear! ^^
- sigmoid10 3y agoGetting older, one of the most important things I've learned is that no technical skill is useless. Especially since you never know where you end up. I've had so many things at university where I was absolutely sure that I'd never need them. And for like 90% of them I was right. But the remaining 10% were incredible boosters to my career and I never would have thought they could have such a huge a impact.
- arkitaip 3y agoBeing a techie also means that you aquire meta skills like being able to figure out and troubleshoot random tech very fast, no matter how trivial or complex. Where most people would never bother to dig deep enough or quite really fast, techies can deep wide and deep, over a long period if need be.
- block_dagger 3y agoYou seem to contradict yourself. You claim no technical skills are useless then claim that you didn’t need (use) 90% of them. Am I reading this wrong?
- phero_cnstrcts 3y agoPractical skills are useful - school isn’t.
- 89vision 3y agoSome young people aren't sure what they want to do with life and school is a reasonable place to figure that out and hopefully pick up some practical skills/networking/life experience along the way.
- kwhitefoot 3y agoSeen from the perspective of my own education that is a very strange thing to say. Did you never learn anything practical at school or university? My own education was full of things that I have used all my life in my career as an engineer.
- adastra22 3y agoSome schools are more practical/focused than others.
- cacois 3y agoOh man, I couldn't disagree more. Learning is learning. My education was broad in a few ways, and so many of the thing I learned that were seemingly unrelated to technical skills have made me a better engineer in many ways.
- nvy 3y ago100% disagree. Imagine how much better off our society would be if every adult was grounded in the fundamentals of political science, ethics, economics, and philosophy. An educated electorate demands higher quality candidates. The populist demagogues of the last several decades wouldn't have stood a chance.
- Barrin92 3y ago>And for like 90% of them I was right. But the remaining 10% I'd argue that this kind of language isn't even right. It's not only that you don't know when you need something, you don't even know when you use it. If we've learned one thing from the success of ML systems it's that the proper representation of knowledge is extremely complex and connected. Everything influences everything else. You can't learn "10%" of a language, or "10% of programming", as if there exists some chunk neatly separated from the rest. It's much more likely everything you learned contributes to most of what you do, even if we're not actively aware of it. You can't learn x% of Mandarin by learning y% of the words, it's not even appropriate to separate anything into useful or useless. Almost everything you pick up just illuminates your mental model just a little bit more.
- zozbot234 3y agoYes, the whole problem area of GPU programming, not just for 3d or VR but also 2D pixel-perfect rendering on GPU (which is going to be needed as screen resolutions, color depths and frame rates increase, leading to more overhead if rendering on the CPU) is ripe for the application of demoscene-like techniques.
- lichenwarp 3y agotell shine I said hello
- mrdoob2 3y agowill do!
- rollcat 3y agoThis brings back the memories of my first ever "high profile" job[1][2]. 2012, I was a wannabe gamedev at the time (even made a couple mediocre demos), but actually a pretty decent backend dev, so they somehow hired me to do the backend/devops. WebGL was a hot new thing at the time, and we were running into a lot of compatibility problems on various consumer GPUs. So I've helped get the 3D/frontend guys set up Sentry, so they could actually see and fix all the problems. Even though all my code ended up being "invisible", I like to think I had a hand in making the beautiful graphics happen. [1]: https://experiments.withgoogle.com/find-your-way-to-oz https://experiments.withgoogle.com/find-your-way-to-oz [2]: https://www.youtube.com/watch?v=5NBc5aYtz_0 https://www.youtube.com/watch?v=5NBc5aYtz_0
- mrdoob2 3y agoTo this day that's still one of the top WebGL sites!
- ryandrake 3y agoI was a wannabe gamedev also, was obsessed with learning 3D concepts, optimizing code, learning assembly language, and so on. After getting nowhere with game companies (You think FAANG is selective?? Try late-90's game companies), my first job ended up being writing GPU drivers for a major graphics card company. Lucked out, I got to work with gaming technology but without the soul-crushing burnout and 80 hour week death marches.
- bityard 3y agoThis is honestly one of the best kept secrets in tech. If you actually want some work life balance and don't care too much about job titles and status, the best gigs period are those where you support the "front line" devs in some fashion. Nearly the same pay, but less stress and more self-direction. Tooling and QA folks rarely get called up at 3am on a Sunday morning because prod is down.
- Quikinterp 3y agoI wonder if some AMD folks did last week when their latest drivers caused players to get banned in counter strike haha
- skrebbel 3y agor08028 is still one of my all-time favourites! (To the point that I ripped it off -cough- paid tribute to it in a GBA demo years later)
- nzoschke 3y agoAs we speak I’m hacking on an art project with three.js and frame.js. Thank you for these!
- mrdoob2 3y agoMy pleasure!
- c141charlie 3y agoYou're work is incredible! Thank you for sharing!
- happygoluckee 3y agoFollowing a passion is a very valuable skill!
- flanbiscuit 3y agoHa, for some reason my company (actually zscaler) is blocking your ricardocabello.com site because of "Copyright infringement". I'll check it out on my personal laptop. I remember your 3 Dreams of Black experiment when it came out, that was awesome work!
- atum47 3y agoI'm a huge fan of your work.
- qingcharles 3y agoHere's me in 1995 talking about demos on Usenet! https://groups.google.com/g/comp.sys.ibm.pc.demos/c/TR8hmM3IW4k/m/Gp7IGXJGLaEJ https://groups.google.com/g/comp.sys.ibm.pc.demos/c/TR8hmM3I... My demos were my resume (CV) at the time. I remember Jez San of Argonaut (Starfox) contacting me and wanting me to come interview for a development position. I was 16 IIRC. A year or so after that I became a professional game developer. In fact, the game I was working on was changed from 2D to 3D overnight and I pulled out my demo source and ported the whole 3D engine over in two weeks: https://youtu.be/t2kdKB18c7I?t=330 https://youtu.be/t2kdKB18c7I?t=330 Demos really force you to learn everything there is to know about how a modern computer system works, CPU, RAM, ROM, bus, video, etc. That knowledge will remain invaluable. I mostly do web dev in C#, but any time I write a single line of code my brain is thinking in the background "how many opcodes will this be? what about this branch? am I making an extra copy of this variable for no reason?"
- neonsunset 3y agoCopying variables has only superficial values nowadays - the compiler will track variable lifetimes and allocate registers or spill them to stack as appropriate. For C# specifically, if you want to scratch the itch, there is a way :) If you are using VS, you can install Disasmo extension and disassemble arbitrary methods with SHIFT+ALT+D (keep in mind it's ready-to-run-like codegen which does not have all optimizations). You can also go further, and use `DOTNET_JitDisasm='methodName'` env variable - in this case you will see how method transitions through all compilation tiers (if it gets promoted past Tier 0). And last but not least, if you build your .NET binary with NativeAOT, you can just use standard disassembler, debugger or profiler you would use for C++ binaries.
- illwrks 3y agoMr Doob! Thank you for your work on threejs! The webgl demos etc were, and still are, inspiring!!
- thibaut_barrere 3y agoI remember my father telling me (tongue in cheek) "sure, 3d realtime polygons are nice, but when will it earn money?". And many years later, I'm still coding both for fun and money (and usefulness).