Details
-
AboutAngry, opinionated. (js stinks). Touched almost everything CS. Master of none. Always on the learn.
Joined devRant on 11/9/2020
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
What feels out of place to me in that sentence is Ubuntu really xd
-
@Demolishun
If you presented me with a fucking coronita, I'd say fuck too.
Shit is like Mexican piss. -
Recovering from arriving home at 6 AM. Not quite there yet.
-
@TeachMeCode
If it happens often, it means that the place you store them in ain't as dry and not sunny as you thought.
I mean, I've had potatoes last for like, one year. -
Easy.
Any decent company would have tried Internal promotion, and found it was a dead end because devs don't want to "promote" into management.
So things happen. If none of us are willing to take the mantle, then we really can't righteously complain about suits doing suits stuff. -
Potatoes having black spots is usually due to humidity. Same with carrots. Once you peel them, they are usually just fine.
-
Also, all the Pokemon games are symbols of heteropatriarchate.
How can they be allowed to offer these "starter Pokemon" jobs, you know, one of the most valued, with a fucking 75% employment rate for males only?.
They should be fucking cancelled, I say! 😡 -
Your system is broken as fuck.
Arguably the most important system in DnD combat is action economy, which you are allowing even up to 12 actions in a turn, which is pure bullshit.
If you don't want the fuckery of DnD 5, you can always play something like Pathfinder which cuts down much of that by virtue of hardly ever letting you level past 6. -
@Demolishun
"Standard" skeletons, as if, you making a barely "humanoid" rig fits for retargeting.
Cool thing is that you can actually get UE to output your retargeted rigs without actually having to use UE. -
@Demolishun
Well, as you yourself admitted, you are not too battle hardened in this.
Implementing a retargeting system is a looooong path full of many pitfalls.
I mean, I've tried, without success (at least to the point I'd call success), and I'm a veteran in this field.
So, if you feel like it, absolutely go for it, just saying that beware, the undersea currents are dangerous XD. -
I actually did a project for my last company, where we had to use these heavyweight, super customizable rigs we had in a web GL app which of course doesn't have multithreading to load in background.
I had to set up a service that would receive a .fbx/.obj, and a json with "static" (as in, no longer changed after character creation) blendshape values and it would fire up blender programmatically, load the model, precalculate the vertex values for the blendshapes, fix those values, and remove the blendshape data from the model, and then return an asset that could be saved for that player.
Shit allowed us to raise the limit of concurrent players from 8 to 50. -
@Demolishun
Like everything, it depends on resources. Greatly customizable humanoid models with blend shapes exist, but it's an explosive combination soon enough...
That's why you don't see cyberpunk or elden ring rigs out there.
Probably took them months of several animators and modelers to get right.
As for other semi humanoid creatures, both unity and UE have animation retargeting, meaning you can use their preset (or any other humanoid animation) with any (semi-)humanoid rig with only a few clicks. -
As long as he's getting the help he clearly needed, all good by my book.
-
Just in case, your mom.
Or cyka blyat, whatever you prefer. -
@Demolishun
Very true. All hail the Cessiah. -
@Demolishun
Nah, C is Jesus, and it died for our sins. C++ is God, and rust can be the holy ghost I guess.
In any case, they are all almost the same. -
So embrace our Lord and saviour C++ and go bare metal all you want!
-
**innovation**
-
Can't really benchmark just running stuff once anyway. There are oh so many external factors that could skew results...
But in any case, if performance was ever a target, JS was never the right choice to begin with. -
@Nmeri17
Well, I still don't get what exactly are you risking. You take out the HDD on the good PC, put in yours.
Their data is safe in their own HDD, and you operate with yours (where do you think drivers are saved, if not in your own HDD?).
Once you are done, you take your HDD out, put the original back in, and the PC will not even notice anything was done at all.
And what kind of engineer says that the only way to substitute a HDD is wiping both?
You can fucking Hot swap nonprimary disks nowadays. Primaries only require that you reboot. -
Just move the drive to the better PC.
If you have a newer windows (7 and above) it will likely bitch about drivers (expected), or force you to run in safe mode. In either case, substitute drivers as needed and you should be good to go. -
Understand them. Openai is more or less owned by Microsoft.
Bing has to try to be its own but it's (like all other 99% of shit), chatgpt. -
@Lensflare
It's the burden of C++.
In order to maintain ABI compatibility, they must keep many things that shouldn't be used nowadays, that's why more and more things move towards the STL with each new standard.
(And the STL implementations are behemoths of buried brilliance) -
@Demolishun
Game engines tend to use custom allocators, particularly in ECS systems to ensure all entities of a given type are allocated next to each other, to promote cache locality, and to prevent actual allocations (which are mighty slow) mainly. -
@Demolishun
You know, I do think that if C++ hid all its implicit C compatibilities (C casts, cstdlib, raw pointers...) under the very explicit 'extern "C"' blocks and renamed 'extern "C"' to something like, I dunno, "unsafe", things like rust would have never seen the light of day XD. -
All in all, the bottom line is *know what you are doing*.
Even if you run with a language provided safety net, your code will always be better if you know what you are doing, and being able to go elbow deep in these things is just another tool in your belt.
As I always say, learning to drive with a MT lets you drive an AT later. The other way around... Heaps of fun... And flaming metal.
Examples of usefulness of this kind of knowledge come in stuff like small string optimization and other such compiler/STL tricks that give C++ the same speed as C while actually being safe if you aren't a dumbass, but yeah, they are aimed to be transparent to your everyday dev. -
@Lensflare
Not really. All you gotta know it's that if you want an array-like container, use std::vector, and if you need a pointer to something just use std::shared/unique/weak_ptr (depending on how you wanna deal with ownership) and call it a day.
Modern C++ devs should never use new/delete.
It just so happens that many C++ devs didn't get past the "C" part XD. -
And as always, when we are in UBland, *pray* that you get a crash, cuz that's best case scenario :).
What exactly happens in this scenario is very ID, but from what I know of most STLs, default allocator is just operator new, in which case, the whole vector storage would be freed, but should you do it in say, data() + 2, chaos will ensue.
Moral of the story: Fun academic discussion, but do not try this at home! -
@azuredivay
So, by all means, do.
Some misconceptions need clearing up first, though.
Bear in mind much of this stuff is implementation dependent, and when so, I'll mark it with (ID).
Is vector a sequential block of memory? No. A vector has a stack part (usually three pointers, ID), and an allocation in the heap for its contents.
Does delete set the deleted pointer to null? No. For all it cares, it *could*, but it's (ID) and most don't. You also have the aliasing problem to contend with.
data() returns a pointer to the beginning of the heap allocated storage, but how this storage is allocated is (ID), and can even be custom if you have a custom allocator!.
malloc/free, new/delete and new[]/delete[] each do their own (ID) bookkeeping, and mixing them is undefined behaviour.
Double deletion, which would happen when the vector went out of scope, is undefined behaviour. -
@Demolishun
When dealing with C libraries it's often simple to just wrap the desired create/destroy pairs into a RAII class, forward any other functions needed, and go ham with smart pointers.