<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Basil Vandegriend: Professional Software Development &#187; games</title>
	<atom:link href="http://www.basilv.com/psd/blog/tag/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.basilv.com/psd</link>
	<description></description>
	<lastBuildDate>Wed, 25 Jan 2012 13:23:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Lean Lessons From Starcraft 2</title>
		<link>http://www.basilv.com/psd/blog/2011/lean-lessons-from-starcraft-2</link>
		<comments>http://www.basilv.com/psd/blog/2011/lean-lessons-from-starcraft-2#comments</comments>
		<pubDate>Wed, 24 Aug 2011 14:03:47 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
				<category><![CDATA[productivity]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[lean]]></category>
		<category><![CDATA[Starcraft 2]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/?p=696</guid>
		<description><![CDATA[The real-time strategy computer game Starcraft 2 is about economic production as much as it is about combat. One of the major trade-offs within the game is allocating resources between economic production, combat unit production, improving technology / upgrades, and combat units. The 'macro' style of play in particular places a heavy focus on maximizing [...]]]></description>
			<content:encoded><![CDATA[<p>The real-time strategy computer game <a href="http://us.blizzard.com/en-us/games/sc2/">Starcraft 2</a> is about economic production as much as it is about combat. One of the major trade-offs within the game is allocating resources between economic production, combat unit production, improving technology / upgrades, and combat units. The 'macro' style of play in particular places a heavy focus on maximizing economic production, usually through aggressive expansion, over building up an early army.</p>
<p>Despite all these indicators, it took me a while playing Starcraft 2 to realize that the principles from lean thinking are completely applicable to the game. Lean thinking derives from the lean manufacturing system used by Toyota that helped it become a powerhouse among automobile manufacturers. Once I made the association, I realized that many of the strategies and techniques used by top players can be derived from lean principles.</p>
<p>This demonstrates the power of lean: it is applicable not just to manufacturing of physical products but also to product design, business processes, creation of knowledge-based products such as software, and even games. Starcraft 2 can therefore serve as an excellent educational tool for conveying lessons about lean. (But good luck expensing the game as training material :)</p>
<p>One of the main lean principles is eliminating waste, or non-value-add activities. There are different categories of waste generally corresponding to different aspects of an idealized process that can be linked to specific aspects of Starcraft 2.</p>
<ul>
<li><strong>Excess Inventory</strong>: Minerals and vespene gas are the two resources in Starcraft 2 that are needed to build units, upgrades, and buildings (production centers or higher technology). Focusing on economic production - lots of workers - is important to ensure a high income of these resources, but letting the inventory of these grow, especially in the early and mid game, is considered wasteful - you should be using those resources to build units, buildings, or upgrades. A growing inventory is generally a sign that you have insufficient (or inactive) unit production.
</li>
<li><strong>Under-utilization</strong>: Inactive unit production buildings are wasteful: why build the building if you are not going to pump units out of it? This is especially true for building workers from Command Centers and Nexuses - if you miss building a worker, there is no way to 'catch up' to your opponent without expanding (and your opponent can expand at the same time, so you may never catch up). This is less true for the Zerg as they can stockpile larva produced via Queens, but still remains true for the initial three larva from any hatchery. This explains why becoming supply blocked is considered bad - it forces your unit production to become inactive until you can build more supply. To help deal with idle production Starcraft 2 added build queues for Terran and Protoss so that multiple units can be queued to build. Using the queues avoids one waste, but leads to the next...
<li><strong>Work in Progress</strong>: Lean focuses on providing value to the customer so anything that is a work in progress is not yet providing value. The larger the level of work in progress, the more resources committed with no value realized, which translates into waste. One pro tip is to never use build queues - only build a single unit at a time. This requires impressive multitasking abilities to always be ready to build another unit when the prior unit finishes to avoid under-utilization, even in the middle of battle. But it is a requirement at the pro level - the resources spent on the queued unit are not realized until later, whereas a less wasteful player can instead use those resources in a different way for a more immediate return on investment. The Terran ability to queue multiple buildings for a worker to build is convenient but is yet another example of this type of waste.
</li>
<li><strong>Excess Stock</strong>: Finished products sitting in storage do not make money - they have to be delivered to paying customers to earn their value. Combat units sitting around at least provide a defensive value, but they could be providing a much greater benefit by attacking the opponent to weaken them. There are a wide number of possible tactics - harassment attacks against workers, attacks on expansions, feints to gain a psychological edge, or merely establishing map control to expand. The keys are to not sacrifice your macro game and to not suffer a major, unequal loss of units in battle.
</li>
<li><strong>Delays</strong>: Any unnecessary delay between two events or process steps is a form of waste. One of the best examples of this is the use of proxies (proxy pylons, proxy barracks, or a proxy hatchery) to enable unit production near your opponent in order to eliminate the delay in marching units from your base to your opponents. Another example is moving a worker to your natural expansion prior to collecting the necessary minerals so that you can begin building the second you reach the necessary amount.
</ul>
<p>There's more that can be said about lean and Starcraft 2, but I'll stop for now and leave it as an exercise for the reader to discover additional associations. GLHF!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilv.com/psd/blog/2011/lean-lessons-from-starcraft-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expertise in Starcraft 2</title>
		<link>http://www.basilv.com/psd/blog/2011/expertise-in-starcraft-2</link>
		<comments>http://www.basilv.com/psd/blog/2011/expertise-in-starcraft-2#comments</comments>
		<pubDate>Mon, 25 Jul 2011 12:55:34 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
				<category><![CDATA[learning]]></category>
		<category><![CDATA[expertise]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Starcraft 2]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/?p=691</guid>
		<description><![CDATA[I have previously written about how to become an expert developer based on the general principles of expertise presented in the book Talent Is Overrated by Geoff Colvin. I recently have had the opportunity to appreciate the nature of expertise in a different context after picking up the real-time strategy game Starcraft 2 created by [...]]]></description>
			<content:encoded><![CDATA[<p>I have previously written about <a href="http://www.basilv.com/psd/blog/2010/how-to-become-an-expert-developer">how to become an expert developer</a> based on the general principles of expertise presented in the book <a href="http://www.amazon.ca/gp/product/1591842247?ie=UTF8&#038;tag=basilvandegri-20&#038;linkCode=as2&#038;camp=15121&#038;creative=330641&#038;creativeASIN=1591842247">Talent Is Overrated</a><img src="http://www.assoc-amazon.ca/e/ir?t=basilvandegri-20&#038;l=as2&#038;o=15&#038;a=1591842247" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Geoff Colvin. I recently have had the opportunity to appreciate the nature of expertise in a different context after picking up the real-time strategy game <a href="http://us.blizzard.com/en-us/games/sc2/">Starcraft 2</a> created by Blizzard Entertainment.</p>
<p>While Starcraft 2 offers solo play at various levels of difficulty via a campaign and custom battles against the computer A.I. it is the multiplayer matches against other people that most clearly reveal expertise, or the lack of it. Blizzard created a clever ladder system for ranking players that is used in automatically matching players of similar skill levels. The lowest level of the ladder is bronze, followed by silver, gold, platinum, diamond, and finally master. The master league was created post-release by Blizzard for the top 2% of players, and is the home of the true experts in the game. Videos of matches between these highly-ranked players are frequently posted to YouTube by commentators such as <a href="http://www.youtube.com/user/HDstarcraft">HDstarcraft</a>. Watching these expert-level replays, it is interesting to see how effortless the top players make it look to manage the economies and unit production of multiple bases, scout for information on what their opponent is up to, and tactically control with precision units of various abilities in battles. Switching to one of the player's individual views or seeing them using their keyboard is a shocking contrast: they are continually switching viewpoints between different parts of the battlefield blindingly fast and their fingers are a blur on the keyboard. They average two to three mouse clicks or key presses per second the entire game. </p>
<p>The biggest lesson in expertise from Starcraft 2 is that there are no shortcuts to becoming an expert: it takes tons of deliberate practice coupled with deep domain understanding. In Korea, where Starcraft is reportedly considered a national sport, top players are members of teams that spend hours each day training together. Since the game has been out for less than two years, you might think that no one has amassed the approximately 10 years of training that are typically required for true expert status. The original Starcraft, however, has been out for longer than that period of time. Many of the top players of the original Starcraft have quickly achieved mastery in Starcraft 2 despite some significant changes in gameplay. In one account I read of a master level player's ascent up the leagues he stated that he only needed about 6 months to make diamond, but then he went on to explain that he spent almost his entire childhood playing hours upon hours of video games. </p>
<p>I re-learnt this lesson for myself when I got into the game and prepared for multiplayer play. Rather than dive right in, I viewed some instructional videos, mastered (so I thought) the use of hot keys and completed the solo campaign. After some battles against the A.I., I felt I was more than adequately prepared to face league play. A short stint in the practice league reinforced this, so off I went play my 1v1 placement matches to determine my league. To my surprise I promptly lost all 5 matches and ended up near the bottom of bronze! I played a number of additional matches and made some small improvements. My biggest gains, however, came not from playing competitive matches but from seeking out training tips and deliberately practicing various elements of the game. For example, I found in matches that I frequently lost to Protoss players (one of the three races players can choose in the game). So I played a number of A.I. games solely against Protoss and gradually was able to increase the A.I. difficulty that I could consistently beat. </p>
<p>Starcraft 2 is a fun and entertaining game, but if you want to play in multiplayer league games and have a reasonable chance of wining - even in bronze - I recommend studying and practicing. One great source of information for doing so is <a href="http://e70130cft96ydm3lqcvlkmw0js.hop.clickbank.net/" target="_top">Shokz's Starcraft 2 Mastery Guide</a>.</p>
<p>Experiencing expertise in Starcraft 2 is a great reminder of the need for us as software developers to incorporate deliberate practice into our day to day activities in order to continue to improve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilv.com/psd/blog/2011/expertise-in-starcraft-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Great Game: The Battle for Wesnoth</title>
		<link>http://www.basilv.com/psd/blog/2006/a-great-game-the-battle-for-wesnoth</link>
		<comments>http://www.basilv.com/psd/blog/2006/a-great-game-the-battle-for-wesnoth#comments</comments>
		<pubDate>Tue, 26 Dec 2006 15:32:36 +0000</pubDate>
		<dc:creator>Basil Vandegriend</dc:creator>
				<category><![CDATA[miscellaneous]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.basilv.com/psd/blog/2006/a-great-game-the-battle-for-wesnoth</guid>
		<description><![CDATA[Happy Holidays! To match the festive mood this week, I thought I would write a lighter article about a great game I came across a while ago called The Battle for Wesnoth. It is a turn-based strategy fantasy game that offers compelling tactical and strategic choices with a wide variety of scenarios and content. Best [...]]]></description>
			<content:encoded><![CDATA[<p>Happy Holidays! To match the festive mood this week, I thought I would write a lighter article about a great game I came across a while ago called <a href="http://www.wesnoth.org/">The Battle for Wesnoth</a>. It is a turn-based strategy fantasy game that offers compelling tactical and strategic choices with a wide variety of scenarios and content. Best of all, the game is open source - completely free - and runs under all major operating systems (Windows, Mac and Unix). For an open source product, the graphics are amazing - there are even animations of unit attacking and dieing. Check out the screen shot below. There are more screen shots on the website, or you can just download the game and try it out.<br />
<img id="image71" src="http://www.basilv.com/psd/wp-content/uploads/2006/12/battle-for-wesnoth.jpg" alt="The Battle for Wesnoth - Screenshot" /></p>
<p>The game can be played in a variety of modes: single scenarios versus the computer or other people in multiplayer mode, or campaigns involving a set of scenarios. Each scenario is played out on a single map. You start the scenario with a leader and a certain amount of gold with which you can recruit new units or recall experienced units from previous scenarios when playing campaigns. Captured villages provide gold each turn, while most units have an upkeep cost you must pay each turn. Managing your gold is therefore a critical strategic consideration, since in the long term the side with the larger income will be able to recruit more units and field a larger army. Recruiting the right units is equally important. Your choice of units to recruit will depend on your faction: Elves, Dwarves, Undead, Drakes, Humans, or Orcs and Trolls. Generally units can be categorized as melee attacker, ranged attacker, scout or a more specialized role such as healer, skirmisher, etc. Each faction has its own flavor, which means that units of different factions in the same category are quite different. For example, the Elven melee fighter has a ranged attack, the Dwarven melee fighter has better armor, and the Orc melee unit is cheaper. Each unit has strengths and weaknesses, and many units have a counter. For example, horsemen are vulnerable to piercing weapons and have no ranged attack, so archers or spearmen are good choices as counters.</p>
<p>The tactical level is where the Battle for Wesnoth really shines. There are a wide variety of factors that influence individual combats. Units can have either a melee or a ranged attack, or both. Units attacking choose the type of attack, and the defender must use the same type. Thus archers attacking horsemen with their ranged attack will not take any damage. Each attack has a number of swings, and each swing has a probability of hitting based on the terrain the defending unit is in, which varies across units and factions. For example, elves defend best in forest, and dwarves in the mountains. Infantry units generally defend better than mounted or flying units. The damage dealt by a unit is affected by factors like the time of day - undead do more damage at night and less in the day - and the resistance the defending unit has to the type of attack - impact, blade, piercing, fire, cold, or holy. Moving and positioning units is also tactically important. Most units exert a zone of control which limits the ability of enemy units to move past them, which is important to shield damaged units or weaker healers from enemy troops. As mentioned above, terrain determines a unit's chance of being hit, so it is important to position units in advantageous terrain and force the enemy into poor terrain. Villages not only provide income, but heal units stationed in them and often offer good defense, so they are often important tactical objectives. </p>
<p>I could write more about the game play, but instead I want to address a different point more relevant to this website: why is this game such a good piece of software? I believe the primary reason is that the core developers have a very clear vision of what they want the game to be. Checking out the game <a href="http://www.wesnoth.org/forum/">forums</a>, and in particular the <a href="http://www.wesnoth.org/wiki/FrequentlyProposedIdeas">frequently proposed ideas page</a>, there are many posts suggesting new features such as new units or changes to the game play. The majority of the time, the response from the core developers is a brief "No", perhaps with a one-sentence explanation. A few of the suggestions are acknowledged as good ideas, but if they would change the essentials of the game they still receive a "No". Sometimes the reason given is simply "Developer preference". One common weakness of open source software is that when an idea is proposed, the core developers do not want to say "No", so they compromise by allowing the feature in the software but disabled by default, with an option to turn it on. This leads to a vast number of options, which makes for a bad user interface and more complicated software. The developers for the Battle for Wesnoth, by contrast, take a firm position on options. To quote from the <a href="http://wesnoth.org/forum/viewtopic.php?t=1158">frequently proposed ideas thread</a>: "Options are bad (OAB)! They complicate things for both the Developers and the players. If an idea isn't appropriate for inclusion, odds are it's not appropriate to be an option either." This consistently firm and decisive stance taken by the developers is only possible with a strong sense of purpose and vision concerning the software, and it is reflected in the final product.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basilv.com/psd/blog/2006/a-great-game-the-battle-for-wesnoth/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

