|
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?
|
Canada10959 Posts
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.
|
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.
|
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.
|
Yay I've been waiting a while to be able to read this thing
|
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."
|
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.
|
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 !
|
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.
|
|
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
|
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.)
|
Thanks for keeping us updated!
|
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.
|
The bit about the carrier made me laugh.
Great read. Love these write ups. Thanks for sharing Heyoka!
|
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
|
Great blog. I greedily slurped this one up and eagerly await the next installment.
|
Mr.Wyatt's blogs are really fun to read :D I enjoy them a lot!
|
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
|
Interesting. I wonder what would Patrick have to say about the behaviour of air units and moving shot?
|
|
|
|