Hacker News new | past | comments | ask | show | jobs | submit | shhsshs's comments login

Question for you and commenter above, do you play games with controls similar to Outer Wilds often? Do you play many games in general? I've seen this comment a few times and I'm curious why this is such a common talking point. I thought the controls were very intuitive, so I'm curious if it's a familiarity issue or something else.


The thing about Outer Wilds for me is that it's a game about exploration, but most attempts at exploration are punished (limited time frame, sands suffocating you, "ghost matter" kills...). They stuck with a "hard scifi" control scheme where you control your character in 6dof with inertia, which makes some things unnecessarily hard and did not (IMO) add anything to the game itself. The things you interact with in the world are also annoying to use, like the machines where you need to slide a ball around by locking it with your sight... Just let me press a button already!


I think there were two separate puzzles where I had identified the correct solution, but the mechanics were so clunky that my attempt failed. Making me waste time exploring elsewhere. Had to consult a guide just to see that I had unknowingly botched the physics. Which is an awful experience for a puzzle game. Especially when the clock is working against you and some of the set pieces require very specific timing to interact with them (where doors are only open for a certain few minutes in a run).

The game is definitely a unique experience, but some of the design elements hamper the experience.


Did you play with a controller by chance? Asking because I prefer first person view games on PC


I did not play with a controller, which made Dark Bramble effectively impossible to finish because the keyboard is all-or-nothing thrust. Had to cheat to get past it. They should have said that using a controller was mandatory, not recommended.


It's not mandatory, there's 1 part in Dark Bramble where you can go a little faster if you use a very small amount of thrust. You can just use the momentum you came in on though, there's still plenty of time


Yes, the game told me it was the preferred way and I followed the advice


fair enough!


I don't recall having any problems with the controls. As long as I can invert the y axis, I'm a happy camper.


First person games: yes, quite a lot. Flight sims with wonky physics? No, not really at all.

Some of the controls were fine, but I found the ship piloting experience to be barely usable and definitely not enjoyable.


I don't play 3D games; I bought Outer Wilds for the experience, was unable to understand the controls. I tried really hard, but had to quit.


Totally achievable by using interfaces instead of structs

    type Foo interface {
      Foo() int
    }

    type Bar interface {
      Bar() string
    }

    type FooBar interface {
      Foo
      Bar
    }
Then functions that accept a Foo will also happily take a FooBar. Does not solve the problem of passing a FooBar[] to a function that expects Foo[] but that can be solved with generics or a simple function to convert FooBar[] to Foo[].


> If your language has bad defaults, you may have to ask for the right rounding mode explicitly.

Is the author implying Rust's default rounding behavior is a bad default? In what world is "ties to even" a GOOD default?


It's also called banker's rounding. To understand why it's a good default, you can check out https://mathematica.stackexchange.com/a/2120


The motivation for the seemingly strange rounding is that a set of numbers can be rounded before summing without biasing the sum. It has good use cases but so do all rounding modes.


In general, if some recommendation from IEEE 754 (the floating-point standard) seems strange, its because someone like William Kahan thought about it in great detail and you'd be wise to follow it.

https://en.wikipedia.org/wiki/Rounding#Rounding_half_to_even



The author mentions UUIDs are hard to copy/paste because of the hyphens.


Right, and that is a fine idea to get rid of the hypens(personally, I just triple click) - I'm talking about the next section.


The easy fix is underscores.


The example in the EnforcePlayerTurns section is kind of buggy. Make an attempt to place two Xs in a row in different cells, then place an O in a third cell - the second X you attempted to place will magically show up at the same time as that O.


I think we would all agree you have to REALLY let your guard down to accidentally open a file like that.

But you would be surprised how much you drop your defenses when you are convinced you just got an email from a friend/business partner/etc.


I know a not-incompetent technology director who bought a gift card and sent the number to a scammer, because the scammer had hacked their coworker's email address, so the request came from a legit address.


Many FPS games move the camera by listening to relative mouse movements and moving your camera a corresponding amount, while keeping your cursor hidden and in the center of the screen. Absolute movements cause different issues depending on the particular game.

I am not familiar with HID but I assume there is a way for the computer to provide feedback to the input device about the cursor’s current position. If that’s correct, it could probably be done with relative movements just fine.


That is not quite a true "slot" behavior because the containing pages have to have a reference to the main layout via `{{ define "main" }}`


You're right. But this only means that it won't be possible that you use the same template for different slots. Personally, I don't remember I ever needed that. Actually, most template engines I know work this way (https://twig.symfony.com/doc/2.x/templates.html#template-inh..., "{% block content %}"). But still, it's easy to archieve that by just creating another sub template. So your first template file is the layout, the second one contains the main block definition, and that definition you just include another sub template which can be reused elsewhere.


I have been using a catch-all for about 2 years now with great results. I hadn't thought of hashing/obfuscating the emails though. I think since I use a password manager anyway, I could just generate a random 6-8 character prefix when signing up for a new account, and since it's saved in my password manager it's easy to look up again later (no need for a true hash).


> I think since I use a password manager anyway, I could just generate a random 6-8 character prefix when signing up for a new account, and since it's saved in my password manager it's easy to look up again later (no need for a true hash).

Yeah, same. I store all the addresses in KeePass.

The main reason I don't just totally randomize them is just that there have been a few moments where I do have my salt somehow, but for whatever reason, it is either inconvenient or impossible to immediately open up the password manager and add a new entry.

In those moments, being able to deterministically generate the address and then add it at my leisure without having to double-check what I used is nice.

It also likely wouldn't happen to me, but should I ever somehow lose/lose access to both my old emails and my password manager, as long as I have my salt, I can still "remember" my email addresses for important services (e.g., PayPal or whatever) to re-generate the addresses and reset my passwords.

Whatever route you go, be it randomized addresses or hashed addresses, even though I think I am more vigilant and careful than most, it's still nice having an extra-layer to the catch-all that can't easily be targeted by someone malicious without first either somehow obtaining your salt, compromising the service, etc; it's handy being able to immediately filter and flag anything relating to my bank or whatever else if it isn't sent to the right address.


I just append 4 random characters to the email, e.g. domain.com-xy3j@myname.mail . I have to explicitly configure an alias for each of these addresses - this prevents someone from guessing a correct address for a different domain.

If Spam arrives, I can block that specific address and use different random characters to live in peace again.

Keeping the domain readable makes it easier to explain to people that they must’ve “lost” my email address somehow.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: