I actually had to implement this myself for a project, literally few days ago.
I had almost 0 knowledge of how audio files work or how the Web Audio API works. The implementation is very barebones, not very flexible, and has no error handling. But hey, if someone will find it useful regardless, here is how I did it:
https://gist.github.com/2Pacalypse-/241c37adfff127bd5c66f3e2...
One less talked about thing when discussing StarCraft, that might be more pertinent to HN audience, is that this game was almost endlessly hackable. And I mean that in the truest sense of that word. Many a careers were launched by playing around with OllyDbg and learning to reverse engineer code all so you could create an awesome plugin [0] for the community.
Which brings me to my next point, which is that the community aspect of StarCraft is a huge part of why it remained popular for so long. As previously mentioned, there were hackers and programmers developing awesome tools that helped the scene, but also there were map makers which were essential in keeping the game balanced. One little known fact about StarCraft is that the last balance patch released by Blizzard was in 2001, at the early beginnings of the pro scene. After that, the game was kept fresh and balanced by community map makers.
Combine that with people who created websites where you could follow news about Korean pro scene (TeamLiquid has its roots here), talk with other people about StarCraft, and other people who organized tournaments and did everything else; and you get a formula which almost ensures the longetivity of the game. I wouldn't be surprised if there are people playing and following this game in 20 years time. I know I'll be one of them.
It's a project that few of us started almost a decade ago to ensure the longevity of this game. We don't try to emulate Battle.net at all, but instead we take only the gameplay itself and reimplement everything else ourselves.
It's a work in progress, so please let us know what you'd like to see in there that's currently missing if you do check it out.
No, but more seriously, I've found that familiarity with the codebase is more important than having it be perfectly engineered. Once you're really familiar with the codebase, you know where dragons be, and you can make changes more easily. And God (PM) forbid, if you ever find yourself with some extra free time you might even reduce the size of dragons over time.
This brings me to my final point. Any codebase that I really enjoyed working with was the one that was constantly evolving. I don't mean rewriting everything from scratch every few months, but as long as I have permission (and time) to refactor the things that have been bothering me for months as patterns emerge, I'm a happy bee.
Isn't this only true if there is no physical infinity? I know it's-turtles-all-the-way-down is impossible for our brains to comprehend, but causality breaks down when infinities are involved. Another thing is that if space-and-time itself was born at some point (as they say), then talking about "before" and causality doesn't make any sense either.
But yeah, to your point, thinking that there was never "nothing", and that there always was "something" is equally mindblowing.
That is closer, but it's also not exactly correct. Now that I think about it, I don't think the English language has any sound where the letter "c" is used as it's pronounced in Croatian language. For example, the word "points" has the "ts" sound which is phonetically closest to the letter "c", but the the letter "c" is much sharper and shorter.
Edit: just as I wrote that, a word popped into my head which has almost the same "c" sound: Pizza. The "zz" sound, if you can call it that, is closer to the "c" letter phonetically than "ts". So Rimac would be pronounced something like Reemazz.
More seriously, I've been listening a lot to the mainstream pop songs on the radio during my car commute, and I don't know which carefully crafted formulas and laboratories those songs come from, but they're in sync with what my brain perceives as "good music" quite incredibly.
Not only they can sue you, but they can make your life a living hell if you choose to fight them back. See one of the most famous examples: http://nissan.com/
While not that unexpected, I'm curious to see if this will start a trend that other game publishers might follow. I'm mainly curious about when Blizzard will deem the cost-benefit analysis to swing in favor of shutting down their old battle.net service which hosts games like StarCraft 1, Diablo 2, and WarCraft 3.
For StarCraft 1 specifically (and its Remastered version), a few us have been building a custom server/launcher[0] which should at least ensure that the game/community doesn't completely die out. However, we still rely on Blizzard's online services to verify the in-game purchases, like HD graphics (the game will automatically stop rendering the HD graphics if you didn't log into Blizzard's services in the last 30 days).
It remains to be seen how this will be handled by Blizzard if (when?) the time comes.
From my perspective as a software engineer there have been none.
At this point, doing everyone on GitHub itself is a very viable strategy to me, but I know that will never fly with people who obsess over story points and time estimates.
Yeah, I hated this too. I've been using the 7+ Taskbar Tweaker program[0] to change this behaviour and I honestly couldn't imagine using Windows without it at this point.
What a delightful article. Just enough humour interspersed to make it enjoyable to read without going on long tangents to make it annoying. And as someone who has very limited knowledge of this stuff, I feel like I've actually learned something!
The video[0] at the end of the article was also very beautiful and concise. I wish more scientific writing was done in this way.
In the meantime, I have this impelemented in TypeScript in case anyone else will find it useful: https://github.com/ShieldBattery/node-interval-tree