The theory being that they could keep it at bay indefinitely and lower the chance of selection pressure kicking in. The thought behind their approach is that they wanted their patients to die of something different than their cancer.
That gave me a good chuckle. Yeah look, you can change your data layout to be in more of an ECS format, make some optimizations and call it a day; but in reality you're still going to be pretty far from the real thing.
I can say this because I've been working on one for some months now, of course I'm going for a production build and also to turn it into a Unity asset that's worthy of being sold, so it's going to require a lot more effort. The goal of mine is to ensure that its extremely simple to use (which Units DOTS totally fails at) while still being as efficient as possible.
Some notable things I've had to do for this project:
- I have a tool releasing on the Unity asset store (currently being vetted) that performs optimization for you, e.g. you give it a variable such as an int, a range of let's say 1..1024; then it'll automatically time your code while searching for the best sample in the range. I needed to create this for the next item, which is
- My C# Thread tool which runs managed threaded code for you. It creates no garbage so and uses the above optimizer on three different variables so as to find the best amount of threads, calls and inner loop sizes to use for your code. Because of that it can run managed code almost as fast as Burst/Jobs (whereas they use their own compiler and optimize code instead of using Mono). It can even beat Burst on small to medium workloads as long as the code inside doesn't contain some efficiency that Burst can natively fix.
- Then of course there are other things an ECS needs like pathfinding, unit collision avoidance etc. For these I have both CPU and GPU solutions since CPU only really works up to about 10k entities at a decent framerate.
So yeah, I don't recommend trying it; it's probably a total waste of time.
My paternal grandfather had some issues with his racial lineage and left home at a very early age after his dad died to join the military to fight in Korea. For whatever reason he ended up adopting a name he was not born under - his father's - and kept it a secret his whole life and didn't tell a soul. it wasn't uncovered what he had done until decades later when his mother died and his birth certificate was found in her belongings.
When trying to figure out who his dad's family was, where no one in the family really had any idea and in the past they had a lot of incentive to hide their ancestry and keep their records inaccurate/incomplete (this was during one-drop law times, where people would hide marriages and assume fake identities all the time to avoid persecution). I was stuck for months until someone mentioned using newspapers.com archive to try to see if anything came up (not a plug, this service is genuinely amazing).
Jackpot! Public records often lie, but obituaries rarely do. I was able to piece together his paternal side's relatives via obituaries (who leave surviving relative names quite often) and found his precise lineage all the way back to the 1850's and before emancipation, something that is typically quite hard to do. Could not have possibly done it without obituaries.
Networking is everything, most of my gigs have come from trusted contacts I worked with as an employee in a subsidiary (opened by a US company) in my own country.
Startups help here because people tend to move around with a trusted group of people. Every gig expands your network and builds more trust, so cracking those first few opportunities are important.
Navigating legal/contractual: I can't read minds but you're probably overthinking this before you've secured a gig. Contractually, things are similar to working with a company at home. A lot of the complexity will be on the US company's side for how they deal with the expense of dealing with the expense of you for their reporting requirements to state authorities like the IRS. This is why your network is so important, you have to be valuable enough so they're willing to pay for the friction.
Most of your friction and hassle will come from dealing with foreign income within your own country's tax authority. Get help from professionals but it's not insurmountable.
Sonic fans have been making a lot of these unofficial, enhanced, moddable PC ports using decompilation, recompilation and emulation techniques, including Sonic 1 Forever, Sonic 3 A.I.R. and recently, the Sonic Unleashed PC port. PC (including Linux) is getting to be the definitive platform for playing a lot of these older Sonic games, which is great to see.