superrad | 3 months ago | on: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor
superrad's comments
superrad | 3 months ago | on: Kaiju – General purpose 3D/2D game engine in Go and Vulkan with built in editor
Game development is full of domain knowledge like this because games need to make compromises ensure completing simulation updates at no lower than 30Hz.
superrad | 11 months ago | on: Migrating away from Rust
Even without the incremental GC it's manageable and it's just part of optimising the game. It depends on the game but you can often get down to 0 allocations per frame by making using of pooling and no alloc APIs in the engine.
You also have the tools to pause GC so if you're down to a low amount of allocation you can just disable the GC during latency sensitive gameplay and re-enable and collect on loading/pause or other blocking screens.
Obviously its more work than not having to deal with these issues but for game developers its probably a more familiar topic than working with the borrow checker and critically allows for quicker iteration and prototyping.
Finding the fun and time to market are top priority for games development.
superrad | 1 year ago | on: Andy Warhol's lost Amiga art found
superrad | 2 years ago | on: Plastic bag bans work
I get that it's less conventient to have to remember a bag but it's not some insurmountable task and it does seem to reduce the amount of plastic bags that get caught by the wind and blow around as trash.
superrad | 3 years ago | on: We Burned Down Players’ Houses in Ultima Online
superrad | 4 years ago | on: Lets talk about how NFTs are a giant scam
For things like ship preorders on Star Citizen it's much more of a risk that the value will ever be delivered but it's still offers more than just a note of ownership of an abstract token on a blockchain sequence.
If someone decides to honor these tokens as proof of ownership of property/items in the real world/ a virtual world then they may offer some value but there's a very great risk that will never happen.
superrad | 4 years ago | on: I had to give a wrong answer to get the job (2017)
For your other points if you'd mentioned them in the interview you'd probably have been better received. Copying is really only that fast for POD objects (your objects copy constructors may need to do reallocation themselves or worse) so if you're suggesting a general solution you should be aware of that (or at least mention move constructors if they were available at the time) .
I would be surprised if any of the games you worked on actually shipped with an amortised resize of dynamic arrays (at least not for anything that didn't matter in the first place) so I don't know why you'd suggest it as a general solution in a game dev context.
superrad | 4 years ago | on: I had to give a wrong answer to get the job (2017)
There's also the cost of copying objects especially if you don't know if the objects you're copying from your original array to the resized array have an overloaded copy constructor. Why copy these objects and incur that cost if you can choose a datastructure that meets their requirements without this behaviour.
If you're holding pointers to these elements elsewhere re-allocating invalids those, and yes you probably shouldn't do that but games generally are trying to get the most performance from fixed hardware so shortcuts this will be taken, its a least something to talk about in the interview.
I can see why they were confused by your answer as its really not suited to the constraints of games and the systems they run on.
superrad | 5 years ago | on: A 1000-processor chip powered by an AA battery (2016)
superrad | 5 years ago | on: New Transistor Structures At 3nm/2nm
If your chip is too large it can even make it practically impossible to manufacture at scale due to the increased chance of defects as your chip size increases.
superrad | 5 years ago | on: TV detector vans once prowled the streets of England
They surely can't get too much of a return paying people to check up on only potential licence 'evaders' so investing in a fleet of actual vans with drivers and operators would further reduce any return.
superrad | 5 years ago | on: I Bought Apple Silicon
superrad | 5 years ago | on: Facebook iOS SDK Remotely Crashing Spotify, TikTok, Pinterest, Winno and More
superrad | 7 years ago | on: Image optimization decreased website's page weight by 62%
superrad | 7 years ago | on: Migrating from Jekyll to Hugo
superrad | 8 years ago | on: Proton Native – React Native for the desktop
superrad | 8 years ago | on: Go's New Brand
superrad | 8 years ago | on: Email is your electronic memory
superrad | 8 years ago | on: Is beaming down in Star Trek a death sentence?
The tutorial probably should have instructed you create box colliders for walls (giving a greater area for the physics engine to catch collisions) rather than a simple plane/quad which would lead to the exact issues you had, or at least explained why a box works better than a plane.
I guess you have to balance the necessary information with overload in your tutorial or at least have an aside or additional reading that really helps understand many of these internalized understandings.