11 ms·
Tough times on the road to Starcraft (2012)
- deleted 4y ago[deleted]
- GauntletWizard 4y agoIt's amazing how many of the pathfinding behaviors are critical to the balance and function of StarCraft. From the carrier's drone leashing behavior to the way Dragoons can get stuck and how workers float over each other but can collide at critical moments, the pathfinding code and the control over it is critical to StarCraft's high skill ceiling, while StarCraft II just has deathballs. I can't wait for the promised followup
- hackerlight 4y agoIs it still deathballs at the highest levels? I haven't kept up with the Starcraft II scene.
- ungawatkt 4y agoTeam liquids YouTube channel just dropped a bunch of SC2 TSL videos, having not watched or played since WoL it's been pretty interesting. Half the game is brand new, half is still the same. It seems like the games go faster and things are more sensitive to early mistakes/advantages than before, but there's still some good comebacks in there. It didn't feel all that death-ball, however, it feels like that's the last step in winning when you've already won. Take it with a grain of salt tho, I'm not watching particularly critically.
- littlestymaar 4y agoThe deathball was mostly a protoss thing. Since LotV late game protoss armies now have disruptors which are pretty micro intensive and aren't as deathball prone as the (retarded) collosus… Anyway, even if SC2 has its issues and by many regards can be considered inferior to broodwar from an esport perspective, saying “sc2 is just death ball” only reveals the unculture of the speaker.
- otherme123 4y agoIt was some years ago, but the current SC2 has a wide variability. E.g. the TSL8 final (https://m.youtube.com/watch?v=k0cWokKNBUQ https://m.youtube.com/watch?v=k0cWokKNBUQ) played this year was the opposite of deathballs, with rushed games decided by small errors. At the top level players should keep an eye on the other player at all times, because a lot of strategies has a very specific response or you die.
- hackerlight 4y agoDoes anyone here know the conclusion to Alpha Star? What was its winrate against actual pros that it encountered on the ladder after the APM abuse was fixed following the exhibition match with TLO? Was it ever able to beat Serral?
- otherme123 4y agoAFAIK, it beat Serral, but he said the setup wasn't optimal (not his keyboard nor his mouse). The games are in the Artosis channel (https://m.youtube.com/watch?v=nbiVbd_CEIA https://m.youtube.com/watch?v=nbiVbd_CEIA), and the comments are beginner friendly.
- icegreentea2 4y agoThey didn't run Alphastar on ladder long enough to really converge on a MMR (they also ran a bunch of different accounts in parallel and combined their results), but they projected ~6.3k Protoss, ~6k Terran and ~5.8k Zerg. With those MMR, you'd... probably not expect it to be beat Serral (7.5k MMR lmao...)
- deleted 4y ago[deleted]
- oblak 4y agoHasn't been the case for a decade in GSL. I have been following the scene since the first public beta. I actually had the chance to play a very early alpha back in 2007 at gamescom (games convention back then). Most of the units didn't even have sounds and the ones that did, used the SC1/BW files.
- icegreentea2 4y agoDepends what you mean by deathballs. SC2 generally does not encourage significantly splitting up your main army in mid-late game. So ya, main armies are still normally moving around as a single blob/body. I think every race still has enough tools to punish a-move, stacked/bunched up ground armies (lurker, baneling, widow mines, tank/liberator, psistorm, disruptor) that even if a ground army moves as a clump, there's significant pressure to quickly micro and split on contact. There was a recent-ish period where there was a lot of dissatisfaction about late-game protoss air basically being a death ball, especially against zerg. I think that has somewhat dissipated - they released a patch that made disincentivized getting to that state, but I suspect that dealing with late-game protoss air is still annoying as heck for zerg.
- pubby 4y agoFollowups: https://www.codeofhonor.com/blog/starcraft-orcs-in-space-go-down-in-flames https://www.codeofhonor.com/blog/starcraft-orcs-in-space-go-... https://www.codeofhonor.com/blog/the-starcraft-path-finding-hack https://www.codeofhonor.com/blog/the-starcraft-path-finding-...
- jwilber 4y agoCalling StarCraft II “just deathballs” is a complete misrepresentation and utterly false. Maybe Protoss in HotS/WoL (ie 5-11 years ago) but not anything now. Also drones are the Zerg’s worker unit, the things that fly out of carriers are called “interceptors” - but I agree pathing is very important in broodwar.
- myownpetard 4y agoA current SC2 pro game vs a pro game from WoL might as well be completely different games. The skill and meta development over that time is immense. It's like watching the NBA in the 1960's vs. today.
- jackblemming 4y agoBy this analogy is the skill level in sc1 like watching NBA in 2080?
- littlestymaar 4y agoYes, but with 90+ years old Le Bron and Steph Curry still dominating because all the young players decided to play hokey instead of basketball.
- jsnell 4y ago(2012), with a couple of significant discussions years ago. https://news.ycombinator.com/item?id=4491216 https://news.ycombinator.com/item?id=4491216 https://news.ycombinator.com/item?id=8938647 https://news.ycombinator.com/item?id=8938647
- metadat 4y agoSee also, related submissions: https://news.ycombinator.com/from?site=codeofhonor.com https://news.ycombinator.com/from?site=codeofhonor.com
- deleted 4y ago[deleted]
- ryandrake 4y ago> But the programming team continually worked towards shipping in only two months for the next fourteen months! Every time I hear these stories from game developers, I just shake my head and think “where the hell is the project manager?” It’s as if the whole game industry just doesn’t believe in rigorous, disciplined project management, and instead always relies on crunch time, 48 hour days and an endless supply of naive youth to burn out. Nobody benefits when you keep saying “we’re two months from shipping” for 14 months.
- xmprt 4y agoStarcraft was released in 1998. The game development industry was still pretty new and nowhere near the size it is today. Also, modern project management strategies weren't really used much back then and even if they were, they probably wouldn't be found in a gamedev studio where headcount was really tight.
- wizofaus 4y agoIs there actually solid data modern project management strategies work better than the ones from 20 odd years ago? Best run project I think I ever worked on was from the late 90s.
- mixmastamyk 4y agoPM hasn't changed much besides trending towards smaller batches, the difference is more business folks are aware there are strategies at all.
- wizofaus 4y agoThat "smaller batches" change has been pretty extreme though. My current company is on the bandwagon of being able to release new features every day, even if we have to jump through hoops and severely compromise quality to make it happen. I appreciate being able to avoid the disadvantages of 6-12 month long release cycles, but surely there's some sweet spot between daily and yearly (which almost certainly varies depending on the product and company developing it).
- denimnerd42 4y agothis is fascinating but this guy's writing style is so boastful. you just get this crazy insight into the ego of a successful person.
- netcoyote 4y agoYeah, what an ass. Oh wait, that's me! I did call it my self-aggrandizing blog at one point. In retrospect I think I mostly wrote it to vent about the pain and awfulness of crunch culture. I'll seek a therapist in future, and hope you'll forgive my trespasses.
- moonshinefe 4y agoIt didn't come across as overly boastful to me. It was very interesting, and also on a related note thanks for helping make those sweet games. Warcraft/Diablo/Starcraft blew my mind as a kid and were a huge part of my childhood, they played a major role in getting me into computers.
- roomey 4y agoA unique voice is what makes the post an interesting read. Speaking about your own achievments does not lessen my achievements. Thak you for the post I found it enjoyable.
- imron 4y agoThrough StarCraft, you were responsible for bringing countless hours of enjoyment to me and my friends, not to mention millions of others around the world. I don’t mind if you’re a little boastful. Thanks for all the fun!
- stavrus 4y agoFor what it's worth, I hope you do end up writing more posts in the future. It's easy to overlook or forget the pains and lows of projects in hindsight, especially for particularly successful ones like the ones you've worked on. Your blog posts have been some of my favorites because they don't gloss over the sacrifices required for those successes, a reality that Blizzard's historically secretive culture tended to hide a lot of. Your work more than speaks for itself, and you've definitely earned the right to be boastful of it. I was actually excited to see your blog domain pop up on HN today, only to find out it was to an old post. You have a ton of valuable insight and knowledge into games and project management and I hope that commenters like the one you replied to don't put you off from sharing that with the world.
- zoidb 4y agoFollowups: https://www.codeofhonor.com/blog/starcraft-orcs-in-space-go-down-in-flames https://www.codeofhonor.com/blog/starcraft-orcs-in-space-go-... https://www.codeofhonor.com/blog/the-starcraft-path-finding-hack https://www.codeofhonor.com/blog/the-starcraft-path-finding-...
- deleted 4y ago[deleted]
- hardware2win 4y ago>while sacrificing personal health and family life. Game dev never changes
- v-erne 4y ago>> Game dev, game dev never changes There, I corrected it for You :)
- kqr 4y ago> Since we were only “two months” from shipping, making changes to the engine for the better was regularly passed over for band-aiding existing but sub-optimal solutions, which led to many months of suffering I'm having a version of this problem right now. One of our products is not going to be sold to new customers at some point soon (but will continue to have plenty of existing customers), so it receives a small-ish budget for maintenance. A lot of people seem to believe that this means any problems should be patched over with duct tape at the cheapest possible up-front expense, even if it comes at the cost of increased complexity. I think of it the other way around: we are going to be forced to maintain whatever complexity we add to this with a very small budget, so at this point we shouldn't make any change that increases complexity. Ideally, we'd only make changes that decrease complexity! Even at higher up-front cost. But it's hard to get people to understand the logic of that. I might not be phrasing it well. It's a little like business people and developers think that most of the budget of an actively developed product goes to new development and only a small fraction is needed for maintenance, when in practise it seems to me to be the other way around.
- grecy 4y agoDuring my Software Engineering degree it was hammered into us that 20% of the cost of a Software Project comes before launch day, and the other 80% is maintenance. In my experience, I'd go 10/90.
- celdon25 4y agoWhat school was that if I may ask?
- grecy 4y agoSwinburne University in Melbourne. The degree is accredited by the Australian Institute of Engineers. (At the time, the only Soft. Eng. degree that was)
- kqr 4y agoI feel like that rule conflates two different things: initial launch and maintenance. New development (creation of new features etc) can happen past launch, and maintenance (fixing bugs in "finished" features) can happen before launch.
- alkonaut 4y agoHow do you not realize at the 10th or 11th time you are writing the insert/remove from a doubly linked list that you should be making a reusable function to to the job?
- kqr 4y agoI have seen junior developers do far worse things and consider it their job. It's easy to think that you were (in a sense) hired to type out that code over and over to realise the vision of the designer. If nobody tells you otherwise, you'll be more and more convinced of it for every time you type the code out.
- ramchip 4y agoGiven all the optimizations mentioned, I'd guess they used intrusive lists, which aren't straightforward to abstract. You'd have to use C++ templates or mess with the pre-processor to instantiate a copy of the functions for each type. Hence from the article: > Among its many features, storm contained an excellent implementation of doubly-linked lists using templates in C++.
- evouga 4y agoI mean, adding to a doubly linked list is just four lines of code and deleting is just two, right? A bit more if it’s possible for the list to become completely empty.
- desertrider12 4y agoI think the issue was more that they would copy-paste those lines from somewhere else and then forget to change one of the expressions.
- AshamedCaptain 4y agoIt's difficult to know without the context, but inserting/removing from a linked list is so simple it's probably shorter than a function call, and due to the limitations about how parameter passing works in C and many other languages, the code may even be cognitively simpler without the function call. In such a context, the only cost of not creating a function is that you make the code harder to refactor... hardly a concern for a game developer.
- TacticalCoder 4y agoI had no idea StarCraft still saved the entire game state: what a gigantic waste! I wonder if the game engine was deterministic or not (if it wasn't there was no choice for save files: you had to save the full game state if you wanted to implement a replay or continue functionality). Now Warcraft III, which came out only three years later, had a fully deterministic game engine and, for replay files, only saved players inputs. Hence the Warcraft III save file, even for entire games, were tiny. And there were several websites where you could download and replay save files from other people, including from famous matchups. Fun times: I'd exchange my best games with my brother, as email attachments IIRC. We'd then watch each other's games and make comments. IIRC Microsoft's first Age of Empire, which came out in 1997, already used a deterministic game engine so there was already an AAA title who used that technique when StarCraft came out in 1998.
- RedNifre 4y agoIt's fully deterministic, multiplayer works by only sending user input around (at a reduced tick rate) and the unit movements get calculated locally from that.
- TacticalCoder 4y ago> It's fully deterministic, multiplayer works by only sending user input around (at a reduced tick rate) and the unit movements get calculated locally from that. That's interesting. I wonder why the other poster say the replay functionality would turn into nonsense at some point. Now if the game is deterministic and multiplayer works by only sending user inputs around, why the save / continue feature wasn't implemented that way? In any case I love to read about how these games worked!
- Macha 4y agoMultiplayer requires all users are on the same version. SC2 replays also require this. SC1 may not have. Determinism would only have applied if the version used for playback was the same as that used for recording.
- 4y ago
- mysterydip 4y ago> While Blizzard’s early games had been far more successful than expected, that just raised expectations for future growth. Why does this always seem to be the case? If someone sets a world record in sprinting, we don't expect them to exceed it every year. Yet in business, if you pull a miracle in the 11th hour at your job, that becomes your new baseline next time reviews come around.
- bagacrap 4y agowe do expect humans to keep getting faster and faster for some reason, so we are expecting nutritionists and coaches to continually improve and move their baseline
- origin_path 4y agoSprinting is clearly limited by physics and biology, but for mind work it's unclear where the limits to experience and learning are. Is there such a thing as the 10x programmer? Or is it even 100x? These things are all highly debatable.
- bitwize 4y agoYeah, I ran into the class hierarchy problem in my early gamedev attempts. When I encountered this article some years ago I thought "cool, real actual professional game developers ran into the same problems I did!" My first solution involved something I called "agents" which are really just delegates. Agents could be chained, allowing a given behavior to be written just once and combined with other behaviors. These days I am fully on board the ECS train in my game work. Though it presents complexities of its own, ECS really helps manage the combinatorial explosion of state and behavior a game object may have.
- deleted 4y ago[deleted]
- rtpg 4y agoMeta: Something funny about how HN will automatically strip "Why" from headlines (garbling legit titles) and here the mod edit to a "proper" title got set to something with "why". Something to consider! Every game programming story like this makes me feel like game programmers are the most undervalued programmers out there. Loads of them have very little experience, are asked to build extremely complex systems on fast moving ground, and get paid peanuts to do it. I cannot imagine a system harder to put together than a game (maybe like... accounting software with a bunch of extra business rules?). Just so much stuff that can go wrong.
- bob1029 4y ago> maybe like... accounting software with a bunch of extra business rules? Can confirm. This is pretty nasty too. It's really tradeoffs all around. Personally, I enjoy working on custom/DIY game engine code to unwind from all the banking crap during the week. I have come to terms with the reality that my side projects will probably never be finished in any meaningful way, but at least I feel like I have total autonomy over some complex thing. Eventually, I may move back into game dev full time. For me it was never about the money. It is about doing something no one else is doing and having fun along the way. I think financial independence (not necessarily wealth) is a big part of not letting game dev consume your soul.
- robertlagrant 4y agoFirst two parts written in September 2012. That third part is only "2 minutes away" and has been for 20 years.
- darepublic 4y agoRead this before from a previous HN post. Devoured the article again, this one is a gem.
- wheelerof4te 4y agoThe graphics on a released product when compared to the original in 1996th are leagues ahead. I still love the game and would like to let my kids play it one day.
- henning 4y agoThen: "we needed to make something that kicked ass." Now: "we need to outspend on marketing and advertising and out-execute on in-game monetization."
- chmod600 4y agoGame development has an interesting relationship with software engineering. Clearly, engineering is important. But games that are too well-engineered tend to be not fun. A lot of what makes a game fun are the exceptions to fundamental assumptions/rules/constraints.
- Maro 4y agoI think this is part 3 effectively: https://www.codeofhonor.com/blog/the-starcraft-path-finding-hack https://www.codeofhonor.com/blog/the-starcraft-path-finding-...