10 ms·
I'm amused that we share initials and a passion for this kind of project! Mine's https://rezmason.github.io/drivey https://rezmason.github.io/drivey . One key
by rezmason 4y ago
I'm amused that we share initials and a passion for this kind of project! Mine's https://rezmason.github.io/drivey https://rezmason.github.io/drivey .
One key difference: this guy built his demo from scratch, whereas mine's a port of someone else's work. It's great to see another implementation, with its own techniques and features.
- archon810 4y agoHmm, nothing happens for me on mobile (Chrome, Pixel 6 Pro). Just a black screen with some controls on the bottom.
- JKCalhoun 4y agoWas yours based on "Drivey"? EDIT: never mind, it looks like it was, very cool.
- rezmason 4y agoYep, my third attempt in ten years! The original was written in "JujuScript", with strong types and novel operators. I pretended it was Haxe, and ran around fixing compiler errors it till it compiled to JavaScript. I built out a small Three.js project to hook it to, built up the features, then refactored it into something I felt was maintainable. I tried preserving the organization of the original script as best as I could. Sidenote: I belong to the "port it" school of software preservation. My friend who runs the BlastEm project belongs to the "emulate it" school. I've seen both approaches have been employed to preserve Glider, which I think implies how important that game is to people. :)
- tomcam 4y agoGorgeous and hypnotic.
- breck 4y agoWow that's gorgeous. Is there a link to the source?
- latchkey 4y agoHis username is rezmason and it is mounted under /drivey. so, rewrite the url a tiny bit and you get: https://github.com/rezmason/drivey/ https://github.com/rezmason/drivey/
- latchkey 4y agoGreat work on this though! Super impressed. Would be fun to clean it up and convert to typescript.
- luismedel 4y agoHonest question. What do you see "not clean" in the original code?
- latchkey 4y agoGood question. The honest answer is that I don't know and that's the problem. A compiler would tell me what all the types should be and if they are being respected. I'd also write a lot of unit tests to make sure that the code is doing what it is expected to as well as enable refactoring more easily. The code isn't formatted consistently, so that also makes it hard for me to read, I'm kind of OCD about that and having tools like eslint/prettier, which do it automatically, makes this super easy to fix. Linting the code would also point out other issues that the compiler misses. Putting it into CI would ensure that all changes get checked and builds would fail, if there are issues. So I guess that is what I mean when I say 'clean it up'.
- latchkey 4y agoUpdate: Getting a lot of downvotes (yes, I know against HN 'rules' to comment about that), but I don't get why people dislike my response so much and would love feedback on that (similar to how the OP asked for honest feedback). What I did was pull the source code, load it up in IDEA, convert the .js files to .ts files. Then looked at the errors. Most of what stood out was that the author included a copy of threejs directly and used parts that TS can't infer types on. Not a huge deal, but makes following the code more difficult for sure. I don't think it would take too much time to update it at all.
- rezmason 4y agoIf you compiled me, you'd know that you are a type who I respect ;) I think you're right on many counts, and I appreciate the effort you took to see what TS could do for this kind of project. If you create an issue on the repo, I can notify you if I make an attempt at using TypeScript to maintain it, in a branch at least. No guarantees, but I've considered it before, and it'd be worth my time once I have some to allocate.
- phist_mcgee 4y agoAs a fan of vaporwave this is aesthetic 可ぷき
- S-E-P 4y agoI’m vibing
- deleted 4y ago[deleted]
- justinlloyd 4y agoI do not like how your city planners put pedestrian crossings on blind curves. That's really bad design that could lead to accidents. P.S. It's a joke. This is a really well executed demo.
- rezmason 4y agoI agree, but the original creator put them in and they add some spice to the environs. I like to joke that Australia (where Drivey originally comes from) has a low enough population that the pedestrians are in no real danger ;)
- deleted 4y ago[deleted]
- smrtinsert 4y agoThis is beautiful.
- jmiskovic 4y agoAmazing to see you in comments; your version was inspiration for this project: https://twitter.com/j_miskov/status/1490358867104083972 https://twitter.com/j_miskov/status/1490358867104083972 The video didn't generate much interest so unfortunately I didn't release anything playable.
- rezmason 4y agoThat's really neat! I like the tunnels under the giant trapezoids, they make me think of those enormous trapezoid buildings in Blade Runner. I can't take credit for Drivey's aesthetics, I'm just honored to have carried it to HTML5 ;) Somewhere out in Australia is the original programmer who I'm sure would love to see this, but who also loves avoiding the spotlight. I just did a quick scroll of your Twitter feed and jeez you're prolific, this stuff is really cool. I'll try Hexpress this weekend.
- aaroninsf 4y agoAmong "features it would be neat to add", fading timelapse smeers as in your photo of the curve would be luvly.
- mhd 4y agoOh, I think I remember the original Drivey and was following the dev blog for a while back then. But I think in the end, it didn't go anywhere (no pun intended).
- _mbwo 4y agoThis person is really incredible. Just check out their work: https://www.rezmason.net/projects.html https://www.rezmason.net/projects.html
- mandeepj 4y agoCopied from https://www.rezmason.net/projects.html https://www.rezmason.net/projects.html Through the nineties, Microsoft software engineers carried on a tradition of writing clever and distinctive software projects alongside the software they were primarily tasked with writing— this is where Solitaire and Minesweeper came from, for instance. These engineers also wrote "easter eggs" into their primary software, such as the beautiful flight simulator hidden in Excel 97. Amazed by reading the above. I'm a sucker to read and learn from that clerverness.
- neilparikh 4y agoWould be neat to have eye gaze be literally controlled by where you look using webcam tracking! Not sure how accurate it would be though.
- nolok 4y agoOnly tengentially related but eye tracking + foveated rendering is the thing that makes me the most excited about PSVR 2 !
- zulu-inuoe 4y agoThat's really cool, but I wonder why on my machine is maxes out all the cores on my CPU and still runs at something like 1 FPS on high If I turn it to Low it runs okay but looks.. not great. But I don't see anyone else having issues so, is it just me?
- enraged_camel 4y agoSame here. I've also experienced it with other JavaScript simulations. I suspect it has something to do with Chrome's hardware acceleration because it works smooth as butter on Firefox.
- 2OEH8eoCRo0 4y agoSounds like a lack of hardware acceleration. My i7-1185g7 is sitting at 20% but my Intel Iris Xe GPU is maxed. Runs smooth though.
- deleted 4y ago[deleted]
- flanbiscuit 4y agointeresting that this is running very slow (like 1 frame per second) on Chrome, but runs very smooth on Firefox. I'm on the latest version of both for Mac.
- rezmason 4y agoThat is very odd. I wonder what your Chrome browser's zoom is set to, that might affect its resolution. If you create an issue on the repo, I'll try and figure it out when I have the bandwidth.
- flanbiscuit 4y agoJust tried it again on my work laptop Chrome (Mac, latest) and it's running smooth, so it was something with my personal laptop and not your code.
- jstanley 4y agoNeat! I like that this is kind of the opposite effect (obviously Drivey is way more polished). Drivey shows objects as their silhouettes on top of a light background, whereas Nightdrive shows objects as their lights on top of a dark background.
- rezmason 4y agoPleased to meet you! ^_^ Nightdrive is a jewel. Some people are making a strong case (I think) for calling these types of projects "demos", but also, I think the inability to fit them in the arbitrary structure of existing nomenclature is a good quality for a project to have. :D Have you considered using a small bokeh image in place of circles in your renderer? Their size is based on the (usually unchanging) optical properties of the eye, rather than the eye's distance to the light, so you'd fade them rather than resize them, and if you round their position to the nearest pixel you might be able to draw them with 2D canvas context speedily.
- zxcvbn4038 4y agoThat is amazing, I remember seeing an early version of this on Windows, its so great to see it revived and with source!
- zxcvbn4038 4y agoThat is amazing, I remember seeing an early version of this on Windows and being impressed. It is great to see it revived and with source!
- sprkwd 4y agoYeah. That is awesome.