From CS294-10 Visualization Sp11
- Karl He
- Saung Li
In real-time strategy (RTS) games, it is often difficult for new players, and even professional players, to formulate build orders and figure out how long it takes to implement them. Knowing build orders and how to deal with them are a vital part of RTS play. New, effective build orders completely change gameplay on a worldwide scale. While theorycrafting does take place, it is largely through experience that players learn to use and cope with build orders.
Timing is of utmost importance, as a player must have a certain amount of units to counter the other player's units. Often, players come up with ideas for what units to produce, and must play through multiple games to master the timing of the corresponding build orders. To allow players to focus on the builds, we plan to address this issue by developing a visualization tool that reveals the timings of builds and allow users to interactively compare them against other builds. This tool will allow users to visually make side-by-side time comparisons of different build orders so that players can gain a better understanding of them.
We will focus on developing this interactive visualization for Starcraft II, as it is arguably the most popular RTS game, but we believe our techniques can be generalized to other RTS games.
- Link to source code: File:Sc2vis.zip | Working Example (Testing in Chrome and Firefox)
- Link to final paper in pdf form: File:Sc2vis-paper.pdf
- Link to final poster: File:Sc2vis-poster.pdf
Jvoytek - Apr 06, 2011 03:50:14 pm
Although I have absolutely no experience with StarCraft, it sounds like you guys are well versed. It might be interesting to get actual feedback from players about the success of your visualization.
Dan - Apr 06, 2011 03:52:05 pm
By the end of the talk, it was clear how visualization relates to the RTS Strategy game. However, during most of the talk, a lot of what was talked about was more about the game in esoteric vocabulary that is hard to understand for the non-gamer. For example, the word build-order occurred over and over and never knew what it meant. It was hard to see where it applies to visualization. I think you should start off showing your mock-ups (or prototypes) and compare to the current visualizations in the beginning so people can see what you are talking about.
Brandon Liu - Apr 06, 2011 04:07:00 pm
Will there be a "end state" aggregate statistic that says, for example, how many resources you will have after say, 5 minutes? This would be useful since the build order covers an arbitrary time interval (like you mentioned, the built in build order monitor stops displaying data at some point)
Siamak Faridani - Apr 06, 2011 04:09:35 pm
I think a cool addition would be reversing this process and asking the gamer to draw the desired expansion and writing a bot that executes this plan :) you might have thought about this but I may have missed it.
Also I was not sure how you get the input data. Does Blizzard release the data for say diamond players and above?
David Wong - Apr 06, 2011 04:13:36 pm
Do players illustrate build orders with video as well? I like Maneesh's comment about the Gantt chart as it is quite related to what you're doing. Another consideration is depicting the build order with a graphical structure, as I'm assuming that's one way of representing the technical consistency with the actual game (eg. 2 pylons before you can build more units). Finally it'd be interesting to develop a textual input format that's an extention of what's currently in forums but can be imported directly into your system and have all the info needed.
Matthew Can - Apr 06, 2011 05:40:16 pm
In addition to visualizing a single user's build order, I think it would be interesting if you came up with ways to visualize several build orders at once for comparison. Taking this idea even further, you could gather many build orders from the StarCraft community (perhaps by following David's suggestion) and visualize aggregate data on what players do with their build orders.
Julian Limon - Apr 06, 2011 07:38:54 pm
I'm with Dan here. It was hard for me to understand the concepts and lingo at first because I have no experience in the game. However, I did get the sense of the main problems you're trying to address: showing progress, sequence, and status based on time and compare it with other uses. I wonder whether there are ways to visually show all the elements you have at a given time without requiring the user to hover over. You can probably use width to encode number and color to encode the different element categories (although I don't know if pylons et al. are finite).
Krishna - Apr 06, 2011 08:29:12 pm
Have you guys looked at visualization strategies for project scheduling ? Information visualization in project management and scheduling by Zhang may be useful. Also, you may want to search the decision support systems journal. Visualizing resource allocation tasks by Pu, P.; Melissargos, G. may also be useful.
Michael Cohen - Apr 06, 2011 11:50:04 pm
I had some similar thoughts to Julian; I see how the mockup you showed would be useful, but it seems like there's plenty of room to include more information "on the surface" and avoid the need for rollovers. For instance, why not have a line chart that follows the same time axis as the bars, and uses the other axis to show cumulative resources? (It may be a multiple-line or area chart if multiple resources need to be distinguished.) This would be akin to the Napoleon's March map where the temperature and time are encoded against the same axis that encodes E-W distance in the main map.
Sally Ahn - Apr 07, 2011 03:58:54 am
I was in the same boat with Dan and Julian...the StarCraft scenario wasn't quite clear to me for a while. One thing that might be useful for this visualization is an interactive slider for scaling the timeline in case it stretches beyond the screen space.
Michael Porath - Apr 07, 2011 04:27:22 pm
Same thing here: The domain space of your visualization was completely new to me. Thus, here are some more generic comments: It seems that time (build times?) is the central and most important measure. Thus, it would make sense to evolve the visualization around that. Have a look at the many timeline visualizations out there to get some inspiration on how to deal with that. Also, in that case, a horizontal alignment could make sense, because this is how time is normally depicted. Having that said, in your case I could also see something like http://www.guardian.co.uk/world/interactive/2011/mar/22/middle-east-protest-interactive-timeline working, where you align the types of events (pylons?) along a time axis.
Michael Hsueh - Apr 08, 2011 02:27:30 am
I have to admit, my knowledge of Starcraft is limited, but I have played the game some 10+ years ago and remember some things. I'm wondering how yours or existing visualization handle canceled / interrupted build sequences? Perhaps this is not a common or useful occurrence as it applies to build orders, but just a thought. I like your build-order specification tool that takes into account enforcing time / resource prerequisites. I think getting this right, or at least with a pretty tight bound will be an important challenge, as these timings can greatly affect what build orders are possible, and that in turn feeds back into those constraints.