• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 00:36
CEST 06:36
KST 13:36
  • 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
Serral wins HomeStory Cup 2915Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
Weekly Cups (Aug 3-9): Protoss get shut out5RSL goes to London! 2026 Offline Finals Nov 21-2212Weekly Cups (July 27-Aug 2): SHIN's big week0SC4ALL II: Brood War - $2500 - Dec 5-69SC4ALL II announced - $10,000 prize pool, Dec 5-64
StarCraft 2
General
Weekly Cups (Aug 3-9): Protoss get shut out SC4ALL: II Talent Announcement! SC4ALL II: StarCraft 2 Player Announcement 5/8 Protoss AoE skill expression August World Ranking: Clem climbs to #2
Tourneys
PIG STY FESTIVAL 8.0! (13 - 23 August) Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 RSL Revival: Season 6 - Qualifiers and Main Event Tasteless Time Warp: SC Evo Showmatch (May 25)
Strategy
[G] Having the right mentality to improve
Custom Maps
Nexus Wars 2021 GUIDE [M] (2) Industrial Park
External Content
Mutation # 538 Media Blackout The PondCast: SC2 News & Results Mutation # 537 Hostile Territory Mutation # 536 Railroad Switch
Brood War
General
BW General Discussion Michaelbg appreciation thread How FlaSh Nearly Forfeited MSL Finals being late ASL22 General Discussion BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues 2v2v2v2 Tournament KCM Race Survival 2026 Season 3 Escore Tournament - Season 3
Strategy
Fighting Spirit mining rates Odyssey Mineral Stack Saturation Any training maps people recommend? Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread EVE Corporation General RTS Discussion Thread Diablo 2 thread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
[TL LoL EUW IHs] Teemo shall perish TSM pausing esports and CLG Dead
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Power Rank TL Mafia Community Thread NeO.D_StephenKing vs This Guy From 1 Million Dance
Community
General
US Politics Mega-thread The Letting Off Steam Thread Iain M Banks Says He Has Cancer And Months To Live Russo-Ukrainian War Thread European Politico-economics QA Mega-thread
Fan Clubs
MarineLorD Fan Club The ShoWTimE Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread Series you have seen recently... [Req][Books] Good Fantasy/SciFi books
Sports
Football (Soccer) Thread NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Simple Questions Simple Answers FPS when play League Of Legend on laptop
TL Community
The Automated Ban List Northern Ireland Global Starcraft
Blogs
Are High-Level Gamers more A…
TrAiDoS
Cathedral Of CS And NY pizza a…
FuDDx
Please support my new stand…
Peanutsc
Hello guys!
LIN1s
ASL S22 English Commentary…
namkraft
Poker (part 2)
Nebuchad
Customize Sidebar...

Website Feedback

Closed Threads



Active: 7986 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
Canada11592 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.
Moderator5000 of our finest Taliban warriors have been released! Rise up my brothers. Mashalla! al-Donald ibn-Frederick al-Masih allows it.
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
10357 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
Canada5539 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
00:00
#94
PiGStarcraft421
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft476
PiGStarcraft421
ProTech88
FoxeR 13
StarCraft: Brood War
Rain 3624
GuemChi 2238
Dota 2
febbydoto33
LuMiX0
League of Legends
JimRising 692
Counter-Strike
summit1g8045
Coldzera 1276
minikerr52
Super Smash Bros
hungrybox2135
Mew2King305
Other Games
C9.Mang0548
m0e_tv259
ViBE139
Maynarde128
Organizations
Other Games
gamesdonequick882
BasetradeTV53
[ Show 12 non-featured ]
StarCraft 2
• Berry_CruncH326
• Hupsaiya 73
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• RayReign 100
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2121
Upcoming Events
Replay Cast
4h 24m
Kung Fu Cup
6h 24m
Replay Cast
19h 24m
The PondCast
1d 5h
OSC
1d 8h
Replay Cast
1d 19h
Escore
2 days
CranKy Ducklings
3 days
Sparkling Tuna Cup
4 days
OSC
4 days
[ Show More ]
Afreeca Starleague
5 days
Rush vs Hm
Bisu vs Shuttle
WardiTV Weekly
5 days
The Patches Monday
5 days
Afreeca Starleague
6 days
Sharp vs Shinee
Action vs Shine
PiGosaur Cup
6 days
Liquipedia Results

Completed

Proleague 2026-08-10
CranK Gathers Season 4: BW vs SC2 Team League
Eternal Conflict S2 Finale

Ongoing

KCM Race Survival 2026 Season 3
K-JUNGMAN
Acropolis #5
RSL Revival: Season 6
Esports World Cup 2026
Esports World Cup 2026: LCQ
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2

Upcoming

Escore Tournament S3: W7
CSLAN 4
ASL Season 22
Escore Tournament S3: W8
Acropolis #5 - TRS
Blizzard Classic Cup 2026
Acropolis #5 - GSA
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
PiG Sty Festival 8.0
Big Dog Cup 2026 Div 1
META DYMY #4
PGL Masters Bucharest 2026
Thunderpick World Champ.
ESL Pro League Season 24
Stake Ranked Episode 4
Logitech G Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 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.