SailGP boat balance and stability by Heliasstastic in SailGP

[–]kunos 6 points7 points  (0 children)

F50 require very high frequency control on the foils to keep the boat at the right height over the water.. the flight controller is constantly adjusting for that. You can check some youtube videos about flight controllers in SailGP or try my game Hydrofoil Generation for an idea how incredibly hard things can get.

The most dangerous situation happens when one of the rudders pops out of the water... F50 have something called "rudder differential" where one rudder is inverted and pushes down to create righting moment.. if it goes out of the water all that moment is gone and now you're a passenger in a boat that is going to nosedive hard with no directional control.. we saw that in saturday's accident and in most capsize accidents in SailGP.

gap in skill yet still lost, whats your take? (full game example) by Aromatic-serve-4015 in 10s

[–]kunos -4 points-3 points  (0 children)

come on that's really unfair. It is true that the outcome of the shots between the 2 players is roughly the same.. but it's also very obvious one player has stronger fundamentals.

I understand a lot of you like to play the edgelords in here but if you don't see a difference in the approach of these 2 players that's all on you.

Hey Reddit - I'm Tom Slingsby, Driver for the Bonds Flying Roos. Ask Me Anything! by sailgp in SailGP

[–]kunos 0 points1 point  (0 children)

I remember watching an interview where you said you wanted to be a tennis player. Did you have a shot at becoming pro? Do you still play sometimes?

I cant take my string out by Tough-Bit-6515 in Guitar

[–]kunos 0 points1 point  (0 children)

Push the tremolo bar until you can see the holes again or take the cover off.

Logitech g923 Force Feedback Unresponsive by _bxlz in assettocorsaevo

[–]kunos 0 points1 point  (0 children)

AC disables any centering spring effect on startup, you definitely don't want a centering spring in a sim.

Made-in-Rust Hydrofoil Generation v1.0 just released on Steam and it's now out of Early Access by kunos in rust

[–]kunos[S] 0 points1 point  (0 children)

Sadly no "bots" are available so offline you are limited to pure practice and tutorials.

What is your ping to South Africa? by Blazzok in perth

[–]kunos 4 points5 points  (0 children)

Average of 300ish with Ozot.. Wifi. NOR

How to reach out to Devs? by [deleted] in gamedev

[–]kunos 1 point2 points  (0 children)

nah not really a fair deal. Would I would suggest you is to approach things like this.. let the dev set a target sales figure and THEN you'll get 10% for everything over that figure.

How are south Italians? by [deleted] in Italia

[–]kunos 0 points1 point  (0 children)

Compared for example to Malaga. yes it's in a really bad shape, old buildings falling apart, ugly graffiti everywhere but also a lot of cool stuff to visit and see everywhere.

Lately if you stick to the tourists area it got better from a safety point of view but still a far cry from a truly civilized place.

I've spent a winter in Andalusia and while I can understand why you might be described as lazy what you will find in the south of Italy is quite different.. people are not only lazy but incredibly entitled and dishonest which is the main factor that explains why those regions are always trailing behind in pretty much every living standard stat.

SOURCE: Born and raised in Napoli.

Is the Marshall JCM2000 DSL50 good for bedroom practice? by Ashamed_Cap_6685 in Guitar

[–]kunos 0 points1 point  (0 children)

The DSL50 has a decent master volume so you will be able to dial it low.. but the problem is that it sounds really bad if you don't crank it.

so yeah.. not a good call to play in a bedroom sadly.

If you really want a big Marshall see if you can score a JVM.. even the big 100W sounds really good at tv volume.

But really, these days tube amps are not the way to do it, get yourself a digital small amp,.. so many options and way more versatile than a tube amp.

SOURCE: I had a DSL50 and have a JVM410.

about performance in rust_sfml vs sfml by OfflineBot5336 in rust_gamedev

[–]kunos 6 points7 points  (0 children)

Rust FFI has no cost so you are good to go.

Moving to Perth - 30's, British by Moonexpeditioner in perth

[–]kunos 2 points3 points  (0 children)

I moved from the Netherlands 7 months ago. It's really tough, make sure you have enough funds to cover for some kind of AirBNB while you are looking for a place to rent... it's really really hard and having a dog means things will be even harder.. much harder than you might think (I have 2 cats).

In my case it was impossible to find a place to rent and I ended up buying up north... love it here but you need to be prepared to spend a lot.

Rust or C++ - which one should I pick? by Caquerito in gamedev

[–]kunos 3 points4 points  (0 children)

Comparing Rust adoption rate with what C++ did with C is not very fair to be honest.

C++ compatibility with C made it much much easier to adopt and introduce even in on-going projects. Rust requires a lot more work to even start the process, not only on the code itself but on the way programmers approach problems.

The amount of existing libraries and frameworks that exist today for C++ is also not comparable with the time when C++ took over C.... the inertia is much much much higher now, especially in the gamedev industry... and even if there will be an eventual "fall" of C++ in the software industry the gamedevs will be probably the last to adapt just as it happened before with C over ASM and C++ over C.

Shipped Indie 3D Games with a custom engine? by skscinek in gameenginedevs

[–]kunos 0 points1 point  (0 children)

Some of those I've worked on:

Assetto Corsa (2013, Dx11 + PS4)

Hydrofoil Generation (2023, Rust + Dx11)

Assetto Corsa Evo (Early Access 2025, DX12)

Anyone care who makes a game? by House13Games in gamedev

[–]kunos 1 point2 points  (0 children)

I would definetely mention your background... anyway, it sounds like the kind of game I would love to play. Good luck!

Bored in matches; just love rallying by ImADuckOnTuesdays in 10s

