I'm glad you are enjoying it!!!
I'm glad you are enjoying it!!!
True that.
Stretching and squashing animations really look good on fast-moving characters.
Yeah, FAB has its kinks to iron out, but think about the artists who now get zero sales. We shouldn't punish them for the platform change they had zero control over.
Consider pass-by-value instead of reference if the function requires a copy of its argument. This is conceptually identical to taking a reference to const plus doing a copy, and it can help the compiler to better optimize away temporaries.
Using an object-oriented language like C++, we often forget the power of free functions. They elegantly separate concerns, reduce dependencies, and fulfill the Single-Responsibility Principle.
"What do you want for your last meal" sounds really ominous if you leave out "of the year"
Nice, lol
Unreal Engine has its own version of many std library utilities. For instance std::accumulate exists in the form Algo::Accumulate. Syntax isn't always 1:1.
Before naming it C++, Stroustrup was going to call it "C with Classes" lol
Bjarne Stroustrup knew 25 languages when he invented C++.
Game: This weapon is far superior to your current weapon.
Me: But itβs ugly and doesnβt match. How can I possibly slay my enemies if I canβt slay the outfit?
If you lie to the compiler, it will get its revenge. --Henry Spencer
Even though insertion is linear-time for the vector and constant-time for the list, vector usually outperforms list when containers are small.
It is a common fallacy to use list just because "list is obviously the right type for list operations," such as insertion into the middle of a sequence. Using vector for small lists is almost always superior to using list.
It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free. --Steve McConnell
Your quote here.
--Bjarne Stroustrup
Remember: it's far, far easier to make a correct program fast than it is to make a fast program correct.
Don't write namespace usings in a header or before an include. Using namespaces is for your convenience - but should not affect someone else's code - be it code that includes your header, or other headers included after the using.
Systems have sub-systems and sub-systems have sub-systems and so on ad infinitum - which is why we're always starting over. -Alan Perlis
A funny excerpt from Large-Scale C++, Volume 1 by John Lakos
I fail to see why a Flettened Green Toaster Toothbrush with Flag could ever be less than desirable.
Avoid calling virtual functions in constructors/destructors. A parent class's constructor's call to a virtual function will not call the most-derived override as the most-derived child hasn't even been constructed yet.
Games are made of systems - those systems are made of parts which themselves are little systems of a lower order in the hierarchy. When the hierarchy has multiple levels, we call it "depth." It can be rewarding to make game systems that are deep.
Marvel Rivals is a clone of Overwatch and I love it
I hope you enjoy it!!!
I recommend at least taking the UE5 Ultimate course first - that's it! This one does not require you to take the multiplayer or the GAS course first - the topics are all different.
My new course on UE5 Dedicated Servers is a hit - we have a 5/5 star review! I have created another coupon for the next 5 days - $9.99 - get it now if you missed the last one!
www.udemy.com/course/unrea...
Just because a pointer isn't null doesn't mean it is safe.
On the other hand, some code can be performance-critical and must be optimized - in these cases, descriptive comments should explain the presence of obscure or esoteric techniques.
Clearer code is better code. If your cute semantic trick results in the most miniscule of microoptimizations, yet renders the code harder to read and understand, it is worse code. Period.