For those that can't get it to load (it takes a minute, and I noticed my desktop's fan kick it up a notch while things were getting initialized, so... YMMV): this is a portfolio site done via a cozy-gaming-style AWSD game where you drive around in a jeep-like thingamabob. There are some cute easter eggs, including a sort of... shrine to each of the socials, which you can run into with your car and knock over (though the links remain clickable, of course!). It also looks like there's some degree of global state; for example, you can "sacrifice yourself to the gods of chaos" (ie drive into a portal) and a counter on the side of the portal goes up, presumably for everyone (since I certainly didn't drive into it 1700 times myself!). There's a strongly consistent art style, and just generally... seems pretty polished. Or at least, that's what it felt like after 5 minutes of driving around.
All in all I'd say, I'm impressed, and enjoyed it. Though I think the HN title ("handsdown one of the coolest 3D websites") is maybe a bit much. It's an extremely-well-executed portfolio site; no more, no less.
If you count game demos on the web, then Epic Citadel, based on the port of Unreal Engine to various mobile and web platforms including HTML5/WebGL/asm.js, had a much detailed and more 3D world - it used all 3 dimensions fully, unlike OP which appears to be a flat world that’s quite restricted vertically. That demo first came out about 15 years ago, with the HTML5 version coming out a few years later.
Since then I’ve seen several other sites along similar lines, since Unity released a similar capability, but I haven’t kept track of them. The problem is they’re all essentially games that are more impressive for their look than their functionality, so they tend to have a spike of interest when people first see them and then you never hear of them again. And typically, the tech bitrots and the sites stop working after a while.
I am irked that on desktop it does not work in Firefox, but only in Chrome (and presumably other Chromium based browsers).
I'm not a big fan of Chrome, for a variety of reasons, but principally because I don't trust it and can no longer use a good ad blocker, so I never really enjoy having to fire it up.
After watching developer's "making of" video, I went and grabbed my USB gamepad (from twenty years ago) — whenever the gamepad is plugged in, Bruno's gamesite stops responding (until controller is unplugged).
I would recon if this isn't playing on your end, it has more to do with using uncommon hardware configurations (not necessarily lack of horsepower).
You say that as if I've got any control over the browser on the end users device, some of which will be configured to not apply these rules globally for accessibility reasons...
When it avoids a chrome (and thus google) monopoly: yes. And don’t talk to me about Firefox engine. Its market share is negligible and the whole thing only even still exists because google allows it.
The App Store is the walled garden that doesn't allow anyone else to ship a browser engine, except in certain markets where they have been forced by law to create a "Web Browser Engine Entitlement" that non-WebKit browsers can use with super special permission from Apple.
Because so many people use iPhones as their primary devices it's hard for businesses to accept making their websites only support browsers which are built off Chromium. It somewhat limits the power Google has to unilaterally dictate web standards.
This got me thinking: Rewind 25 years, I can easily imagine 15 year-old me sinking DOZENS of hours into playing this "game". I remember I put much more time than that into a free game that came in a box of cereal[0].
Today, I loaded the site up and spend about 30 seconds on it before deciding "this is cool!" and moving on, probably never to return.
What changed? I guess it's a mix of: (A) How I value my time. (B) The bar for "what pulls me in" in terms of gaming. (C) Some other factor around me just having already burned enough hours on games.
I'm not really sure how much each factor contributes.
Opportunity cost and perspective. We've probably played enough games to know how the cycle goes; there's a little voice in our heads now telling us that it's all just a big pixel hunt and the next few hours will be more of the same (my interest in a game fades once I learn the meta). And then there's so many games these days... so the other question is why not play something more interesting or exciting?
I think that's it, when it's new you explore, but when you know what to expect or seen it before, exploration is no longer interesting.
That said, there's some games out there today that draw me in just as much as others did 25 years ago; I've spent hundreds of hours in Factorio, I can't imagine how much I'd be into it 25 years ago (...assuming I would have understood it back then). Likewise, I'm sure I'd be a lot more into Minecraft if I was 25 years younger.
Weirdly, playing games is typically something I the feel least guilty doing, precisely because it's a distraction from the other stuff I'd otherwise not be doing. There's just a lot of stuff I want to do, that I struggle to do, and so I feel guilty about not making progress on that stuff. Then, whenever I try to do something else, I feel too guilty to do that something else.
It's a real self-reinforcing negative feedback loop. I agree that it's not healthy. It's just hard to break out of.
I deal with the exact same mental model. I think for me, while actively gaming I do have fun. It’s only after the fact I look back on the time wasted gaming and think “wow, I really should have worked on that project I want to build instead of playing a game”. It’s also hard to rationalize time spent gaming when you have nothing to show for it afterwards.
If you ever figure out the solution to this negative thought-loop, let me know please!
I miss the days when I'd click every link and follow every rabbit hole. 100% completionism of collection games. It's shaped how my life has turned out, for better and worse.
I dunno. I see many “grown ups” replacing video game time with just more time scrolling on their phones, or maybe on the TV watching YouTube or some streaming service.
I think playing (some) video games can be a bit better for your brain vs. the above alternatives. At least many of them require thought and/or coordination.
Again, there are exceptions, where they’re not much better than doom scrolling. But it’s not hard to find some that require some effort and thought.
Same but with 1 kid and different websites (including HN, which is equally bad!). Actively fighting it though. Slowly removing all social media accounts, now just need to figure out how to block stuff permanently on my phone.
On a desktop I did it with changing my hosts file to point everything to 127.0.0.1. Need to figure out how to do this also on mobile without an additional network device that would disrupt things for my wife.
I think it's in large part just having to do with us developing our frontal cortex and like impulse control. I would have probably gotten dopamine addicted to it 15 years ago, as well as wouldn't have some nagging back-of-mind thoughts about having to use my time to be converted into money to survive at that age.
Bruno’s Threejs course is great. I’m about 2/3 the way through it, taking my time. Well organized and extremely well documented. Highly recommend, if a recommendation from a threejs novice is worth much.
Very neat! I and completely respect the skill. I respect the effort even more!
That said, it's not 'hands down, one of the coolest 3D websites', at least that I've seen. It's all "technical", very little "design". For example, why is it 'isometric overhead'? There's no particular benefit in the view, and it's specifically harder to control than it would be with a 'chase'/'third-person' camera. It's not like this is an RTS or a city-builder-ish thing, where having an overhead layout works to your benefit. Rather, it's just easier to program a camera that never changes angles and input controls that never have to re-interpret camera position/rotation (lookat vector) to function correctly. And there's a kind of symmetry between a flat page and the "ground" that the truck drives on, so some parts of the web forms have been ported over to that.
Again, none of that is bad and especially none of it is wrong. It's very cool that it works and works so well (technical)! It's just that the design feels more "portfolio" than it does "best ux for interacting with the environment I've created and the paradigms I've invoked (vehicle control)".
That's design exactly. There's no technical obstacle to making it over-the-shoulder instead, but it changes the aesthetic. The animations focus on what the jeep does to things, so a racing view that helps you avoid running into things wouldn't be appropriate. It also changes how you see the assets. And you'd lose that 'RC Pro-Am' feel.
> Rather, it's just easier to program a camera that never changes angles and input controls that never have to re-interpret camera position/rotation (lookat vector) to function correctly.
Not really, you just put the camera on a spring arm attached to the vehicle. Vehicle movement isn't harder either. You get this stuff practically for free with any game engine.
You're welcome to your counter-opinion about the design, but you haven't convinced me. I've played plenty of games with third-person views where the gameplay was quite conducive to running in to things. I can also appreciate that the design is faux-retro, but that's kind of my whole issue with it. Sticking to a design because it is nostalgic is not user-focused. It's demographically limiting, by design. It's specifically niche-targeting. That's the opposite of trying to make the best kind of thing for the most kinds of people. Which is a business interest of a portfolio site. Building a little game for people who likes those types of games? Sweet! More power to you. But if you're showcasing a demo for wide audiences, a critique of the niche-targeting is valid. Not nearly as important as the people claiming they can't even play the game, for sure! But if you bounce one person because they press up on the keyboard and the truck moves "forward", and they don't like that - it's a marked negative for the site's intent.
You can't worry about pleasing everyone, and you especially can't worry about broad, overall, two-paragraph critiques on literal months of dedicated work. But neither of those make the critiques, themselves, improper or even wrong.
You seemed to imply that the developer chose isometric to make development easier. I'm rebutting that this is unlikely; they're equally easy with an engine (and if you're not using an engine, you're skilled enough that they're still equally easy).
> But neither of those make the critiques, themselves, improper or even wrong.
Are you referring to my critique of your critique of razzmatak's critique ("Handsdown one of the coolest 3D websites")? Surely if you're allowed to disagree with them, I am with you.
ah, easy enough then: mistaken inference on your part.
> Are you referring to[...]
I'm referring to critique, in general, for the former, and my specific two paragraphs of critique on the project - not the commentary - for the latter. Your being "allowed" to disagree with me is what is meant by the sentence "You're welcome to your counter-opinion about the design, but you haven't convinced me."
I can't see Bruno's site and I assume it's because of the HN hug of death, but an impressive 3D website that always comes to mind is acko.net, with its 3D rendered tubular logo. He even describes how it was done in a blog post.
acko.net is one I thought of immediately too. The front page for Three.js usually has some nice examples too.
Of course, with WebGL and WebGPU support becoming ever more ubiquitous I'm not sure when 'impressive 3D website' just becomes either 'impressive website' or 'impressive 3D'.
I agree with you, it's not that it isn't impressive, but it functions poorly as a website. Innovation in design I'd expect from the HN title is something where the 3D enhances the user experience of the website itself, navigation interfaces feel natural, and so on.
This is a very well made little game that also showcases some of their work. I was hoping for something like, now I wish all websites were like this.
This is amazing; now when is building this kind of thing going to become more accessible so we can start seeing a lot more of it? Webassembly has been around for years now but we still don't really see many companies compiling games or game-lite experiences to WASM. The tooling doesn't seem to be there which is the necessary prerequisite that could make building experiences like this actually feasible for most devs. Is that coming, ever?
I wish more of the web was like this. I miss the wild creativity of websites way back in the day. The web has mostly homogenized around what web UI should be. I love seeing weird experimental stuff made just for fun.
I have a 4 yo, and I'm very reluctant to let him into the games world. But I've been thinking of buying a small Super Mario USB steering wheel and let him roam a very simple world like this. Anyone aware of something like this, maybe open source so that i can simplify to the simplest dynamics?
It looks really nice, but CPU usage is almost 100% all the time. I have a MacBook Pro M3. When I open some fancy Three.js scenes that I found on the net, I instantly profile them. Most of them are really bad in terms of performance. I don't know why.
This is usually because they are rendered in an animation loop (most three.js examples are set up like this). An example of rendering on demand only (this is even using fancy bloom post-processing): https://cybernetic.dev/helix/about
It showed up very quickly on my desktop rig.
Linux, Firefox, with a CPU that's over a decade old, a GPU of about half that age, and the cheapest Internet that Spectrum will sell me.
Just a second or three of a weird luminescent throbber, and then "Click here to start". No inexplicable lags at all -- it was all very smooth.
Amazing as always, Bruno is a wizard with ThreeJS.
There’s a surprising amount of stutter and lag on iOS, evident after the loading bar completes and the app freezes for 30 sec. Also during gameplay, quite a bit of stuttering. My guess is GPU texture uploads or shader compilations. Otherwise it was buttery smooth.
I love all the work that Bruno puts out there. His design and engineering skills are next level.
There are so many talented creatives using WebGL/WebGPU that I've recently launched WebGL.com / WebGPU.com, where I'm dedicated to bring together the community of creatives (designers, coders, AI/ML, etc.) pushing the boundaries of the web.
Would love to see what you would like to see (e.g. tutorials, demos, etc.)
It's cool, but I actually find it pretty bad as a website. The UX for navigating and all that, it's bad. I was hoping for some innovation in UX which justifies the use of 3D in the website.
The unique UX of the site, driving around in a 3D car, is what makes this site go viral on occasion. If it were "good" UX, e.g. a standard portfolio site, no one would care and this guy wouldn't be as well known as he is. Therefore the UX is good.
I think it's not a website you make to get hired to make business websites like this to display information (unless maybe it's a gaming company), but if you want someone to make a game on the web then this is a perfect portfolio site.
I agree, I was comparing it to the title of the hacker news post which initially said "Most impressive 3D website ever" or something like that. That enticed me to believe someone had figured out a really innovative way to make a website work in 3D.
As a portfolio to demonstrate your three.js skills for web game making it's really good.
This is very impressive as an art project, but terrible as an actual home page. It’s slow as molasses and difficult to navigate. Microsoft Bob failed for a reason.
Bruno Simon sells courses on how to make things with three.js. As a homepage it is an exceptionally good example of what you can do with 3D in a browser, and what buying his course will enable you to build. It's a great home page with that context. It would not work for many other people.
It seems you need that context prior to visiting the website. Which, if you are looking to hire, and they send you to this site as a "show of skill" is totally great. But if you google searched for some info and stumbled on this, I'm not sure you'd even know what's on offer.
I'm old enough to remember the SGI tractor-trailer demo wagon where they were demonstrating their latest, $20K+, wares that could do immersive 3D graphics that were... crude compared to this. This was sometime in the 1990s.
And by now my kids play fluidly immersive 3D games, on the web, on the kind of computers you can get for $10 off Facebook Marketplace.
This is unbelievable. So whimsical and fun and different...I really appreciated the attention to detail and joy that clearly went into it. Got to spend some time playing the racing game with my son and we can't figure out how people got 20 seconds...is there a speed boost?
Takes a min to load even when it shows the circle complete. But a 1-2xrefreshes load it and yes, it is pretty sick. Wish you could zoom out more though. Nice work to Bruno!
HN hug of death? I couldn't get it to load (beyond the grid/circle background) on Safari/Mac, but eventually it loaded in Chrome. Seems to just be a game - use AWSD keys. Not sure why this is "coolest 3D website" in this day and age.
It loads, I can navigate (drag), and click the white diamonds.
There are things like the RC truck and bowling ball that are not interactive and look like they should be, so I suspect it's a bug?
EDIT: OK it's a learning curve. With mouse/keyboard, you can click the hamburger icon in the top right, and get to an explanation of controls. I am able to use WADS to drive the truck and push the bowling ball (with the truck.)
The course is great. I am a fan. This, not so much.
One of the unsung problems of any technology is understanding what you can do with it that you could not do before. Lets say you are a prehistoric person and somehow you find a modern steel axe. What do you do with it? Ultimately, it is not the axe that is important, it is the metallurgy.
Lets say you are a modern person and you found bitcoin. What do you do with it? Again, my thought is not the bitcoin, it is the cryptographic technology.
Lets say you are a modern person and you find threejs. What do you do with it? My personal reaction is that there is so much more that can be done with threejs, react-three-fiber, react-three drei, shaders, shadertoys, than this.
For me the definition of "cool" is things that change how you see the world. Where you never look at things the same way. A little example for me was this:
How he created a world around his CV may not be groundbreaking, but very creative and done exceptionally well. I caught myself driving around for a couple minutes. Accepting cookies bakes a cookie, you get hidden easter eggs when you complete certain actions (like lift driving in water). Just like with any creative endeavor (movies, music, dance) doing something no one has ever seen isn't always the goal (striving for that can often feel forced/cringe); creating an emotion in someone is art - and this did that for me.
Holy shit, this is really cool. i felt like i was in a movie. the car blows up and is ready to go right away; the car drives in the water (faster if you hold down the space bar). music is nice; and the 3d rendering is also pretty smooth. love it.
This is a cool website but it's hardly groundbreaking. There have been hundreds (thousands?) of three.js/babylon.js in-browser demos over the past decade and this would qualify as top 10% area, but there's nothing here that hasn't been done before. It's fun, it's high quality, but it's not new, and as far as conveying useful information, it's actually quite cumbersome with high effort for low signal. And while it's polished, it doesn't come close to even the most basic indie 3d game.
All in all I'd say, I'm impressed, and enjoyed it. Though I think the HN title ("handsdown one of the coolest 3D websites") is maybe a bit much. It's an extremely-well-executed portfolio site; no more, no less.
reply