szastupov
Joined 11 years ago
Joined 11 years ago
It was still asm.js but working just fine.
Senior/Lead software engineer, full stack
Portfolio: https://stepan.xyz/projects
Email: [email protected]
A few month ago I decided to start fresh and removed all pirated DAWs, plugins, purchased Lite version and started learning it in and out. I was surprised how far you can go with just sampling. It was so much fun discovering new sample packs, chopping and remixing songs, trying to make tonal instruments out of weird noises. I've also realized how many popular songs use sampling (for example https://www.youtube.com/watch?v=eU5Dn-WaElI). So yeah, setting creative constraints is important ;)
I'm at the point when I'm super at home using Ableton and ready to spend more money on Suit, but holding hopes for black Friday discounts.
Also, shameless plug https://soundcloud.com/myprivateparadise
The problem is that it's an artificial example, in reality you'll ave a lot of different monsters, weapons, and most importantly separate subsystems. I.e. physics processed in one pass, animation in another, same goes for custom logic and rendering.
Modern game engines use component systems that put data first for the same reasons author described in the post.
And it's not just about getting MVPs out. For example, I had to make a few audio-processing algorithms, and in order to help myself understand and debug those, I build a simple web app to visualize each step of effects chain. Oh, and with hot module reloading, I can record a sample, then change the code and see updated results without losing the sample. Bret Victor level of productivity ;)
Oh, and after some bundling and transpiling (if necessary), I can run the same code in browsers, node.js and mobile (we're actually using jscore directly)!
I had major productivity boosts after switching from a nerdy tool, to a more mainstream one:
Linux -> Mac
Vim -> Emacs -> Sublime -> Vscode
Gdocs/OpenOffice/iWork -> MS Office
etc...
I would take an hour of live coding any time over a take-home task that is one hour only on paper and takes you three in reality.
Engineering is collaboration, and it's fair to expect candidates to talk, solve problems, and explain their solutions.
Where we could do better as an industry is the type of problems we give to people. I'm not a fan of LeetCode-style questions, especially when multiple ones are asked. Something closer to Earth would be better. But even if you have to ask something algorithmical, I'd prefer the style of "Advent of Code" exercises where the same problem has variations and multiple levels of complexity.