Zykino

joined 4 months ago
[–] Zykino 1 points 5 hours ago

They are OS threads (so yes heavy).

But I think if you manage to use-after-free or other memory error in safe Rust it's a compiler bug. Or you used unsafe and have a soundness issue in the code you did.

Note : as I understand it, unsafe is a way to tell the compiler you can check its safety guarantees yourself. But you may fail and get back other languages inexistent guarantees.

[–] Zykino 1 points 5 hours ago (2 children)
  1. Is a modern language with a good build system (It's like night and day compared to CMake)

Meson exists ... as do others.

But they are not the default option. And your new job may not use them.

  1. And I just like how the language works (errors as values etc.)

Fair enough; though why? What's wrong with exceptions?

Exceptions is a non standard exit point. And by "non standard" I'm not talking about the language but about its surprise appearance not specified in the prototype. Calling double foo(); you don't know if you should try/catch it, against which exceptions, is it an internal function that may throw 10 level deep ?

By contrast fn foo() -> Result<f64, Error> in rRst tell you the function may fail. You can inspect the error type if you want to handle it. But the true power of Result in Rust (and Option) is that you have a lot of ergonomic ways to handle the bad case and you are forced to plan for it so you cannot use a bad value thinking it's good:

  • foo().unwrap() panic in case of error (see also expect)
  • foo().unwrap_or_default() to ignore the error and continue the happy path with 0.0
  • foo().unwrap_or(13.37) to use your default
  • foo()? to return with the error and let the parent handle it, maybe
[–] Zykino 3 points 1 week ago

I'm using helix with arrows. On a standard layout its not so great, but on my main keyboard I have a layer with arrow keys near hjkl. So I can use that on all software even on my BÉPO (DVORAC like) layout.

[–] Zykino 5 points 2 weeks ago

From the article's own summary.

False Load Output Prediction and Speculative Load Address Prediction allow for data leaks without malware infection

But I guess "IA summary" did its best ¯\_(ツ)_/¯

[–] Zykino 1 points 3 weeks ago

Fake, all strain to their food, not a single one crossing to its neighbor's food. /s

You have a beautiful collection :)

[–] Zykino 2 points 1 month ago (1 children)

Why should I use a sudo alternative?

[–] Zykino 2 points 1 month ago (1 children)

-g is not documented, what does it do?

Note: this made me discover topless (SFW) and its Caveat section.

[–] Zykino 1 points 1 month ago (1 children)

From your example, I have a hard time inferring what is it doing.

[–] Zykino 3 points 1 month ago (1 children)

--single-branch

[–] Zykino 1 points 1 month ago

In this capitalist word? None of my boss would have allowed that. Hopfully working on a product for the good of peoples with special needs (almost medical stuff) get employes and managers invested for their client's well-being.

[–] Zykino 1 points 1 month ago

neither strictly nor strictly typed.

I think one of them should be "strongly", but I understood your point.

Thinking back, I don't have the doc easily accessible (on phone), but I think the C API state the type you want to read. Like get_int(smt, VALUE_INDEX, …), so at least in the C API, most of this should not be visible. Maybe only the SELECT 1 = '1' part (or others comparaison fully done in the SQL string)?

[–] Zykino 3 points 1 month ago

you can use that source along with something like a hash to keep them honest and prevent them from leaving you holding the bag when shtf. (ask me how I know this works. Lol)

I did not understood that part, so if you want to elaborate I'm curious.

22
submitted 2 months ago* (last edited 2 months ago) by Zykino to c/godot
 

I have been looking for a way to move non player entities on the map. For example I want cars to move around road, a parking lot, … I found way too many options without comparaison to see pro/cons. Is there a ressource telling which option is privileged?

I saw (in 2D, but I suspect all/most have their 3D equivalent):

Option My understanding
Path2D Very rigid path to follow (only saw used with tween). Can be nice to follow tracks, insert cubes in slot, … But when trying to have a more natural movement, with a bit of variety thanks to physic I don’t see how to do it.
AStar2D (and the AStar2DGrid variant) Robust algo known everywhere. Can add weight to connections. I suspect to make it work we have to give points to reach so we should "cover" the maps with points and link them together
NavigationServer2D Same as AStar2D but experimental, more automatic. Instead of specifying all the point we specify accessible zones. But adding weight to the connection is less obvious (using NavigationObstacle2D?) may be less customizable also?

Are there more options?
Is my understanding of each correct or completely wrong?
What is "the best" one (in Godot 4.3)? Like is there big performance drawback for some (at 100 entities there are lags or whatever)?

Keep in mind that I want my game as little as I can to understand how Godot/game engines work (I’m a developer so that part is easy, Scenes and Nodes choice less so), I don’t really care if using experimental feature means it disappear at some point or change behavior.

Edit: Just found out the official page explaining the different methodes.
So AStar is for grid/pathing on a set of points while NavigationServer can navigate to any point on the accessible area and uses A* as an implementation detail.

=> I think for my use case A* is better suited since I want to move on roads (that look like a grid with weight being the length).

view more: next ›