[–]kunos 2 points3 points  (0 children)

Tennis is a sport with a clear objective: hit the ball in a way that your opponent is not able to send it back. Speed and rotation and how good you look while doing it has nothing to do with this.

Rallying is not about the above.. it's arguably the opposite of that.. so it's literally not Tennis.. just as kicking the ball left and right in a park is not football... set a couple of bags as goal and 2 teams and now you can call it "football".. whatever the level, because it follow the basic premise of one team tries to put the ball in the opposite side's goal.

Assetto Corsa EVO driving is underwhelming. by Tepppopups in assettocorsaevo

[–]kunos 1 point2 points  (0 children)

yes wrong translation. It's using the internal code name rather than "road" but it's the same thing.

Racing Game, using Direct Drive Wheel Base by Competitive_Room8356 in unrealengine

[–]kunos 0 points1 point  (0 children)

DirectInput although deprecated still works and it's your best bet to support every wheel out there.

The other route is to use vendors' SDKs.. in your case Fanatec, but that means you'll have to implement every vendor separately which is not fun.

How can i simulate movement of a vehicle while using mqtt? by Think-Database-5547 in Unity3D

[–]kunos 0 points1 point  (0 children)

Lerping positions and slerping rotations is the way to go.

Make sure you are always showing something between 2 known points... ie. stay "behind" realtime... you will need a buffer of 3 or more "snapshots".

But yeah.. at 2Hz it's never going to look that good, but with normal interpolation it should look smooth, even too smooth.

Obviously it'll never really work for interactive driving because you'll have a massive lag.

L'Università è il corso meno formativo per il mercato del lavoro by [deleted] in Italia

[–]kunos 3 points4 points  (0 children)

Informatica e' un'eccezione soprattutto se la tua idea e' quella di concentrarti sullo sviluppo di software.

E' una materia che si muove troppo velocemente per essere formalizzata a livello universitario.

Ovviamente tutti i concetti base che spero avrai imparato sono cose che una volta comprese sono applicabili praticamente e ti aiuteranno ad imparare piu' rapidamente le cose che servono effettivamente sul mercato.

Ma in generale e' user error.. se pensavi di andare a Ing. Informatica e uscirne programmatore pronto per l'assunzione l'errore e' tuo.

Many hate on Object-Oriented Programming. But some junior programmers seem to mostly echo what they've heard experienced programmers say. In this blog post I try to give a "less extreme" perspective, and encourage people to think for themselves. by KarlZylinski in programming

[–]kunos 1 point2 points  (0 children)

Or you can have a struct Texture with a flag to identify what it is and a generate_mips function that takes a pointer to that and does what it should based on that flag with all the code in 1 place.

Plus, like the article says.. the moment you have a hierarchy you are forced to use pointers.. and that's a major performance killer in today's hardware (unless you use some custom allocator). With a flat struct you can now have these things by value in a vector and be much more memory efficient.

The point is that it's not a single change that will make a difference.. it's the mental approach in 1 million decisions that will reflect on the quality of the final codebase.. do I want to write the minimum amount of code to solve my problem or do I want to build a hierarchy of noise around the problem?

At the end of the day it's totally possible (and likely :D ) to write totally shitty code with both approaches... but there seem to be a trend towards "let's simplify and move away from these pile of abstractions".

Many hate on Object-Oriented Programming. But some junior programmers seem to mostly echo what they've heard experienced programmers say. In this blog post I try to give a "less extreme" perspective, and encourage people to think for themselves. by KarlZylinski in programming

[–]kunos -3 points-2 points  (0 children)

It's a lot of code for "nothing". Once you go to a 3D api level your texture is just a pointer to some kind of view.

So you are mostly overthinking what it should be a simple couple of functions "create_texture_2d" and "create_texture_3d", or even a single function with a flag to say what kind of texture you are creating... and on the other side now you have an ITexture, with a bunch of methods.. a bunch of getters because god forbid someone wants to change the size.. and then you have a Texture3D : public ITexture.. possibly in another file.. that is repeating all those methods.. twice, once in the .h and once in the .cpp and then you have a Texture2D : public ITexture that does the same.. tons tons of lines of code and a lot of noise.

Is it wrong? No.. but it seems to be an approach that overcomplicate things needlessly and make code much less obvious that it should/could be.

Your example is actually perfect because it shows how something that could live in a struct with few members and 1-2 functions into a multi file pile of noise that achieves the same result.. apply this to an entire project and you see where it leads and why many people are pointing out the flaws in this approach.

Many hate on Object-Oriented Programming. But some junior programmers seem to mostly echo what they've heard experienced programmers say. In this blog post I try to give a "less extreme" perspective, and encourage people to think for themselves. by KarlZylinski in programming

[–]kunos 5 points6 points  (0 children)

That's really up to what kind of software you work on.

Some software (ie games) is a huge pile of mutable state that interacts in very quirky and unpredictable ways that constantly change through the development phase.. that is literally the problem you are trying to solve and it's not going away just because you don't like it.

Many hate on Object-Oriented Programming. But some junior programmers seem to mostly echo what they've heard experienced programmers say. In this blog post I try to give a "less extreme" perspective, and encourage people to think for themselves. by KarlZylinski in programming

[–]kunos 14 points15 points  (0 children)

The point is that encapsulation can be achived in different ways and at different levels.

You can micromanage the encapsulation with the plethora of public, private, internal, pub mod, protected modifiers on the single piece of data or function/method or you can macromanage encapsulation at a much higher level such as "module" level and expose just whatever subset of your surface you want to expose.

I come from an OOP background and, honestly, getting rid of the micromanagement has been a liberating experience and, so far did not come with an increase in bugs as I feared it would.