• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 23:34
CEST 05:34
KST 12:34
  • 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
[ASL22] Ro4 Preview: Mirror Mirror4[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5[ASL22] Ro16 Preview: Rough Waters10
Community News
Weekly Cups Results (Sep 28-Oct 4)0SC4ALL: II SC2 Complete Invited Player Lineup10StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026)75Weekly Cups (Sept 21-27): herO and ByuN double2Weekly Cups (Sep 13-20): herO scores triple3
StarCraft 2
General
StarCraft II 5.0.17 PTR Patch Notes (Sept 30, 2026) How do you feel about the mass reverts in the 5.0.17 PTR? Weekly Cups Results (Sep 28-Oct 4) SC4ALL: II SC2 Complete Invited Player Lineup Back to SC2 after 14 years - Protoss CTRL groups?
Tourneys
ISSL (IntoTheTV x SOOP SC2 League): Premier Stellar Fest TWO the Moon (Dec 16-20) Sparkling Tuna Cup - Weekly Open Tournament 2026 GSTL Grand Finals Sea Duckling Open (Global, Bronze-Diamond)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[M] (2) Sweltering Sands [M] (2) Frigid Storage
External Content
Mutation # 546 Catch the Train The PondCast: SC2 News & Results Mutation # 545 And Drops and Rifts Mutation # 544 Double Trouble
Brood War
General
20-year-old Valorant player starting StarCraft Sagi.gg Launcher Released Bot on ladder BGH Auto Balance -> http://bghmmr.eu/ Fantasy returning?
Tourneys
[ASL22] Semifinal B [ASL22] Semifinal A [Megathread] Daily Proleagues [ASL22] Ro8 Day 4
Strategy
Cliff Jump Revisited (1 in a 1000 strategy) Replay Review Process - What do you do? Simple Questions, Simple Answers
Other Games
General Games
General RTS Discussion Thread Nintendo Switch Thread Warcraft III: The Frozen Throne Stormgate/Frost Giant Megathread Total Annihilation Zero
Dota 2
Dota 2 Champions League Season 3 Begins April 25! Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Canadian Politics Mega-thread Dating: How's your luck? Artificial Intelligence Thread
Fan Clubs
Serral Fan Club
Media & Entertainment
Movie Discussion! [Manga] One Piece Diablo Animated Series on Netflix
Sports
Football (Soccer) Thread MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Escaping Into Video Games: G…
TrAiDoS
38 yo Retired SWE loo…
PurE)Rabbit-SF
Can Bots Beat Pros?? Starcr…
namkraft
[meme] I finally understa…
LUCKY_NOOB
Regacy Esports:Our Goa…
regacyesports
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6566 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
Canada11607 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.
ModeratorWake me up when Trump's term is finished. Slava Ukraini.
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 States5913 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
10392 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
Netherlands7032 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
Canada5543 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
Australia1312 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
PiGosaur Cup
09:00
#102
CranKy Ducklings145
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft482
RuFF_SC2 202
ViBE107
Nina 82
StarCraft: Brood War
Rain 5102
GuemChi 1274
Terrorterran 94
910 73
Bale 29
NaDa 27
Dota 2
monkeys_forever480
Counter-Strike
taco 523
minikerr16
Super Smash Bros
hungrybox1073
Other Games
summit1g8072
JimRising 597
C9.Mang0250
Trikslyr40
Organizations
Other Games
gamesdonequick768
Dota 2
PGL Dota 2 - Main Stream24
[ Show 15 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP128
• Hupsaiya 74
• Letter146
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• Pr0nogo 7
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo970
• Stunt309
Other Games
• Shiphtur564
Upcoming Events
Patches Events
12h 26m
The PondCast
1d 6h
INu's Battles
1d 7h
Percival vs SHIN
Zoun vs herO
OSC
1d 18h
Replay Cast
1d 19h
OSC
2 days
BSL: Ladder Tournament
3 days
Sparkling Tuna Cup
4 days
Patches Events
4 days
BSL Open Qualifier
4 days
[ Show More ]
BSL Open Qualifier
4 days
WardiTV Weekly
6 days
PiGosaur Cup
6 days
Liquipedia Results

Completed

CSL 2026 AUTUMN (S22)
Blizzard Classic Cup 2026
Copium Cup

Ongoing

ASL Season 22
Super Anchor Qualifying S3
Acropolis #5
Acropolis #5 - GSB
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual

Upcoming

Acropolis #5 - GSC
BSL Season 23
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
HCC Season 3
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
PGL Masters Bucharest 2026
1win Private Club #2
Thunderpick World Champ. '26
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.