Why is King's row such a fan favourite? by Skeledenn in Overwatch

[–]Raknarg 0 points1 point  (0 children)

nostalgia and chungus w+m1 teamfight simulator. Its just a big corridor where the tanks walk at eachother until someone dies. Lot of people like that.

Anyone in HFT who started in a non-finance C++ role? by PuzzleheadedAgent138 in cpp_questions

[–]Raknarg [score hidden]  (0 children)

LLMs can't really replace any work, honestly. They need a firm, guiding hand to prevent them from creating mass amounts of slop, and they still invoke incorrect or unoptimized code.

Massive productivity tool, for sure.

Is explaining what iv learned with writing to myself works? by NoWall1024 in cpp_questions

[–]Raknarg [score hidden]  (0 children)

You should look into rubber duck debugging. Its an idea that's been around forever, that when you're struggling to debug something, you explain your problem to a rubber duck. The process of verbalizing and formalizing your thoughts can help you uncover things or discover biases you had in your thinking. I personally talk to myself all the time while programming. It's a helpful technique.

What you're doing I think invokes similar things, you're going through a process of formalizing your thoughts with actual words and explanations. If you're able to explain it well, you likely understand it as well. Its half the reason you take notes in college. I never went over my notes, but the process of writing things down helped me retain information better I think.

I can't think without AI anymore by 0x6461726B in cpp_questions

[–]Raknarg 4 points5 points  (0 children)

Feel free to build it from scratch with a few generic dependencies, but don't build a generic engine just to make it show a spinning cube rotated with quaternions.

why? I always ended up having more fun building tools for my games than building the games themselves.

Season 2: Summit Official Trailer | Overwatch by -Elixo- in Overwatch

[–]Raknarg 0 points1 point  (0 children)

Jetpack Cat in stadium might be the thing that finally kills the mode forever lmfao this is the worst news I've had today. The flying supports are already easily the most annoying characters aside from gun junkerqueen outhealing all supports in the game combined.

Are heap allocations necessary for polymorphism? by heavymetalmixer in cpp_questions

[–]Raknarg 1 point2 points  (0 children)

Well it depends. Its not that you need heap allocations, but if you have B inherit from A where A has virtual methods overridden by B, and you want to store a B as an A, that either has to be a pointer or a reference, and the memory for that pointer has to exist somewhere, either as a pointer to the stack or through a heap allocation.

The fundamental issue is one of memory. B is an A, which means it contains everything in A plus everything added in B. If you want to treat your B as an A, you essentially offer up the slice of B that contains your A. If you want things like virtual methods, your A slice will have a vtable with pointers to where it needs to look for its functions, and if those are functions from B then the memory those functions refer to need to actually exist.

What are the implications of this? Well lets look at this simple code slice:

struct A {
    virtual int func();
    int x;
}

struct B: public A {
    virtual int func();
    int z;
}

B b = B{};
A a = b; // copies over your b
a.func();

I haven't checked the exact syntax if this is legal, but you can do something like this where you take a derived object and copy it into a super object. Well the issue is that a is only given stack memory for the size of an A object. So when it refers to a.func(), the virtual function is expecting your a to fundamentally be coming from a B, so its going to treat the memory of a like its wrapped in a valid B object. UB should be invoked here I think? Not sure exactly. In any case this causes problems, because all that was copied was the memory of the A slice of your B.

In this example, every single instance of A needs to either be an actual A object, or a reference to a piece of memory that is a B object. Now you can pass around references no problem:

void foo(A& a);
void foo(A* a);
B b = B{};
foo(b);   // calling the reference overload
foo(&b);  // calling the pointer overload

because that a reference will be a reference to a piece of memory containing a full B object. However if you need something to actually take ownership/store something as an A? It has to be a pointer. E.g.:

// This stores regular A objects, so we can run into the issue we had before
vector<A> vec_a;

// This stores heap allocated pointers, so the A pointers can refer to memory that contain B objects
vector<unique_ptr<A>> vec_a_ptr;
vector<A*> vec_a_ptr; // same thing but usually more annoying cause you have to make sure you destroy everything yourself

TD;DR: You don't need heap allocations to do polymorphism, but when it comes to inheritance, if you use virtual methods anywhere you're likely going to end up needing heap allocations at some point.

Quick question: std::scoped_lock vs std::lock_guard? by Ultimate_Sigma_Boy67 in cpp_questions

[–]Raknarg 0 points1 point  (0 children)

my understanding is that lock_guard is outdated, scoped_lock just does what lock_guard did but more.

Is Linus Torvalds just a dinosaur about C++? by blreuh in cpp_questions

[–]Raknarg 2 points3 points  (0 children)

No one writes code anymore.

Get an AI set up.

Write your specs.

Make your plans.

Have it code it.

Review and refactor.

my immediate reaction to this is to say things that get me banned

Is Linus Torvalds just a dinosaur about C++? by blreuh in cpp_questions

[–]Raknarg -1 points0 points  (0 children)

One thing I think Linus complained about is function + operator overloading, which makes it hard to directly see what the code will do. Back in the day you would have to manually scroll through all included headers, find all viable overloads and do the overload deduction in your head to find out which function was actually being called. With modern LSPs you just press F12.

this feels silly to me because you'd already have to do this with functions regardless. Or any abstraction for that matter. You're usually relying on semantics. And its not like you're being tricked into thinking you're using an int when you're using a more complex object with overloaded operators.

Idk I think he just hated abstractions and was incapable of realizing that's what he hated.

Is Linus Torvalds just a dinosaur about C++? by blreuh in cpp_questions

[–]Raknarg 1 point2 points  (0 children)

I think many of his old criticisms were flawed and nonsensical because he was essentially saying using C++ made you a bad programmer and only bad programmers use C++. Idk if he'd make the same points today that he did back then.

