1,039 karma · joined January 20, 2011
> 52. You are not compelled to form any opinion about this matter before you, nor to disturb your peace of mind at all. Things in themselves have no power to extort a verdict from you.
> Two grand a year rivals the lease payments on an entry-level car.
So I can lease a very crappy car or own an awesome headset? Easy choice.
> Back at HQ, the iPhone, possibly the most utile product in history, costs $1,000 and is viable for three-plus years.
2 years max if your phone is important to you. Why 3 years for the phone but not the headset?
> Splurging on an 85-inch 4K flat-screen TV will cost you $1,500, but it will last about seven years,
And be incredibly less useful by every single measure. Who even watches TV?
> and your entire family gets to watch at the same time.
Great, I'll have my nonexistent kids invite the grandkids. What a money saver while we consume Netflix instead of doing something interesting.
Anyway, point is it's being deliberately biased.
Just casually browsing HN, this solves a problem that's been bugging me for months in my game: The world is scaled in feet/inches, while WebXR uses meters/cm to set ICD (virtual camera distance)! I think- based on my getting unusually nauseous.
I thought the solution was to scale the world, but there's more to it - and I think the solution is to reduce camera translation motion by the scale difference:
> Specifically if you translate your head sideways by the distance of your IOD, your left eyeball should now be seeing what your right eyeball was seeing. If it doesn't, the brain worries that something bad has happened, and makes you feel bad about it.
> Note that if you scale BOTH – you move the virtual cameras closer together, AND you reduce the in-game motion of the cameras due to head motion – everything is totally fine! The world just grew or shrank magically, but it all still works and you don't get nausea.
You may wonder why in hells a programmer would use imperial units instead of metric. It's to give the game a sense of being human-scale and pre-civilization. Why not just use metric and then convert everything to imperial for display purposes? Because then during debugging, units in logs constantly have to be converted to units shown, and the conversion isn't identical. It never bit me until VR!
> Why do recipe writers lie and lie and lie about how long it takes to caramelize onions?
> lie and lie and lie
Those recipe writer propagandists!
Looking at random-js, the barrier to entry is higher. I've looked at randomness libraries and that's the feeling they gave me: That I would need to learn how randomness works, rather than just calling a function for what I want; a random int, a weighted random. Cmd+F "weighted" doesn't find anything on both of those projects' readmes.
There's a tradeoff for simplicity, but in many cases I'll take it. This is the iPhone of randomness and that's what I needed to feel comfortable using it rather than rolling my own.
This library seems to solve that problem and half a dozen others! Like: Reading code with functions named for their purpose is better than a string of arithmetic operations in most cases. Thank you for sharing this! Will use in my game! [2]
const weightedDiceRoll =
weighted(
[1,2,3,4,5,6],
[1,1,1,1,1,10]
)
// will return 6 much more often than the other options
0: https://news.ycombinator.com/item?id=34742505- but there's a crisis!
- made up statistics
- think of the children
Babylon.js, cool. How did it do with voxels, or how did you work with it? If you feel like answering. I used it previously on my project.
I have to check out all the other games on that list [0].
Then it's like Alice in Wonderland.
> My focus is still on browser multiplayer experiences.
Here's mine: earth.suncapped.com (https://github.com/Suncapped/babs)
It's been ongoing for 12 years, with several burnouts and rewrites, hah.
If you want, I would love to talk offline (email in profile) about player-freedom, MMO projects, and browser games. I feel like some of us have a shared history going back to older MMOs [0] and Flash browser games [1].
On my project, I sneaked past the hard networking problems by settling on tile-based movement. It worked for Ultima Online and I still believe in it. It scales really well. Networking zones measure 1000 x 1000, and tiles are 4 units, so X and Z can each be stored in 1 byte. This also helps with storing and transmitting tons of objects. See the page load time.
Actually, I sneaked past a lot of difficult things, which is what strikes me about your work - you solved hard stuff directly. I haven't tried to integrate skeletal animations into my Blender pipeline yet. Yikes. I barely know how to write cameras, whereas you made a cross-platform one and blogged about it.
> shared client & server game code
How did this one go? I ended up literally doing a `ln` for shared frontend/backend files.
> React+Redux setup was too much performance overhead for the real-time gameplay section.
This is such an interesting aspect of web games: HTML-based UIs. I went with Svelte because I was curious about it. It is SO much easier than doing a game UI yes. But the "line" between web UI and game UI keeps being a problem. For example, when a player drags an object into a UI backpack: That object's graphic needs to change from 3D mesh -> mouse cursor -> png icon. Craziness. I might scupper the whole thing.
A bit of a ramble, but in conclusion, wow!! Thanks for sharing this.
0: UO, Lineage, you said Exteel which I'd like to learn about.
1: (First Earth had a Flash version lol. Also a Babylonjs version.)
Nix has been getting attention among my friends. I’m still in “wait and see”. The next big thing after TS won’t be an incremental improvement. It will solve big problems like:
- Too many ways to do things. (Remove ambiguity. Instead, make choices for me so others’ code is predictable. Apple approach. Does Swift do this?)
- Naming suffering from backwards compatibility. (For…in vs for…of etc.)
- AI integration?
PHP is losing to JS due to 7.0 or whatever. Scala surprised me!
Games have always been at the forefront of software innovation. I love working with them.
Unless we consider it a ship for our star, rather than a ship to the stars. Though in a certain sense, it could lead to a ship to the stars.
In a setting with a small selection, I find I naturally look for qualities - things I like about someone I'm around. If someone has a couple of nice qualities, that's enough to enjoy their company.
In a setting with a large selection, I try to narrow the difficulty of the choice by looking for disqualifiers - things I don't like about people.
I wonder how this relates to happiness.
1: "Anticholinergic Accumulation: A Slumbering Interaction between Drugs and Food Supplements" https://onlinelibrary.wiley.com/doi/full/10.1111/bcpt.12437
2: Chart of medicines with high ACB scores (higher is worse) - you will recognize some of these, such as allergy and anti-nausea meds: (pdf warning) https://corumpharmacy.com/wp-content/uploads/2020/08/Anticho...
Python has amazing math libraries. I use numjs[1] for everything, which is a port of numpy. I frequently wish I had use of Python's libraries.