For this example, I feel that it is actually fairly ergonomic in languages that have an Option
type (like Rust), which can either be Some
value or no value (None
), and don't normally have null
as a concept. It normalizes explicitly dealing with the None instead of having null
or hidden empty strings and such.
HER0
Remote Wayland, no, as it isn't network transparent like X11 is. You can still do remote desktops, though, usually with RDP or VNC. On the popular modern toolkits, this works out about the same, since drawing applications through X11 is not so common anymore.
Personally, the main thing keeping me on Xorg is support for global keybinds. Plasma and GNOME both have support for the XDG portal which mostly addresses this, but apps still needs to adopt it. Plasma also has a workaround for global keybindings, but I don't use that. Sway doesn't have any good solutions for this last time I checked.
Overall, I like Wayland more but I need support for global keybindings for at least a couple programs I regularly use.
That is a massive nerf, but I don't think it'll stop me from picking it.
Does the Mass Effect 3 multiplayer count, then? There are RPG elements, there are a bunch of playable women, and it is all about stomping hordes.
If this sounds appealing and you aren't already aware: this is not available in the remaster. Andromeda has a version of this, too.
Arma is an interesting example. I'd say that it is only an open world game in some scenarios, and often times is a linear game that happens to have a big map and sandbox.
In any case, I'd agree that it having a large world with many possibilities is important for the gameplay and ability to mod/create content across the maps.
I personally use Matrix for text and Mumble for voice, but most probably won't go anywhere. Discord is convenient, and most users won't care enough about some extra ads to put in the effort to migrate.
Recent conversations with friends had me playing Star Fox 64 earlier last week, which has been very nostalgic.
Over the weekend, I was surprised to have a couple friends who I thought would never want to play an Arma title show interest in playing Arma Reforger with a group of friends I play with. I got to play a bunch with one of those newly-interested friends yesterday, and was super pleased that she enjoyed it.
Sometimes I chill after work by driving around the Nurburgring in a touring car in Automobilista 2.
Alternately, for more driving games:
- Art of Rally has a free roam mode, which is pretty chill.
- I've been playing Sledders, a snowmobile game. It is super early in early access, but it can be fun to just roam around (and learn how to drive a snowmobile).
Seems like it is just some cosmetics? Seems like many items you get by interacting with NPCs and others are somehow paid, but I haven't looked at how that works.
I see a bunch of mentions of Journey. Recently, I've been playing Sky: Children of the Light for the first time, which is made by the same devs. It is beautiful, and feels like a spiritual successor to Journey, to me. It is also free to play, so it is easy to recommend trying it out.
It is fair to have a preference for exceptions. It sounds like there may be a misunderstanding on how
Option
works.Have you used languages that didn't have
null
and hadOption
instead? If we look at Rust, you can't forget not to check it: it is impossible to get theSome
of anOption
without dealing with theNone
. You can't forget this. You can mess up in a lot of other ways, but you explicitly have to decide how to handle that potentialNone
case.If you want it to fail fast and obvious, there are ways to do this. For example you, you can use the
unwrap()
method to get the containedSome
value or panic if it isNone
,expect()
to do the same but with a custom panic message, the?
operator to get the containedSome
value or return the function withNone
, etc. Tangentially, these also work forResult
, which can beOk
orErr
.It is pretty common to use these methods in places where you always want to fail somewhere that you don't expect should have a
None
or where you don't want your code to deal with the consequences of something unexpected. You have decided this and live with the consequences, instead of it implicitly happening/you forgetting to deal with it.