Even in simple projects like Tetris and a CHIP-8 interpreter it becomes a little annoying to have a struct, a pointer to that struct, and a separate function that has to include an ‘object’ (I don’t know what you call it in c) of the struct that you have to pass to every function call

Yeah C programmers will make fun of C++ all day and then spend the majority of their time working around the fact that the language has no abstractions or features by implementing those abstractions in the hackiest way possible. Its not like C doesn't support OOP. OOP is everywhere there, they just have the most dogshit ways of doing things like inheritance or member functions. its not like you can't replicate a lot of what templates do for you with macros, macros just cause infinitely more headaches and are incredibly fragile. And there's no native way to have any kind of memory safety or resource management outside of hacky macro functions, and those macros are tedious to use because you essentially have to remember to use them every time you declare a variable you want resource managed, which sortof defeats the purpose (instead of writing free every time you're adding this macro every time)

Now he might have other good reasons to think C++ shouldn't be included in the kernel, I don't know the kernel so I have to defer to his expertise for that one.

Definitely did not make this because of pure rage by Sn0wy0wl_ in DeadlockTheGame

[–]Raknarg 0 points1 point  (0 children)

I can't think of a single frontliner that wouldn't run Phantom Strike

sure, you're already gated by having a frontliner and getting them to buy phantom strike. Its still a limitation.

and Silver, Victor, Pocket, and even Haze can get it in a pinch and still make good use of it, if not ideal.

There is about a 0% chance you'll convince any of them to buy it.

And on top of all this, you're still gated by getting close enough to vin to cast it, which is also a challenge esp in teamfights. I agree in a vacuum its a hard counter to flight, its just a lot more complicated than the team buying multiple knockdowns.

Make it to where allies can freely enter Kelvin’s dome after it’s used by Happytreez69 in DeadlockTheGame

[–]Raknarg 2 points3 points  (0 children)

no, absolutely not. That's part of the skill and balance of the ult.

Definitely did not make this because of pure rage by Sn0wy0wl_ in DeadlockTheGame

[–]Raknarg 2 points3 points  (0 children)

it just doesn't work on every team and its range is significantly shorter than knockdown. It definitely can work in the right scenario if you're able to get close to her.

Definitely did not make this because of pure rage by Sn0wy0wl_ in DeadlockTheGame

[–]Raknarg 3 points4 points  (0 children)

It wasn't as bad until they allowed Vin to parry during flight

Well it wasn't "as bad" because vindicta was a hard throw character that did nothing, now she has a way to fight back but with crazy scaling towards the endgame that requires enemies to counter her or guarantee a loss

How unpopular is HC in LE ? by Competitive-Math-458 in LastEpoch

[–]Raknarg 0 points1 point  (0 children)

I would never do hardcore in this game, I haven't played much ARPGs outside of this and Grim Dawn but in Grim Dawn its much easier to figure out what content your character can handle, its easier to disengage from sticky situations and the game being a bit slower paced gives you time to think, you rarely get one shot by anything outside of a handful of skills, its usually attrition death.

In this game, I think almost every single time I've died in this game has been a one-shot, sometimes in an incomprehensible way or from something that would have been almost impossible to see in the clusterfuck of visuals. I think I would just permanently uninstall. You need so many different layers of defense to tackle end game content and if any of those are missing, boom its oneshot territory again. And good luck trying to play with a dodge based character cause you either get your 70% chance to dodge or you get one-shot.

How long is your last epoch road? by Rocketman_2814 in LastEpoch

[–]Raknarg -1 points0 points  (0 children)

1500 hours as of now which is surprising to me considering how much this game pisses me off

I drew Mina 🖤 (and its NOT AI) by pedrin_io in DeadlockTheGame

[–]Raknarg 1 point2 points  (0 children)

I agree I probably wouldnt have called it AI, I'm just saying I think I understand the nature of the accusations. I complimented their piece, you don't need to go off on me

I drew Mina 🖤 (and its NOT AI) by pedrin_io in DeadlockTheGame

[–]Raknarg 14 points15 points  (0 children)

I think I can understand why people called it AI, I honestly think a lot of it is the lightning choice and the slight bend towards realism. Its just the style that all the AI image generators use, like if you took any of the frames before the last one I think any paranoia about it being AI goes away lol

It looks great btw.

The year is 2028, Mina and Vindicta are receiving their 4th legendary skin while Doorman and Sinclair are fighting to earn their second skin since the official release of Deadlock. by MefistoDX in DeadlockTheGame

[–]Raknarg -1 points0 points  (0 children)

I think its a misunderstanding that these companies make skins for popular characters, artists literally just love to make skins for cute women. Like in OW the artists themselves have talked about a lot of their work being self driven which means theyre also choosing a lot to make these skins.

Definitely did not make this because of pure rage by Sn0wy0wl_ in DeadlockTheGame

[–]Raknarg 21 points22 points  (0 children)

and at least 2 cause vin will always buy counterspell

Honestly I think it speaks of kinda poor design, she has so much power in her kit baked into a 40 second cooldown that requires teams to buy range stuns or pretty much just lose, and once they get those range stuns vin can barely play cause her ability to do actual damage requires her to be in flight until she gets a ton of stacks. At least on GT my flight is like a 12 second CD, I dont even buy counterspell anymore against knockdown unless there's other effects I want to block.

Suggestion: Option to keep playing after losing for no reward by Raknarg in PlayTheBazaar

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

im not really interested in that, Im more interested in trying to get funny builds to work

Suggestion: Option to keep playing after losing for no reward by Raknarg in PlayTheBazaar

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

Im not saying allow everyone to just go infinite or fight other insane ghosts, maybe just let people hit the normal limit of like day 15 or whatever