• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:56
CET 07:56
KST 15:56
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting10[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9
Community News
2025 RSL Offline Finals Dates + Ticket Sales!9BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION1Crank Gathers Season 2: SC II Pro Teams7Merivale 8 Open - LAN - Stellar Fest3Chinese SC2 server to reopen; live all-star event in Hangzhou22
StarCraft 2
General
RotterdaM "Serral is the GOAT, and it's not close" The New Patch Killed Mech! Could we add "Avoid Matchup" Feature for rankgame Smart servos says it affects liberators as well Chinese SC2 server to reopen; live all-star event in Hangzhou
Tourneys
2025 RSL Offline Finals Dates + Ticket Sales! Crank Gathers Season 2: SC II Pro Teams Merivale 8 Open - LAN - Stellar Fest $5,000+ WardiTV 2025 Championship $3,500 WardiTV Korean Royale S4
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment
Brood War
General
[ASL20] Finals Preview: Arrival BW General Discussion BSL Season 21 BSL Team A vs Koreans - Sat-Sun 16:00 CET ASL20 Pre-season Tier List ranking!
Tourneys
[ASL20] Grand Finals BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION ASL final tickets help [ASL20] Semifinal A
Strategy
PvZ map balance Soma's 9 hatch build from ASL Game 2 Current Meta Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile General RTS Discussion Thread Nintendo Switch Thread Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread Russo-Ukrainian War Thread YouTube Thread The Chess Thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Manga] One Piece Korean Music Discussion Series you have seen recently...
Sports
Formula 1 Discussion 2024 - 2026 Football Thread MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 NBA General Discussion
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
The Benefits Of Limited Comm…
TrAiDoS
Sabrina was soooo lame on S…
Peanutsc
Our Last Hope in th…
KrillinFromwales
Certified Crazy
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1458 users

Patrick Wyatt: The StarCraft path-finding hack

Forum Index > BW General
Post a Reply
Normal
Heyoka
Profile Blog Joined March 2008
Katowice25012 Posts
Last Edited: 2013-02-20 19:08:44
February 20 2013 19:02 GMT
#1
Patrick Wyatt was a programmer of Brood War who has shared a few awesome stories about the development of the game here and here. He’s back with a third installment, this time regarding an issue we’re all extremely close to: the pathfinding AI. It gives some amusing insight into the strange behavior of ramps and why workers have no collision size, among other things.

It’s a great read as always. Go read the whole thing here.

Code of Honor

The StarCraft path-finding hack


February 20, 2013 By Patrick Wyatt

Game-unit path-finding is something that most players never notice until it doesn’t work quite right, and then that minor issue becomes a rage-inducing, end-of-the-world problem. During the development of StarCraft there were times when path-finding just didn’t work at all.

As the development of StarCraft dragged on it seemed like it would never be done: the game was always two months from launch but never seemed to get any closer to the mythical ship date. “Fortunately” — and I use that term advisedly — Blizzard had previous experience shipping games late.

While we always had launch-date “goals” (though “wishes” might be a better term) we tried not to announce publicly until there was a good chance that the game would be ready at that point. Blizzard’s “when it’s done” policy for game launch was as much an admission that no one had any idea when we would finish as it was a commitment to releasing quality products.

In any event, towards the end of the project we had a set of problems that prevented launching. Like any game in the latter stages of the development process there were defects galore that needed to be found and repaired and the bug count still numbered in the thousands.

Many of those bugs were trivial, and needed only a little attention to fix. Too bad they weren’t all like that.

Others, like a multiplayer synchronization bug, would pop up and require dedicated attention from several members of the programming team — sometimes weeks of effort for a single problem. Other game developers have reported similar experiences with their sync bugs: Ages of Empires and Supreme Commander.

Some bugs were related to the development process itself. The Protoss Carrier regularly lagged behind other units because it had its own way of doing … everything. At some point in time the code for the Carrier was branched from the main game code and had diverged beyond any hope of re-integration. Consequently any time a feature was added for other units, it had to be re-implemented for the Carrier. And any time a bug was fixed for other units, a similar bug would later be found in the Carrier code too, only more devious and difficult to fix.

But the biggest thing holding back StarCraft was unit path-finding.

It wasn’t that the path-finding was totally broken; in most cases it worked quite well. But there were enough edge-cases that the game was un-shippable.

Game units would get stuck and stop on the battlefield. Often they would go through elaborate efforts to find paths, inching forward or looping around but not making progress, and sometimes getting wedged and unable to move further. Entire task forces would get bogged down in what looked like the afternoon commute.

The problem was frustrating for players, but also made the AI weak and consequently made it impossible to balance the missions, wasting design time.

Though I was never a top-tier RTS player, before the game launched I was good at the game because I discovered that Goliaths were overpowered to make up for their poor path-finding abilities. Because they were larger than other ground units they needed wider spaces for path-finding, and so by carefully shepherding Goliaths around obstacles I was able to bring their firepower to bear in crucial situations to overcome “macro” players who would otherwise tear me to shreds. Sadly my skills only lasted a short while until the Goliaths were rebalanced. sigh

Early path-finding was rough — while there were well-chosen algorithms driving unit movement they were handicapped by some poor development decisions made during the course of the project.

***


Read the rest at Patrick's site
@RealHeyoka | ESL / DreamHack StarCraft Lead
Sayle
Profile Joined October 2010
United Kingdom3685 Posts
February 20 2013 19:06 GMT
#2
Oh man I thought this would be a thread about a new hack to give BW units good path-finding. Was hoping for Pucca vs the world in yet another thread.

This is much less entertaining :/
amazingxkcd
Profile Blog Joined September 2010
GRAND OLD AMERICA16375 Posts
February 20 2013 19:07 GMT
#3
so basically, everything is higher res of warcraft engine for pathing?
The world is burning and you rather be on this terrible website discussing video games and your shallow feelings
andiCR
Profile Blog Joined March 2008
Costa Rica2273 Posts
February 20 2013 19:11 GMT
#4
Thanks. This blog is beyond awesome, and any programmer, specially a games programmer, will enjoy this series inmensely. I can only imagine what the Carrier code was like, and this bugs are directly correlated with the old inheritance model being adapted to games. If this game was made in components, they would've had wayyyy less code copypaste syndrome, and a much more dynamic model to approach bugs.
Nightmare1795 wrote: I played a guy in bronze who said he was Japanese. That was the only game I ever dropped a nuke, which was purely coincidental.
okum
Profile Blog Joined February 2009
France5778 Posts
February 20 2013 19:17 GMT
#5
To handle all the tricky edge-cases, the pathing code exploded into a gigantic state-machine which encoded all sorts of specialized “get me out of here” hacks.

This explains everything.
Flash fan before it was cool | Coiner of "jangbang"
PassiveAce
Profile Blog Joined February 2011
United States18076 Posts
February 20 2013 19:18 GMT
#6
Sadly my skills only lasted a short while until the Goliaths were rebalanced. sigh

I found this very funny aha!

Thanks for sharing this!
Call me Marge Simpson cuz I love you homie
thezanursic
Profile Blog Joined July 2011
5497 Posts
February 20 2013 19:28 GMT
#7
Finally I enjoyed his last two so much!
http://i45.tinypic.com/9j2cdc.jpg Let it be so!
Patton3D
Profile Joined March 2011
United States65 Posts
February 20 2013 19:40 GMT
#8
This entire blog series is incredibly interesting to read.
You are never defeated until you admit it.
mierin
Profile Joined August 2010
United States4943 Posts
February 20 2013 19:50 GMT
#9
On February 21 2013 04:40 Patton3D wrote:
This entire blog series is incredibly interesting to read.


It really is! I wonder why just now these blogs are starting to come out...in any case, hope for many more!
JD, Stork, Calm, Hyuk Fighting!
sabas123
Profile Blog Joined December 2010
Netherlands3122 Posts
February 20 2013 19:53 GMT
#10
awsome read

thanks for sharing
The harder it becomes, the more you should focus on the basics.
Antisocialmunky
Profile Blog Joined March 2010
United States5912 Posts
February 20 2013 19:53 GMT
#11
So he's responsible for this:
[゚n゚] SSSSssssssSSsss ¯\_(ツ)_/¯
Marine/Raven Guide:http://www.teamliquid.net/forum/viewmessage.php?topic_id=163605
shaftofpleasure
Profile Blog Joined December 2011
Korea (North)1375 Posts
February 20 2013 19:55 GMT
#12
AWESOME! bw forever!
It's either the holes of my nose are getting smaller or my fingers are getting bigger. /// Always Rooting for the Underdog. Hyuk/Sin/Jaehoon/Juni/Hyvva/Hoejja/Canata //// Hiding in thread somewhere where BW is still in it's pure form here on TL.
Pimpmuckl
Profile Joined March 2011
Germany528 Posts
February 20 2013 20:02 GMT
#13
On February 21 2013 04:11 iPAndi wrote:
Thanks. This blog is beyond awesome, and any programmer, specially a games programmer, will enjoy this series inmensely. I can only imagine what the Carrier code was like, and this bugs are directly correlated with the old inheritance model being adapted to games. If this game was made in components, they would've had wayyyy less code copypaste syndrome, and a much more dynamic model to approach bugs.


Couldn't agree more, pure awesomesauce right there
twitter.com/pimpmuckl
Nerevar
Profile Joined January 2013
547 Posts
February 20 2013 20:03 GMT
#14
[image loading]Patrick Wyatt: 1

(P)BeSt: 0
Wohmfg
Profile Blog Joined January 2009
United Kingdom1292 Posts
February 20 2013 20:06 GMT
#15
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.
BW4Life!
dRaW
Profile Blog Joined January 2010
Canada5744 Posts
February 20 2013 20:19 GMT
#16
On February 21 2013 04:06 Sayle wrote:
Oh man I thought this would be a thread about a new hack to give BW units good path-finding. Was hoping for Pucca vs the world in yet another thread.

This is much less entertaining :/



I was just thinking this, so I went offline and punched in all the cheat codes and smashed 7 PCs in frustration.
I don't need luck, luck is for noobs, good luck to you though
Andre
Profile Blog Joined August 2009
Slovenia3523 Posts
February 20 2013 20:33 GMT
#17
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.

There's a lot of cool stuff that wasn't intended to be as the developers imagined it.

Besides all the cool tricks there are in BW, Quake had bunnyhopping( i think it was first "introduced" in doom..not sure), GunZ has a bunch of animation-based tricks. Like Wall cancelling etc.

You must gather your party before venturing forth.
SpeaKEaSY
Profile Blog Joined December 2010
United States1070 Posts
February 20 2013 20:36 GMT
#18
On February 21 2013 04:53 Antisocialmunky wrote:
So he's responsible for this:
http://www.youtube.com/watch?v=d1bPv8JI6zY


ahahahaha classic bisu face

I love this series, hope we can see more, it's been very insightful and nostalgic
Aim for perfection, settle for mediocrity - KawaiiRice 2014
ProMeTheus112
Profile Joined December 2009
France2027 Posts
February 20 2013 20:41 GMT
#19
:D this is awesome
<3 bw
BigFan
Profile Blog Joined December 2010
TLADT24920 Posts
Last Edited: 2013-02-20 20:44:44
February 20 2013 20:44 GMT
#20
These blogs are always amazing to read. Seems like they didn't rewrite path finding after changing the tileset, someone correct me if I'm wrong. On the bright side, we got a lot of cool tricks like drone drills and such so win win? That best vs. July game though, the look on Bisu's face was priceless XD
Former BW EiC"Watch Bakemonogatari or I will kill you." -Toad, April 18th, 2017
Wohmfg
Profile Blog Joined January 2009
United Kingdom1292 Posts
February 20 2013 20:48 GMT
#21
On February 21 2013 05:33 Andr3 wrote:
Show nested quote +
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.

There's a lot of cool stuff that wasn't intended to be as the developers imagined it.

Besides all the cool tricks there are in BW, Quake had bunnyhopping( i think it was first "introduced" in doom..not sure), GunZ has a bunch of animation-based tricks. Like Wall cancelling etc.



Yeah exactly.

A lot of things that take a game to the next level professionally were never designed and take away from the immersion of the game which makes me question whether a game can be designed with the sole intention of being played at a very high level competitively.
BW4Life!
prplhz
Profile Blog Joined November 2010
Denmark8045 Posts
February 20 2013 20:50 GMT
#22
this is really good stuff
http://i.imgur.com/M7t7egx.png
IceCube
Profile Blog Joined June 2009
Croatia1403 Posts
February 20 2013 21:24 GMT
#23
Thank you for sharing this. As always very interesting read about my favorite game.
Forever Vulture.. :(
Deleted User 135096
Profile Blog Joined December 2010
3624 Posts
February 20 2013 21:31 GMT
#24
I was waiting for this!! :D
Administrator
2Pacalypse-
Profile Joined October 2006
Croatia9517 Posts
February 20 2013 22:01 GMT
#25
Fascinating stuff!

It just makes me wonder if someone was to create a modernized version of BW (ala Dota1 -> Dota2), how much of those "dirty hacks" would have to be replicated just to keep all the little BW tricks intact, or if that's even possible.
Moderator"We're a community of geniuses because we've found how to extract 95% of the feeling of doing something amazing without actually doing anything." - Chill
Falling
Profile Blog Joined June 2009
Canada11367 Posts
February 20 2013 22:03 GMT
#26
Yes! My all time favourite blog.

The isometric on top of square tiles I definitely noticed while map-mapmaking. It can be very frustrating to copy-paste things from other maps. Even ramp copy-paste usually means trying to individually find the right tile to make it flow a little better.

On the plus side, worker drills were born and you have to love that.
Moderator"In Trump We Trust," says the Golden Goat of Mars Lago. Have faith and believe! Trump moves in mysterious ways. Like the wind he blows where he pleases...
Xiphos
Profile Blog Joined July 2009
Canada7507 Posts
February 20 2013 22:15 GMT
#27
On February 21 2013 07:01 2Pacalypse- wrote:
Fascinating stuff!

It just makes me wonder if someone was to create a modernized version of BW (ala Dota1 -> Dota2), how much of those "dirty hacks" would have to be replicated just to keep all the little BW tricks intact, or if that's even possible.


I think BW's graphic is better than SC2's. If they could just increase the definition of the units's pixel and its shadings then we are golden.
2014 - ᕙ( •̀ل͜•́) ϡ Raise your bows brood warriors! ᕙ( •̀ل͜•́) ϡ
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
February 20 2013 22:52 GMT
#28
I wonder if they could have found a way to have workers have collision while mining for SC2.

And he has to be like my favorite person, such interesting blogs.
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
thirtyapm
Profile Joined January 2012
521 Posts
February 20 2013 22:55 GMT
#29
been waiting for this, thanks
rauk
Profile Blog Joined February 2009
United States2228 Posts
February 20 2013 22:55 GMT
#30
On February 21 2013 07:52 Grumbels wrote:
I wonder if they could have found a way to have workers have collision while mining for SC2.

And he has to be like my favorite person, such interesting blogs.


and remove worker drilling? yeurgh
Al Bundy
Profile Joined April 2010
7257 Posts
February 20 2013 22:56 GMT
#31
Thanks for the link Another interesting read.
o choro é livre
Torpedo.Vegas
Profile Blog Joined January 2011
United States1890 Posts
February 20 2013 22:58 GMT
#32
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.


I would argue the "perfection" can from the persistence and innovative attitudes applied to the game because of the competitive scene built around it. It is only natural for players to try to exploit bugs or incorporate as many facets of a game into their play style. Regardless of whether these facets were intended or not. I think it may be even more unreasonable to expect a developer to truly know the effects of every input permutation in their game.
HawaiianPig
Profile Blog Joined July 2008
Canada5155 Posts
February 20 2013 23:12 GMT
#33
I love patrick wyatt blogs!

Because the project was always two months from launch it was inconceivable that there was enough time to re-engineer the terrain engine to make path-finding easier, so the path-finding code just had to be made to work. To handle all the tricky edge-cases, the pathing code exploded into a gigantic state-machine which encoded all sorts of specialized “get me out of here” hacks.


Expected, but fun to hear a definitive statement on it.
AdministratorNot actually Hawaiian.
Freakling
Profile Joined October 2012
Germany1529 Posts
February 20 2013 23:23 GMT
#34
On February 21 2013 07:03 Falling wrote:
Yes! My all time favourite blog.

The isometric on top of square tiles I definitely noticed while map-mapmaking. It can be very frustrating to copy-paste things from other maps. Even ramp copy-paste usually means trying to individually find the right tile to make it flow a little better.

On the plus side, worker drills were born and you have to love that.


Part of what I love about BW mapping, is how it's all workarounds, and because you have to come up with your own solutions, there's a lot of room for individuality and creativity.

On the other hand, the fact that the pathfinding algorithm for ground units somehow seems to have problems to figure out what the term "straight line" could possibly mean, especially that it's darn hard to make a mineral line, that hasn't some worker go bananas in one way or another, makes debugging a map quite the chore...
IskatuMesk
Profile Blog Joined October 2008
Canada969 Posts
February 20 2013 23:25 GMT
#35
The reliance on hacks and hardcore hardcoded lard make Blizzard games such an unpleasant pain in the ass to mod. Jeez. And I doubt BW is anywhere near as bad as Diablo 2. Diablo 2... that game has some serious problems.
Merany
Profile Blog Joined February 2011
France890 Posts
February 20 2013 23:32 GMT
#36
Blizzard’s “when it’s done” policy for game launch was as much an admission that no one had any idea when we would finish as it was a commitment to releasing quality products.

That quote made me laugh quite a bit!
Great blog, as usual. I really hope he has more of those great stories to share about his time at Blizzard.
xccam
Profile Blog Joined September 2009
Great Britain1150 Posts
Last Edited: 2013-02-20 23:54:11
February 20 2013 23:49 GMT
#37
Wrong thread-
Evangelist
Profile Blog Joined June 2011
1246 Posts
February 21 2013 00:01 GMT
#38
On February 21 2013 05:33 Andr3 wrote:
Show nested quote +
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.

There's a lot of cool stuff that wasn't intended to be as the developers imagined it.

Besides all the cool tricks there are in BW, Quake had bunnyhopping( i think it was first "introduced" in doom..not sure), GunZ has a bunch of animation-based tricks. Like Wall cancelling etc.



I found BW's awful pathfinding to be a distraction. I would say the most successful unintentional game mechanic in modern games came from Tribes, namely skiing, followed by rocket jumping and then Counterstrike model stacking.
Dumbledore
Profile Joined April 2011
Sweden725 Posts
February 21 2013 00:20 GMT
#39
I love reading this kind of blogs Great stuff
Have a nice day ;)
Kurbz
Profile Joined April 2011
Australia88 Posts
February 21 2013 01:07 GMT
#40
I love reading articles like this, really gives you insight into the trials and tribulations of development. Plus i loved starcraft as a kid so my inner child is doing jumping jacks.
Never argue with an idiot, they will bring you down to their level and beat you with experience.
Shady Sands
Profile Blog Joined June 2012
United States4021 Posts
February 21 2013 01:17 GMT
#41
On February 21 2013 04:11 iPAndi wrote:
Thanks. This blog is beyond awesome, and any programmer, specially a games programmer, will enjoy this series inmensely. I can only imagine what the Carrier code was like, and this bugs are directly correlated with the old inheritance model being adapted to games. If this game was made in components, they would've had wayyyy less code copypaste syndrome, and a much more dynamic model to approach bugs.

What's the inheritance vs component model of making things?
Что?
Falling
Profile Blog Joined June 2009
Canada11367 Posts
February 21 2013 01:33 GMT
#42
On February 21 2013 09:01 Evangelist wrote:
Show nested quote +
On February 21 2013 05:33 Andr3 wrote:
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.

There's a lot of cool stuff that wasn't intended to be as the developers imagined it.

Besides all the cool tricks there are in BW, Quake had bunnyhopping( i think it was first "introduced" in doom..not sure), GunZ has a bunch of animation-based tricks. Like Wall cancelling etc.



I found BW's awful pathfinding to be a distraction. I would say the most successful unintentional game mechanic in modern games came from Tribes, namely skiing, followed by rocket jumping and then Counterstrike model stacking.

I don't play any of those games, so for RTS's I would move shot at the top of successful unintentional game mechanics. But mineral slides and worker drills are pretty good discoveries as well.
Moderator"In Trump We Trust," says the Golden Goat of Mars Lago. Have faith and believe! Trump moves in mysterious ways. Like the wind he blows where he pleases...
Wohmfg
Profile Blog Joined January 2009
United Kingdom1292 Posts
February 21 2013 03:08 GMT
#43
On February 21 2013 07:58 Torpedo.Vegas wrote:
Show nested quote +
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.


I would argue the "perfection" can from the persistence and innovative attitudes applied to the game because of the competitive scene built around it. It is only natural for players to try to exploit bugs or incorporate as many facets of a game into their play style. Regardless of whether these facets were intended or not. I think it may be even more unreasonable to expect a developer to truly know the effects of every input permutation in their game.


Exactly! So think of a game that is completely the developer's vision. There is less to exploit, there is less depth in the long run.
BW4Life!
Torpedo.Vegas
Profile Blog Joined January 2011
United States1890 Posts
February 21 2013 03:22 GMT
#44
On February 21 2013 12:08 Wohmfg wrote:
Show nested quote +
On February 21 2013 07:58 Torpedo.Vegas wrote:
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.


I would argue the "perfection" can from the persistence and innovative attitudes applied to the game because of the competitive scene built around it. It is only natural for players to try to exploit bugs or incorporate as many facets of a game into their play style. Regardless of whether these facets were intended or not. I think it may be even more unreasonable to expect a developer to truly know the effects of every input permutation in their game.


Exactly! So think of a game that is completely the developer's vision. There is less to exploit, there is less depth in the long run.


Its a tricky business though because at times certain bugs or quirks need to be patched in order to preserve competitive stability. Being able to identify which issues require fixing from issues that are benign and may even contribute to the depth of the game is a difficult task. A developer could try waiting and let time tell the difference, but that risks permanently damaging the competitive scene if they wait too long to patch a bad issue, or they could jump they gun and patch a "good" issue which makes the game more bland. There is no definitive science to this and seems to often be a hell of a lot of luck.
CecilSunkure
Profile Blog Joined May 2010
United States2829 Posts
February 21 2013 04:34 GMT
#45
Yay I've been waiting a while to be able to read this thing
mishimaBeef
Profile Blog Joined January 2010
Canada2259 Posts
February 21 2013 04:39 GMT
#46
My favourite part:

"Because the project was always two months from launch it was inconceivable that there was enough time to re-engineer the terrain engine to make path-finding easier, so the path-finding code just had to be made to work. To handle all the tricky edge-cases, the pathing code exploded into a gigantic state-machine which encoded all sorts of specialized “get me out of here” hacks."
Dare to live the life you have dreamed for yourself. Go forward and make your dreams come true. - Ralph Waldo Emerson
Antisocialmunky
Profile Blog Joined March 2010
United States5912 Posts
February 21 2013 06:55 GMT
#47
On February 21 2013 10:33 Falling wrote:
Show nested quote +
On February 21 2013 09:01 Evangelist wrote:
On February 21 2013 05:33 Andr3 wrote:
On February 21 2013 05:06 Wohmfg wrote:
I love how these little quirks in games add so much to the top level of play.

How a game can be so perfect without being engineered that way.

There's a lot of cool stuff that wasn't intended to be as the developers imagined it.

Besides all the cool tricks there are in BW, Quake had bunnyhopping( i think it was first "introduced" in doom..not sure), GunZ has a bunch of animation-based tricks. Like Wall cancelling etc.



I found BW's awful pathfinding to be a distraction. I would say the most successful unintentional game mechanic in modern games came from Tribes, namely skiing, followed by rocket jumping and then Counterstrike model stacking.

I don't play any of those games, so for RTS's I would move shot at the top of successful unintentional game mechanics. But mineral slides and worker drills are pretty good discoveries as well.


I'd say the most successful broodwar issues are tight walls, stacked fliers, and patrol micro since they have you be used to make the game balanced.
[゚n゚] SSSSssssssSSsss ¯\_(ツ)_/¯
Marine/Raven Guide:http://www.teamliquid.net/forum/viewmessage.php?topic_id=163605
endy
Profile Blog Joined May 2009
Switzerland8970 Posts
February 21 2013 07:19 GMT
#48
Great read, just like the previous ones.

Game units would get stuck and stop on the battlefield.


This still happens a lot to dragoons in version 1.16; please patch asap !

ॐ
budar
Profile Joined February 2011
175 Posts
February 21 2013 08:21 GMT
#49
Honestly, I thought this particular post was pretty low on information compared to the other few. It doesn't really say much about the path-finding except that it was messy and that they had to make workers "drill", both of which we already knew beforehand.
thedeadhaji *
Profile Blog Joined January 2006
39489 Posts
February 21 2013 08:50 GMT
#50
Props to heyoka for copying just enough of the original text to make us eager to read the rest
Foxxan
Profile Joined October 2004
Sweden3427 Posts
February 21 2013 16:35 GMT
#51
On February 21 2013 17:21 budar wrote:
Honestly, I thought this particular post was pretty low on information compared to the other few. It doesn't really say much about the path-finding except that it was messy and that they had to make workers "drill", both of which we already knew beforehand.



i feel excactly this
i was expecting more in the line of how patrol micro occured, was if with purpose or accident?
Just an example
Delwack
Profile Joined December 2011
123 Posts
Last Edited: 2013-02-21 16:54:44
February 21 2013 16:53 GMT
#52
With him stating that the pathfinding code had so many get me out of here hacks and it being more a giant state machine than fundamentally good pathfinding code, I think it's safe to conclude that pretty much all odd behavior was accidental (most likely as a side-effect as a fix for something worse as with mineral walking, or as a 'good enough, sorta kinda working' thing.)
Jealous
Profile Blog Joined December 2011
10215 Posts
February 21 2013 17:26 GMT
#53
Thanks for keeping us updated!
"The right to vote is only the oar of the slaveship, I wanna be free." -- бум бум сучка!
zf
Profile Joined April 2011
231 Posts
February 21 2013 17:34 GMT
#54
On February 21 2013 10:17 Shady Sands wrote:
What's the inheritance vs component model of making things?


In the inheritance model, polymorphism is provided by subclassing. Specialized game objects subclass general game object classes and override their relevant methods. In the component model, polymorphism is provided by aggregation. Game objects are associated with a number of different components, each of which provides some behavior that the game objects exhibit. Exactly how these components relate to one another depends on the kind of component model implemented.

Inheritance model:

class GameObject:
function Method():
//general functionality

class SpecializedGameObject (inherits GameObject):
function Method():
//specific functionality

Component model:

class GameObject:
Component[] components

Here's a link to a much better explanation than the one I provided.
Kommatiazo
Profile Blog Joined February 2011
United States579 Posts
February 21 2013 18:31 GMT
#55
The bit about the carrier made me laugh.

Great read. Love these write ups. Thanks for sharing Heyoka!
"You must enemy don't know, and very good micro" - Bosstoss #Wet4Ret
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
February 21 2013 19:33 GMT
#56
On February 21 2013 07:55 rauk wrote:
Show nested quote +
On February 21 2013 07:52 Grumbels wrote:
I wonder if they could have found a way to have workers have collision while mining for SC2.

And he has to be like my favorite person, such interesting blogs.


and remove worker drilling? yeurgh

The idea is that workers having no collision is something that we are all used to, but it's a bit weird and wasn't really the intention of the developers, as can be seen from this article (it's a hack to make the game work to meet a deadline).

Starcraft 2 was a chance to potentially change this mechanic and make workers always have collision, and because these days we have more computing power and better algorithms, there's a good chance they could have come up with something that was playable. And I was basically wondering if what they would have come up with had a chance to be superior to the current model.

With every change you make you lose something and it's not always obvious what you're getting back. Like Dustin Browder says: if you're too careful you'll never end up making a change to anything, at some point you're going to have to take risk.

I thought that maybe with worker collision a potential outcome could be that income per drone would be less straight forward and more interesting, so just wondering really. :o
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
ajxPurpleRain
Profile Joined July 2012
United States87 Posts
February 21 2013 20:27 GMT
#57
Great blog. I greedily slurped this one up and eagerly await the next installment.
Only want to see you /dancing in the PurpleRain.
Master of DalK
Profile Blog Joined June 2012
Canada1799 Posts
February 21 2013 23:43 GMT
#58
Mr.Wyatt's blogs are really fun to read :D I enjoy them a lot!
@MasterDalK | Maelstrom Entertainment | Streaming Every Esport Under the Sun
jimminy_kriket
Profile Blog Joined February 2007
Canada5518 Posts
February 22 2013 00:20 GMT
#59
Thanks for the share. Interesting read, brought back great memories of worker drills and made me think of how much less excitement could have been produced by the game if that simple hack wasn't included in the release. <3 Patrick Wyatt
life of lively to live to life of full life thx to shield battery
Zariel
Profile Blog Joined December 2010
Australia1285 Posts
February 22 2013 00:38 GMT
#60
Interesting. I wonder what would Patrick have to say about the behaviour of air units and moving shot?
sup
Chimpalimp
Profile Joined May 2010
United States1135 Posts
February 22 2013 00:49 GMT
#61
Hacky fixes, sounds like when engineering and marketing have their bimonthly rage inducing encounter.

The carrier part was rather histarical, even thought I have had bugs like that in my own experience. When someone is in a rush, they tend to produce some rather terrifying code. Quite an entertaining read, thanks for posting it Heyoka.
I like money. You like money too? We should hang out.
Proseat
Profile Blog Joined February 2012
Germany5113 Posts
Last Edited: 2013-02-22 08:47:34
February 22 2013 08:43 GMT
#62
A quick dirty hack -- the origins of the infamous (Wiki)Mineral Walk.
The Rise and Fall of SlayerS -- a timeline: http://www.teamliquid.net/blogs/viewblog.php?id=378097
cerb
Profile Joined June 2009
Germany215 Posts
February 22 2013 12:10 GMT
#63
Wow, really a great blog. Great read.
Ciryandor
Profile Blog Joined May 2010
United States3735 Posts
February 22 2013 15:03 GMT
#64
I now wonder what he thinks of how hard it is to wall in in BW, and how micro can save some units by putting them out of reach of others because of those pixel differences.
에일리 and 아이유 <3 - O Captain 박재혁 ・゚✧*:・*゚+..。✧・゚:*・..。 ✧・゚ :・゚* ゜・*:・ ✧・゚:・゚:.。 ✧・゚ SPARKULING ・゜・:・゚✧*:・゚✧。*゚+..。 ✧・゚: ✧・゚:*・゜・:・゚✧*::
Masq
Profile Blog Joined March 2009
Canada1792 Posts
February 22 2013 19:01 GMT
#65
Interesting article.

Kind of emphasizes how broodwar was more of a fluke than anything.
AnomalySC2
Profile Joined August 2012
United States2073 Posts
February 22 2013 19:25 GMT
#66
On February 23 2013 04:01 Masq wrote:
Interesting article.

Kind of emphasizes how broodwar was more of a fluke than anything.


Interesting indeed, and a brilliant fluke it was and still is.
YoucriedWolf
Profile Joined July 2010
Sweden1456 Posts
February 23 2013 19:24 GMT
#67
This did nothing but make me miss BW ):

All of those glorious flukes will never be replicated
Normal
Please log in or register to reply.
Live Events Refresh
BSL 21
01:00
Open Quali #1
LiquipediaDiscussion
The PiG Daily
22:10
Best Games of SC
Rogue vs herO
MaxPax vs Clem
MaxPax vs Lambo
Clem vs herO
Reynor vs Classic
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 11
StarCraft: Brood War
Bale 50
ZZZero.O 44
ToSsGirL 31
Dota 2
monkeys_forever868
XaKoH 770
NeuroSwarm92
League of Legends
JimRising 710
Super Smash Bros
C9.Mang0713
Other Games
summit1g7974
Tasteless523
Hui .135
Mew2King62
NotJumperer3
Organizations
Other Games
gamesdonequick720
BasetradeTV51
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH108
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1226
• Lourlo723
• Stunt719
• Jankos651
Upcoming Events
Replay Cast
3h 5m
Streamerzone vs Shopify Rebellion
Streamerzone vs Team Vitality
Shopify Rebellion vs Team Vitality
WardiTV Invitational
5h 5m
CrankTV Team League
6h 5m
BASILISK vs Shopify Rebellion
Team Liquid vs Team Falcon
BSL 21
18h 5m
Replay Cast
1d 3h
BASILISK vs TBD
Team Liquid vs Team Falcon
OSC
1d 5h
CrankTV Team League
1d 6h
Replay Cast
1d 16h
The PondCast
2 days
CrankTV Team League
2 days
[ Show More ]
Replay Cast
3 days
WardiTV Invitational
3 days
CrankTV Team League
3 days
Replay Cast
4 days
BSL Team A[vengers]
4 days
Dewalt vs Shine
UltrA vs ZeLoT
BSL 21
4 days
Sparkling Tuna Cup
5 days
BSL Team A[vengers]
5 days
Cross vs Motive
Sziky vs HiyA
BSL 21
5 days
Wardi Open
6 days
Monday Night Weeklies
6 days
Liquipedia Results

Completed

ASL Season 20
WardiTV TLMC #15
Eternal Conflict S1

Ongoing

BSL 21 Points
CSL 2025 AUTUMN (S18)
BSL 21 Team A
C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
CranK Gathers Season 2: SC II Pro Teams
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025

Upcoming

SC4ALL: Brood War
YSL S2
BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
META Madness #9
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.