• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:14
CEST 14:14
KST 21:14
  • 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
[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy17ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book20
Community News
Weekly Cups (March 23-29): herO takes triple6Aligulac acquired by REPLAYMAN.com/Stego Research8Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool51Weekly Cups (March 9-15): herO, Clem, ByuN win4
StarCraft 2
General
Team Liquid Map Contest #22 - Presented by Monster Energy Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool What mix of new & old maps do you want in the next ladder pool? (SC2) Aligulac acquired by REPLAYMAN.com/Stego Research Weekly Cups (March 23-29): herO takes triple
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament StarCraft Evolution League (SC Evo Biweekly) WardiTV Mondays World University TeamLeague (500$+) | Signups Open
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
Mutation # 519 Inner Power The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat
Brood War
General
Klaucher discontinued / in-game color settings BGH Auto Balance -> http://bghmmr.eu/ Pros React To: JaeDong vs Queen [ASL21] Ro24 Preview Pt2: News Flash Gypsy to Korea
Tourneys
[Megathread] Daily Proleagues [ASL21] Ro24 Group E [ASL21] Ro24 Group F Azhi's Colosseum - Foreign KCM
Strategy
Fighting Spirit mining rates What's the deal with APM & what's its true value Simple Questions, Simple Answers
Other Games
General Games
Starcraft Tabletop Miniature Game Nintendo Switch Thread Stormgate/Frost Giant Megathread General RTS Discussion Thread Darkest Dungeon
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
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
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread NASA and the Private Sector Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
China Uses Video Games to Sh…
TrAiDoS
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
ASL S21 English Commentary…
namkraft
Electronics
mantequilla
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12623 users

Patrick Wyatt: The StarCraft path-finding hack - Page 3

Forum Index > BW General
Post a Reply
Prev 1 2 3 4 Next All
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
Canada11475 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 Mar a 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
10310 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
Canada1803 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
Canada5529 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
Australia1292 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
Prev 1 2 3 4 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 1h 47m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
trigger 190
ProTech131
Codebar 56
StarCraft: Brood War
Britney 43305
Sea 5103
Mini 1063
Soulkey 566
Light 462
Soma 342
BeSt 294
firebathero 293
Larva 289
Last 219
[ Show more ]
ggaemo 209
Hyun 140
hero 125
Hm[arnc] 116
Pusan 98
Free 70
Sharp 65
NaDa 50
sSak 42
Sacsri 37
sorry 33
zelot 31
Shinee 31
Shine 28
HiyA 27
Movie 27
Barracks 24
GoRush 17
soO 6
Dota 2
XaKoH 910
canceldota294
Counter-Strike
fl0m1473
byalli810
zeus196
edward49
Heroes of the Storm
Khaldor178
Other Games
singsing2541
B2W.Neo460
Rex81
ArmadaUGS31
Organizations
Counter-Strike
PGL11661
Other Games
BasetradeTV410
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1656
Upcoming Events
uThermal 2v2 Circuit
1h 47m
BSL
6h 47m
Afreeca Starleague
21h 47m
Wardi Open
21h 47m
Replay Cast
1d 11h
Sparkling Tuna Cup
1d 21h
Kung Fu Cup
2 days
The PondCast
3 days
Replay Cast
4 days
Replay Cast
5 days
[ Show More ]
CranKy Ducklings
5 days
BSL
6 days
Replay Cast
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

Escore Tournament S2: W1
WardiTV Winter 2026
NationLESS Cup

Ongoing

BSL Season 22
CSL Elite League 2026
ASL Season 21
CSL Season 20: Qualifier 2
StarCraft2 Community Team League 2026 Spring
Nations Cup 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026

Upcoming

CSL 2026 SPRING (S20)
IPSL Spring 2026
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
RSL Revival: Season 5
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
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 © 2026 TLnet. All Rights Reserved.