GDC 2008, Day 1
Even though the Game Developer's Conference technically starts on Monday, I always call Wednesday the first day of the main conference. A lot of people ask me why I go to this conference at all. Other people at the conference ask me why I go to the actual sessions. All I can say is that it's a huge melting pot of semi-conflicting ideas. There's nothing else like it.
Player Generated Content
Daniel James (Puzzle Pirates), Brian Goble (Hipsoft), and a guy from IMVU talked about their experiences with player-generated content. Bottom line is that it's awesome, that it takes some system to manage it, but that it's really worth it. Goble explained that his word game that's been out four years now has had 2.9 million player-submitted phrases (kind of like Wheel of Fortune phrases). Only 19,000 of those are approved, but this is way more than the development team could have ever created (there are several requirements for what makes a phrase good for the game).
IMVU has a great business model. Players can create models/textures for avatars (in maya/photoshop) and upload them for sale. Users buy credits from IMVU. They spend the credits buying cool avatar stuff and 50% goes to IMVU, 50% to the content creator. The content creators do NOT sell those points back to the company to cash out, though. Some users use the points they earn to simply buy other people's cool avatar stuff. Creators that make more credits sell them back to customers on a secondary market (the price has stabilized to somewhere around 60 cents on the dollar). There's even a, uh, tertiary market of companies that buy points from creators, then do all the marketing and web transaction stuff needed to efficiently sell those points back to users. These companies take about 10% for their services. Bottom line is that money flows into IMVU and doesn't flow out. They make bank.
Microsoft
To give you an idea how much the Microsoft guy said "democratizing," he even had a joke about how he said democratizing too much. But you know what? Microsoft really *is* democratizing games if their new XBLA service works how they said it did in this lecture.
Step 1, join the Xbox Live Creator's Club. Use XNA Game Studio to make a game. When you're done, submit the game and fill out some forms about how much violence your game has or whatever.
Next, other members of the Creator's Club can play your game and rate it. They don't even rate if it's good or not, just if you were honest about the level of violence or strong language or whatever that you claimed you have. Once you pass this part (remember, you can't get vetoed for having a weird game or a bad one), then your game is fully available to ALL XBLA customers. Yes, all. Not just people in the Creator's Club. WOW! I've been waiting for that forever, awesome job Microsoft. I wonder about all those TCRs though, like the million requirements about naming the menus right, having help text right, when to use the B button for back and so on. Hmm.
Also, I happen to be in a super-fortunate position where I can get something approved on the full XBLA service in the first place without going the Creator's Club route (if only I had an actual team...please join me), but this Microsoft news is truly awesome for the industry.
Blizzard
When Rob Pardo talks, people should listen. He spoke about multiplayer design. He first stressed that you must design multiplayer FIRST, or at least that's how Blizzard does it. Multiplayer games have more constraints and restrictions, so it's important to figure that out first, then do single player. If you did it the other way around you'd have to rip out a bunch of single-player stuff you came up with that won't work in multiplayer. As an example, Warcraft 3 had about 4 years of development time, but the entire single-player campaign was done in the last 9 months.
He spoke a lot about "skill differentiation." That means giving players lots of ways for them to show their skills. He warned against recent games going in the other direction, such as more auto-aim stuff in first-person shooters. "Twitch" gameplay is a very deliberate feature of Stacraft, he says, because it gives players that much more to master (in addition to managing their economy, multitasking, knowing the capabilities of each race/unit, and knowing the maps).
As one example, he talked about how in Starcraft you can only select 12 units at a time. On Starcraft 2 they argued a lot about whether you should be able to select unlimited, or keep it at 12. Keeping it at 12 gives the player one more thing to master because it's much easier to manage a large group of units if you can select them all at once. In the end, they decided to allow unlimited selection even though it goes against the "support skill differentiation" rule-of-thumb because players thought the restriction was arbitrary and felt like broken Ui.
I'm personally surprised they would even consider keeping the 12 unit selection limit because it tests a skill I find irrelevant. Fighting with the UI shouldn't be valued skill. And, in my opinion, neither should a whole lot of other twitch things. There's plenty in the realm of strategy, timing, and knowledge that differentiates players without needing arbitrary walls like 12 unit selection limits or 8 frame windows for recognizing Dragon Punches. While I'm interested in eliminating a lot of pointless skill tests, Pardo seemed in favor of providing a whole lot of these. He *did* make Starcraft, Warcraft, and World of Warcraft though, so what do I know?
Pardo said a lot of great stuff I totally agree with, also. He let out one of my secrets that game balancing has little to do with math. It can *start* at math, but there's no way around being a real *player* of the game. "You have to know the nuances," he said, "not just watch replays." He said things like how much this or that unit suffers from the pathfinding in Starcraft isn't in the spreadsheet math. And knowing that 1 zealot beats 2 zerglings, or whatever, is nice, but it doesn't matter to the level of detail some designers think it does. It matters if Protoss beat Zerg, but that's a much higher level, complicated question. Also, using just math to balance can lead you to very "boring, but fair" answers. Moves ideally *feel* extremely powerful, he says, even though they are fair. He advised against "super weapons" though. That means a weapon or move so powerful that you feel like there is nothing you could possibly have done. The nuclear launch in Starcraft is his example of how to do this right: it feels like a super-weapon sort of, but has LOTS of ways to counter it. (They neeed a cloaked ghost nearby, a laser sight, there's a red dot and a timer, etc, etc.)
Use your betas well, Pardo says, because you never get as long as you'd like. If there is a move or strategy you wonder about, start the beta with that move or strategy set to "too powerful" levels. Then people will try it. Then nerf it a bit. Then a bit more if you need to. If you start with it too weak, then no one will try it at all. When you make it more powerful, even if you really made it TOO powerful, no might notice in the beta because they have been trained to consider it pointless already.
I nodded in agreement as he explained that while you need to patch to fix balance stuff, you should NOT do this too frequently. If something appears too powerful, it doesn't mean it is (I've been saying that forever!). It's very possible that players will find counters and eventually the "overpowered" thing will seem pretty fair in comparison. If you fix every little thing that appears overpowered, players learn to not even try to counter anything. They just wait for you to solve all their problems. Let the metagame develop a bit before balance patching.
Don't have tons of special effects. Artists have a tendency to turn up the effects, he says, but it gets in the way of gameplay. Don't let them. He said Warcraft 3 has too many effects and sometimes you can't even tell what's happening.
Pardo also stressed having the right amount of complexity in your game. I have said for a long time that 30 moves is some kind of magic number that's about right. Pardo's magic number is 15 units in an rts. You want enough that players can be expressive and learn nuances, but if you have TOO many then it's a huge mess and no one even knows what's what. Amen to that. Incidentally, that's why Guild Wars is confusing. In Magic: The Gathering, there's a million cards, but it's a turn-based game where you can read each card. In Guild Wars, it's real-time and even though one character can have only 8 moves, it's 8 from a huge pool. It ends up with that "who even knows what's-what" syndrome (except for expert players).
I would love to make a "wow-battlegrounds" like game that has clearly defined classes/abilities. Not a million. Think about 15 units in Starcraft, 30 moves in Street Fighter, and 9 classes in Team Fortress 2. Manageable stuff that a player can wrap his/her head around.
Another amen to Pardo saying bigger maps are not better. More maps are also not better. You want as few maps as you can get away with and as small maps as you can get away with. I wish the media would figure this out. He said Warcraft 3 has about 8 maps per map-type because if it's too many, people don't really learn the nuances of the maps and it divides up the players too much anyway. If the maps are too big, they become less and less fun because travel time takes too long. Small maps are faster and just more fun.
I was amused to hear that Pardo keeps some stats secret on purpose because he's forced into this political game with the players. If players THINK a certain race/class whatever is imbalanced, then a snowball effect happens where more and more players jump onto it, fewer and fewer try counters of another race/class, and things generally get pretty unhappy. This snowball can startup even when players see stats that are like 51%/49% on something, so Blizzard never publishes stats what the win rate is between Orc and Undead, for example.
Pardo said a lot of stuff beyond all this, even. Good stuff, but that's enough for now.
Jonathon Blow
Jonathon Blow is outside of the box. I thought he had trouble expressing some of his ideas, but hardly anyone else is even attempting to express the ideas he brings up in conference after conference, so I'll cut him some slack. A lot of slack, actually, he deserves it.
He started with a quote from the New York Times review of Halo 3 saying something close to "As cinema evolved, it developed the ability to transform as well as to entertain." For some period of time, there mostly notable films had some kind of technical achievement, but only after a certain year (which I forget) do we now say films started to really have the power to "transform," meaning to make a real impact on people's lives. That New York Times Review said that games poised to make this transition from only entertaining to really transforming, and that Halo 3 is NOT a step toward that. Ha.
Mr. Blow's point is that he thinks we're not even as poised to make that transition as the NYT reviewer said. We're pretty far off, he said, and we're not doing great yet. Blow says he's matured over the years, but games mostly haven't and offer the same-old same-old without making much of a real impact on anyone.
To give some perspective, he talked about one way to make design decisions. In the consumer-goods view of a game, you make the game to make money. There's always design tradeoffs, so when you make your decisions about what to do and what not to, your guide is to choose the things that will make the game sell more. If adding only the minimum number of features to your yearly release is how you maximize money, then that's what you do.
Another way to approach design is to have some kind of "goodness" scale. Do X and the game is more fun (to you maybe, but also to your focus group of players, and your guess at the wide-world of players). You make your decisions in order to maximize the fun or enjoyment of the game. He pointed out how really stupid this all sounds, but he wants us to at least acknowledge that these are two different ways of doing things, and yeah, they are.
Then he really cut into the game industry. He said that we've gone way too far in making only games that are a certain type of "fun." They give the players fake challenges, then shower them with external rewards (rather than the real internal rewards). We make them feel awesome for doing the most routine things, and the whole sharade is empty and inauthentic. His example of one end of the spectrum was God of War (a power fantasy where you easily kill a zillion enemies who exist only for you to easily kill them) and on the other end, Peggle(sp?), a casual game that showers you with fireworks and sound effects when you solve the most easily solvable puzzles. (Disclaimer: I know the people made God of War and I happen to like it!)
Blow says much of the problem comes from games having trouble with the concepts of difficulty and challenge. If you want to tell a story, for example, then you need good pacing. If you want good story inside a first-person-shooter, then you just committed to some type of challenge-based gameplay. If it's too hard, then it ruins the pacing of the story. If it's too easy, why even having this aiming/shooting thing at all? So far the answer is to create these fake challenges that aren't that hard but kind of seem like you are cool for completing them, then occasionally tossing in a real challenge to help with the overall illusion.
Blow says we should be thinking of completely different kinds of challenge. Action/Skill challenge is one we do all the time, as well as problem solving. He asks what about challenges like curiosity, social challenge (trying to fit into an awkward social situation), perceptual challenges (like in Space Giraffe), ethical challenges, aesthetic challenges, or parasympathetic challenges (like in Wild Divine) to name just a few.
He also talked about how backwards it is to say "I'm going to make an fps, and I want it to have great story." He advocates we instead think of some genuine idea or emotional/intellectual territory to explore, and then ask "what kind of game can best explore this." He fully admits that this will not make as much money as a game that panders to the lowest common denominator, but that's ok. There are films like Transformers that are designed to make as much cash as possible. There are other films that are content with being seen merely by a reasonable number of people (rather than the highest possible number) and which have a real, deep impact on people, transforming the way they think and feel. The film industry has both and we need both.
Apologies to Jonathon for my poor summary of this. I could do a better job on this if I weren't trying to cram it in at 1am the night before Day 2.
Chris Hecker
I've only seen Chris Hecker a couple times and both times he seemed like he was using some sort of illegal stimulant. Apparently, he is just always like this. I took Chris's lecture as some sort of comedy experience or "ride." After 20 minutes of highly abstract stuff he said "From here on out, it's going to get a lot more abstract." He said this with a straight face and I literally laughed out loud. He also said such lines as "I don't know what this has to do with my lecture, or with games at all, but it seemed related (that was about Amazon's Mechanical Turk service). He also said "If you can invent something better than the triangle, then unlimited money awaits you." One of the questions at the end was actually "What was your lecture about?" and I'm not even making that up.
What his lecture was about is that there are few really hard problems we've solved in games that we solved really well. There is a similar character to these solutions. I won't go into the details, but let's just say they are awesome solutions. He talked a fair amount about "the triangle" being the biggest one, meaning a triangular polygon with a texture map. People tried all sorts of competing things like NURBS and other ways to describe meshes and surfaces, but the triangle apparently is the current king.
What he points out about this is that there's a bunch of STRUCTURE to a triangle...the xyz coordinates, the uv coordinates, the way it connects to other triangles, and that it can have a texture map. Then there's also the idea of the STYLE you can put on a triangle, namely the cool looking texture map. So programming people can play with all that first stuff because the computer understands the STRUCTURE of these triangles. Art people who know nothing about programming can play with the STYLE and create awesome 3D worlds and characters. Great solution!
He even said the triangle solution has had the biggest impact of any technoloyg in the history of games. But what SHOULD have had the biggest impact is AI. Too bad it hasn't.
Chris says that AI needs a STRUCTURE/STYLE solution. There needs to be some way that we can define a structure of how behaviors in AI work, then let non-programmers define the style of creating behaviors for particular characters. He means something deeper than just messing with stats on a spreadsheet, but not something that involves writing real code. Do you NEED code to describe AI? He says his first answer was yet, but now he thinks maybe not.
To sum it up in a catch phrase, he wants "The Photoshop of AI." A program that non-programers could use to create AI. He thinks we are no where near doing this now, but that it is possible. He said we're far enough away that we're better off not even trying explicitly for this yet, but on just generally understanding AI better first, and once we do, it will become more clear how to create that "Photoshop of AI."
Yes I know that if you know enough about AI to appreciate this, then my quick summary feels far too lacking. Sorry! You're better off talking to super genius Chris Hecker than me about this anyway. ;)
That's it for Day 1.
--Sirlin


February 21st, 2008 at 4:17 pm
[…] admin: […]
February 21st, 2008 at 4:28 pm
[…] Sirlin.net â?? Your source of shocking insights on game design added an interesting post today on GDC 2008, Day 1Here’s a small reading […]
February 21st, 2008 at 4:33 pm
[…] Original post here […]
February 21st, 2008 at 4:35 pm
[…] Sirlin.net â?? Your source of shocking insights on game design created an interesting post today on GDC 2008, Day 1Here’s a short outline […]
February 21st, 2008 at 4:46 pm
[…] Regine wrote an interesting post today onHere’s a quick excerpt […]
February 21st, 2008 at 5:15 pm
[…] Original post by Sirlin.net â […]
February 21st, 2008 at 7:06 pm
I highly agree with Blow. In fact, I think I stress it on about every forum I visit no matter what the forum is about. Even when making other things besides games, it’s really important to start with a seed idea so that everything–design, graphics, combat, dialogue, whatever–can grow from that.
PS
Did you get to try SFIV or were you interested?
February 21st, 2008 at 9:09 pm
[…] GDC 2008, Day 1 […]
February 21st, 2008 at 9:53 pm
[…] jessewhite: […]
February 21st, 2008 at 10:31 pm
“Chris says that AI needs a STRUCTURE/STYLE solution. There needs to be some way that we can define a structure of how behaviors in AI work, then let non-programmers define the style of creating behaviors for particular characters. He means something deeper than just messing with stats on a spreadsheet, but not something that involves writing real code.”
This is untrue in a general sense. Many very popular puzzle and player versus environment games do quite well without any sort of AI per se. Other games, like chess, backgammon, poker or rock-paper-scissors can have very strong AIs.
Player-simulating AI tends to be rather poor. Especially in real-time games such as the ubiquitous first-person shooters, real time strategy games, and fighting games. Typically this is because the AI doesn’t really behave anything like a player. Because AI can have super-human reaction times, there are plenty of fighting games where it’s trivial to build AI that will, at worst, break even (for example in Street Fighter 3rd Strike, a Ken AI could parry everything except for throws, and DP those.) It’s theoretically possible to build AI that does better player simulation, but doing so would probably require a specifically AI-friendly game design, huge programming effort, or both.
February 21st, 2008 at 11:30 pm
Thanks for the report — very interesting reading.
As far as the 12 unit selection cap removal from the SC2 UI goes, you should see the Starcraft 2 forums sometime. It’s absolutely bonkers how many people are actually complaining about three or so interface improvements in SC2. Apparently new games should have clunky, decade-old interfaces. There are people who think that giving the ability for newly trained worker units to automatically begin gathering resources (as opposed to sitting around doing nothing until the player trivially commands them to) is going to RUIN THE GAME. Some think that tournaments or online ladder games should disable these interface improvements. It’s quite sad, really. If a clumsy UI makes for a better game, then maybe Starcraft 2 should use Warcraft 1’s interface, eh guys?
I know you’re busy and you’ve already written a lot, but did Pardo discuss AI at all? It sounds like they’re trying to give SC2 somewhat groundbreaking (for an RTS) AI, and I’m curious if that (or maybe more general AI concepts) was covered in his presentation.
February 22nd, 2008 at 12:09 am
“As far as the 12 unit selection cap removal from the SC2 UI goes, you should see the Starcraft 2 forums sometime. It’s absolutely bonkers how many people are actually complaining about three or so interface improvements in SC2. Apparently new games should have clunky, decade-old interfaces.”
If people think that the competition should be one of technique - i.e. how quickly a player can click things - then that makes sense. Overcoming unit stupidity has always been a big factor in the Blizzard RTS games. The game would be very different if it allowed coordinated fire and other sophisticated unit AI - consider, for example, how much more powerful an SCV would be if it automatically repaired units like a medic does, if stealth units preferentially attacked observers, or if any of the smaller ranged units had coordinated fire.
February 22nd, 2008 at 1:17 am
I have to disagree with Pardo. Twitch gameplay only makes sense if it forces players to make decisions under pressure (like countering in a fighting game and aiming in an FPS), rather than simply testing a mindless ability under pressure (like seeing how quickly you can mash your hotkeys to move all 60 zerglings across the map, or seeing if you can do a dragon punch motion in 8 frames).
Yes, players who are good at mindless skills tend to enjoy dominating players who aren’t good at said skills. But does that make a game good? No. It does not.
I completely agree with him on good map design though. Travel time kills a game, plain and simple. The guys at Infinity Ward know this too - they playtested vehicle maps for CoD4, but scrapped them once they saw how ridiculous the travel time was on foot and how spread out the players became once the maps were opened up enough for vehicles. CoD4 maps right now are just big enough that players are always hunting each other instead of simply travelling, and no jeep or tank could make that any more fun.
February 22nd, 2008 at 1:34 am
I kind of hate to argue the StarCraft 12 unit thing in the face of such other, far more interesting debates, but seeing as other people already brought it up…
I think it’s fallacious to treat the 12-unit cap as analogous to a small window of frames for executing a move in a fighting game. The latter is purely an execution concern which really has little effect on strategy. But in the case of StarCraft, the 12 unit cap is not simply an arbitrary test of how fast one can click; it actually interacts with human limitations in order to create strategy.
The fact that units in StarCraft require your attention in order to function optimally means you must treat your concentration as a resource. If you’re, say, expanding and involved in a battle at the same time, you have to make a strategic decision about how much attention you wish to dedicate to each event. Similarly, your opponent can attack sensitive areas in order to drain the attention you’re applying to some other area. There’s a wealth of strategic depth derived here which wouldn’t exist if you could simply select a ton of units and rely on them to go and do exactly what you want.
Granted, perhaps the mechanics of StarCraft aren’t the best way to implement such strategic considerations, but to portray them as arbitrary tests of execution that are irrelevant to game strategy is unfair.
February 22nd, 2008 at 1:46 am
“If people think that the competition should be one of technique - i.e. how quickly a player can click things - then that makes sense.”
But it only makes sense in the warped minds of people who believe that there should be a random number of frames in which a dragon punch can be executed and other ridiculous execution barriers. Thankfully, Pardo and co. don’t seem to be designing an RTS around the insane wishes of the elite top 1% of their player base.
I think PoisonDagger sums it up perfectly:
“Yes, players who are good at mindless skills tend to enjoy dominating players who aren’t good at said skills. But does that make a game good? No. It does not.”
As a final note: you realize that the four (that I can recall right now) “major” interface improvements in SC2 are nothing on the order of complex AI targeting scripts, don’t you? All three of them are things that “just make sense” — the sort of things that would make an ordinary gamer playing Starcraft 2 wonder “why can’t I do this?” I also think it would be strange for players to come from playing Warcraft 3 and wonder why the interface got worse.
February 22nd, 2008 at 1:49 am
Sorry for the double post, but in my post above:
“All three of them are things …”
Should read
“All four of them are things …”
February 22nd, 2008 at 2:54 am
———-
“Also, I happen to be in a super-fortunate position where I can get something approved on the full XBLA service in the first place without going the Creator’s Club route (if only I had an actual team…please join me), but this Microsoft news is truly awesome for the industry.”
———-
Where do I sign up?
Thanks for writing all this up, btw. I was thinking about finally going this year, but couldn’t;; Jonathan Blow has a great message, I hope more people get on board with him. That Chris Hecker guy sounded like he gave an awesome talk too. To NateTG: It really isn’t untrue at all. The reasons you were able to give so many examples of really bad AIs is just cause we don’t write them very well yet. Try out the chessmaster games for a chess AI that is fairly impressive at adjusting to player skill levels. Or Virtua Fighter 5 has been praised as having one of the best fighting game AIs yet created… the AI will actually do crazy things at low difficulties like spam the same safe punch combo at you over and over the way a weak player would… it’s really quite amazing how stylised they made each different AI opponent.
February 22nd, 2008 at 4:22 am
polarity:
“There’s a wealth of strategic depth derived here which wouldn’t exist if you could simply select a ton of units and rely on them to go and do exactly what you want.”
Uhh, what? Starcraft is such a deep game because there is far more to staving off harassment or attacking your opponent than simply throwing a bunch of idle units at the problem. Starcraft’s strategic depth most definitely does not come from the ability to select only up to 12 units at a time.
Should a Reaver drop take out 10 or more of my 20 mineral-gathering SCVs because I struggled to command all 20 SCVs to get out of the mineral line upon seeing the Shuttle unloading? Or should a Reaver drop take out 10 or more of my 20 mineral-gathering SCVs because the Protoss player began attacking one of my expansions just prior to the drop?
February 22nd, 2008 at 4:37 am
For Starcraft debaters: Interface improvements won’t decrease the skill factor of concentration and micromanaging individual guys. Supreme Commander is a great example of this: a competitive RTS with very smart unit AI, build macros and automatic grouping, that also requires lots of micro and constant attention on several fronts. When you are allowed to control everything at once, you are expected to do more with your time.
February 22nd, 2008 at 4:58 am
And hence, you end up doing more interesting and *fun* things instead of focusing on mundane interface tasks.
February 22nd, 2008 at 5:47 am
[…] AllanahK: […]
February 22nd, 2008 at 6:09 am
Mwuahaha, history is stacked against the hardcore who want to argue for a more limited interface. War2 players bitched about starcraft’s 12 player selection (war2 was 9). They also bitched about rally points, shared vision (in team games), 4 peon max on gas, no high resource settings, etc. I remember reading page long posts about how war2 was a fluke and its strategic depth would never be matched. But then starcraft did just fine :)
Then the same thing happened when war3 came out: starcrafters said it had a dumbed down interface, that auto casting casters were for noobs, and any form of random damage was for “fags”. Heroes forced you to play a certain way, creeping was lame, etc. Its not that those complaints were wrong or invalid… they just didn’t matter. War3, despite the haters, has done fine and is still played very competitively by many people. Its a deep, fun, exciting game that continues to evolve.
And the same will happen with starcraft 2. There will be the die hards that won’t touch it because it has more than 12 unit selection cap and MBS. Then you’ll have people that will play it and claim that the game is “solved” and/or “broken” within 6 weeks of the beta starting. These phases will come and go with patches, and eventually year(s) after release the haters will fade away (either back to starcraft or they will realize starcraft 2 is [hopefully] pretty damn fun).
Having played thousands of games of multiplayer War2, Star, and War3 I must say I love them all and can’t wait for star2. I will be going in with an open mind looking to play a new game that has its own strengths and weaknesses that make it different from the other ones. w00t to RTS games
February 22nd, 2008 at 7:01 am
An aristocratic mindset towards interface and execution can get into the psyches of players who have gotten to the top in a competitive game. They see being able to overcome the limits of the interface as the ‘blue blood’ that sets them apart from the ‘rabble’. It’s only to be expected that they will violently resist changes to the same because it democratizes what they’ve come to perceive as being vital areas of ’skill’.
To sum up this attitude:
“The rabble have no right to elevators. To get where we are today, we had to do the hard work of climbing stairs.”
February 22nd, 2008 at 7:59 am
Thanks for the nice report. I really need to make it to GDC again soon. I used to go, but I haven’t been there in a few years :(
February 22nd, 2008 at 8:32 am
XNA has been a bit of a mess so far. It’s a great idea but the execution has been really lacking.
If you go to the website it’s impossible to figure out what the hell XNA even is. It’s the exact same problem they had with .NET.
What are the terms and restrictions? Who can play my game? How can I distribute it? How do I make money off of it? How much of the underlying API is exposed by the libs?
All of these questions are either unanswered or have their answers buried somewhere away from view. It appears to be aimed at newbs. That’s the vibe it gives off. Right now XNA is a total dead-end for both PC and XBox development.
February 22nd, 2008 at 9:02 am
What are you talking about, James M? The tool pretty much just got out of development… the whole point of this announcement at GDC was that they’re finally ready to setup things like distribution channels. There was no answer before, because they hadn’t provided it yet.
As for the rest of it… no, it’s not meant as a tool for existing developers to use. Their main push seems to be providing it to college students and independent devs, as a simpler solution to writing console game than purchasing a full dev kit the way a studio would. That said, having spent some time with it myself, it seems to be pretty solid.
February 22nd, 2008 at 9:41 am
NateTG…
How is that untrue? I think you’re over generalizing and looking at the worst possible examples.
First, if a game is doing well without AI, then it doesn’t even apply to what he’s talking about.
Second, he mentions that we have a long ways to go.
Third, how could it POSSIBLY be bad if such an AI program existed?
February 22nd, 2008 at 11:57 am
XNA has been around for a while. It isn’t just out of development.
“Their main push seems to be providing it to college students and independent devs, as a simpler solution to writing console game than purchasing a full dev kit the way a studio would. “
Except that once you write your game you can’t do anything with it. It’s a pain in the ass to deploy to a PC and basically impossible to get onto on XBox. So what’s the point?
Why would a serious independent dev use XNA when there’s basically no way to distribute their finished work?
“There was no answer before, because they hadn’t provided it yet.”
That’s kind of my point. That’s why I said execution was lacking. Right now there is basically no reason to use XNA other than to have fun.
February 22nd, 2008 at 12:35 pm
How about you go look up the company “Torpex Games”, and go tell them there was no reason to use XNA. Or, instead… you could spend two seconds on the XNA website, and find quotes like this:
“Most of you are now probably asking, “Can I make money off of this?” Well, the answer is “Yes!”. While we don’t have all the specific details (the lawyers are huddled in the corner, making serious faces and muttering incomprehensibly, so we have to wait for their final word),…”
Releasing a serious development tool is just a slightly complex procedure… they aren’t done yet, and the legal contracts aren’t there. But everyone I’ve heard talk (like the Torpex guys, who’ve published at least one lecture on the topic) about XNA basically said it was incredibly easy to use compared to most old development environments.
Where are you coming up with your facts… it’s a complete joke to deploy on PC, and it’s not very hard to deploy something you wrote on xbox either… I haven’t paid them for the privelege yet, so I can’t give personal experience, but having read up on the procedure, it’s not something I found hard to understand.
February 22nd, 2008 at 1:09 pm
You just like to argue don’t you?
“While we don’t have all the specific details (the lawyers are huddled in the corner, making serious faces and muttering incomprehensibly, so we have to wait for their final word),…”
That’s the answer? Yes, but we can’t say how. Lol. If they can’t tell you HOW then the answer is clearly no. “We’ll tell you later” is just a nice way of saying “right now you can’t.”
As far as deploying it goes, on the XBox there is no distribution channel. The only way to get the game into the hands of other people is to go through the Creators Club and give it only to other creators. Other than that you can only submit it to MS and cross your fingers that they’ll put it on XBox live.
To get it on the PC users have to download random framework crap. Same problem there is with Java.
Yes, you can deploy it, but there’s no distribution channel. There is no easy way to get your game into the hands of players, and no way to get it in front of XBox players at all.
The whole point of Sirlin’s post is that they claim they are going to fix these problems. But they haven’t yet. Right now XNA development is basically a dead end.
February 22nd, 2008 at 1:14 pm
Actually, I have to kind of agree with James here. Don’t get me wrong, I think the XNA stuff is a fantastic idea, and I have no doubt that they’ll continue to expand on it and that it will become an effective platform to write games with(If you don’t care about PS3). However, the initial offerings definitely felt like works-in-progress.
I checked it out very briefly when it first came out. It looked like it had promise. And then I bought a creator account and checked it out for a short time when they first released 360 support. It was totally cool that I could make something and play it on my 360. However, it was far from commerical-quality. It had no networking support, no movie-playing support, and a handful of other major systems as well that I can’t recall right now. It also forced you to use the dumbed-down C# express environment instead of Visual Studio proper.
But the worst part of it all, was the shielding from the 360 itself. IIRC, in order to get content over to the 360 you had to add all your assets to your VS(err C# Ex) solution and do a post-build step to deploy them. On top of being a horrible workflow, it took ages to copy over these files. I have no clue what they were doing to your content as it was being copied over, but it was ridiculously slow.
On top of all of this, while I love C# and while I love the idea of using it to orchestrate a game(I mean hell, people have been using scripting languages for ages. It’s not that crazy of an idea), I’m not completely stoked about being limited to only using C#. I really, really wish that you at least had the option to use plain C++ if you needed it in places and wrap that with C++/CLI to expose it to the rest of your code. Not necessarily because I’m that concerned about speed, but it’d help tremendously to fill in the gaps. For starters, it’d let me fill in any missing core features myself(movies, networking, etc). But even more importantly, it’d give me the option to plug in 3rd-party stuff like Havok and such.
When the XNA stuff was first announced they also announced some kind of XNA-Pro that would be released in the future(this past spring), but that never came to be. I assume that this XNA-Pro would’ve allowed the mixed mode interop with the rest of the real XDK. But sadly, I think that project died out, since I haven’t heard anything about it since.
I’m also a little miffed about the XNA graphics stuff. They completely dumped Managed DX 2.0 in favor of XNA, which would be fine except for the fact that the graphics support in XNA is crippled compared to DX proper. This has made a real mess for anyone trying to write decent tools in C# since the old Managed DX stuff is deprecrated and has problems, and yet XNA isn’t as robust as it should be.
Anyway, I think this new announcement is really exciting. And I know that the XNA stuff has had a lot of additions and improvements to it since I last tried it. I’m also fairly sure that you can probably make some games with it today in a fairly reasonable manner. But to be fair it has been, and I’m sure will continue to be, a work-in-progress for at least a little while longer.
February 22nd, 2008 at 1:49 pm
Gamasutra has a good writeup of what the new process will look like. It looks good overall, but I’m still waiting for the answer to the question “how do I make money?”
XNA is clearly aimed at students and hobbyists, and much less so at developers, indies included. I’m not looking to get rich but if I’m going to contract out art I’d like to have some way to recoup losses.
February 22nd, 2008 at 4:10 pm
Sweet Johnny: My point was you shouldn’t criticize it for looking like a work-in-progress, because it is a work-in-progres… it’s not done yet, which they’ve made quite clear. I’m just wondering why people aren’t willing to accept that as an answer.
As for your specific complaints… they’ve already got a version that works with normal visual studio, last I heard, so it’s no longer limited to that express version (I hated that too;;). I think they’ve add support for a lot of the libraries you said were missing, like networking and such, but honestly I haven’t been keeping up with the specifics of every version. I stopped downloading the next update every time, cause honestly I’m willing to just wait until they finish (cause it’s still a work-in-progress, notice this trend here, James M >.>).
I think you’re being a little harsh on C#, too, Sweet Johnny. It’s not a scripting language, or an addition to C++, the way C++ is templates on top of C. It may look like Java, but it’s own language, and it’s nearly as powerful as C++ is (and a hell of a lot easier to write). One of the big things the Torpex guys go on about whenever they talk about making Schizoid is how great working in pure C# is. They seemed to feel that not having to deal with the stupid complexities of getting C++ code to compile more than made up for the time they lost trying to work around the limitations of early versions of XNA. It should only better for here.
James M: Yeah, I do like to argue, what of it? It’s pretty clear you do too. Honestly, I try to play devil’s advocate whenever possible… when people get defensive they tend to actually think about what they’re talking about, and then they’re more likely to tell me something interesting that I didn’t already know.
February 22nd, 2008 at 5:09 pm
“I would love to make a “wow-battlegrounds” like game that has clearly defined classes/abilities. Not a million. Think about 15 units in Starcraft, 30 moves in Street Fighter, and 9 classes in Team Fortress 2. Manageable stuff that a player can wrap his/her head around.”
Have you, perhaps, taken a look at Fury from the company Auran?
I personally haven’t played it, but I hear it’s pretty damn good.
February 22nd, 2008 at 5:47 pm
I’m fine with the XNA tools being a work in progress, the problem is without any distribution channel there is no point for real developers. There have been zero XNA games actually published so far, one is in the works but that is by “industry veterans” who were able to show the game directly to MS people.
It’s quite different from creating indie PC games because PC game distribution channels are open. Just create a website with a download link. With XNA you are gated by MS and there doesn’t appear to be any process to even submit the game for a chance at publication. They had a publishing contract contest at one point, but giving away contracts as a prize in a contest is amateur-hour crazyness.
XNA is aimed at students, hobbyists and small indie devs but once those people create games using XNA they are at a dead-end.
The new plan makes it easier to share games with other Creator’s Club members and eventually the broader XBox Live community but there’s no revenue model attached at this point.
February 22nd, 2008 at 7:37 pm
Claytus: I think we all agree that XNA being a work-in-progress isn’t a bad thing per se. It just is what it is. If you want to develop a serious indie game today, you could gamble on XNA eventually allowing you to be able to sell it or not. It’s your choice. But it’s not quite to the point where you can bank on it. Which, in my opinion is just fine. I’ll continue to wait and look at it seriously when everything is more complete.
Also, I certainly didn’t mean to sound harsh about C#. I love C#. I think it’s a great language. As I said in another thread, I’m developing my tool libraries in it because I think it is hands down the best platform for writing editors, viewers, etc. today. I’ve also written Managed C++ wrapper code in .NET 1.1 and C++/CLI wrapper code in 2.0 and it’s a pretty tedious and tricky process. I’d love to be able to write things entirely in C#. But that’s not always realistic.
However, what I was trying to point out is that the reality is that there are large holes in XNA. They’re continuing to provide more wrappers for stuff in the XDK, and that’s great, but they still have a ways to go. There are no C# versions of 3rd party libraries like Havok and many others that you can use. And I do take issue with them making the graphics libraries in XNA game-centric. This isn’t a rub against C# by any means, and for the most part not even a rub against XNA itself. I just wish I had the choice of using mixed code. If I did, it would lessen the burden on them greatly and I would have looked into using XNA as a serious platform long ago.
I think we all expect it will get there eventually. Im sure enough API will become available. Versions or replacements of popular 3rd part libs will become available. And hopefully reasonable distribution and sales channels will be put into place. I think our criticisms at currently stem more from being impatient than thinking it’s a bad platform ;)
February 22nd, 2008 at 9:53 pm
“How is that untrue? I think you’re over generalizing and looking at the worst possible examples.
First, if a game is doing well without AI, then it doesn’t even apply to what he’s talking about.
Second, he mentions that we have a long ways to go.
Third, how could it POSSIBLY be bad if such an AI program existed?”
Obviously, Sirlin’s description is second hand, but it’s not at all clear that AI (or, more specifically opponent automation) needs a STYLE/STRUCTURE solution like the one that is described considering that most of the poor automated opponents effectively suffer from fundamentally poor design, or generic computer or AI limitations. Generally speaking, there is a lack of clarity on the design goals or purpose of automated opponents in games that should be addressed first.
There’s a dichotomy of games - games where the AI problem is poorly understood or intractable like RTS games, Go, or Magic the Gathering, games where the AI problem is tractable like chess or Street Fighter. Clearly, for games where AI is fundamentally weak have more pathological issues than what is addressed in the ‘STYLE/SUBSTANCE’ approach that is suggested.
Because human-like automation is often more difficult and costly to implement, many games that have tractable AI problems will still have robotic opponents. (The most familiar example is probably the Street Fighter series.) Because these robotic opponents have very different characteristics than human players, player vs. machine play can easily lead to bad habits and weak play. This is really still an issue that should be addressed before discussions of style come into play.
On a more fundamental level, automated opponents turn a game from PvP to PvE. Sirlin, and others, have written about the different requirements for those two settings. Really it’s unclear that, aside from simulation or training, AI is even desirable for a PvE setting.
February 23rd, 2008 at 2:09 am
NateTG: You’re trying to declare the existence of a dichotomy that doesn’t actually exist. There’s two parts to making an AI: 1. make it strong enough to win the game. 2. make it weak enough to sometimes lose, and in so doing, make it feel like it lost in a similar way to a real human opponent. We’re really, really good at number 1, especially in games like street fighter. It’s child’s play to just tell the computer to parry, and reversal throw everything that gets tossed it’s way. The only hard part still is #2, which is the style problem that Sirlin was describing. There isn’t some unique gap between making an AI that isn’t godly overpowered, and making an AI that plays like a human. It’s just an issue of deciding which moves to prevent the AI from abusing. If we had this proposedd spreadsheet style program to define what an AI should play like, we could solve both these problems at the exact same time.
Sweet Johnny: Okay, that makes a lot more sense, you’re scripting language comment really confused me earlier (were you trying to say that since scripting languages work, obviously C# is superior to them and will work to, or something along those lines?). Also, I’d have to double check, but I still think you have some of the details wrong. The way .NET works, is that all the code gets compiled into the general .NET compiler language, and then from there it’s all compiled down into a normal executable. Don’t all the existing C++ libraries work fine with C# code, as long as you abstract them both into the .NET framework rather than literally trying to compile them together? Maybe it’s hard to do or something, I haven’t had much reason to try anything like that myself.
February 23rd, 2008 at 4:36 am
Claytus: Yeah, I was trying to say that C# is superior to the scripting languages used in games. There are still a lot people I’ve worked with who are of the opinion that C# is too slow to make games with and they turn up their nose at it’s garbage collection. And yet, many of them have never used C#, or at least used it seriously. At the same time, they’re really excited about using their own half-baked home-grown ref-counted systems and such. It’s kind of sad.
To me, the real reasons to avoid using C# for console games at the moment are if you want to make a cross-platform game for the 360 and PS3 and/or the lack of features and sales channel for the 360. If I was making a PC game from scratch today though, I’d probably use C# or a mix of C# and C++.
As for using C++ and C# together, I’m pretty sure the scoop is this: On the PC, you can mix C# XNA code, C++/CLI wrappers, and native C++ code together in any way you’d like. But on the XBox360 you can only use C#. So my gripe assumes that you want to develop for the console. I’m pretty sure that the reason why this is the case is that they don’t want people to be able to tamper with the system. They don’t want someone to write Achievement Point Generator - The Game! Or other such hacky things. Instead, they give you a sandbox and their trusted XNA framework and let you have any safe fun you’d like. So, I understand their motivation, but I still think it sucks in terms of wanting to make a serious game.
February 23rd, 2008 at 4:47 am
Interesting, guess I’ll have to look into that. I had assumed the 360 was just built as a more general .NET device. I know a lot of their “hack protection” is enforced by the fact that the dashboard itself runs as an “OS” of sorts, and it then generates a completely virtual environment for the games themselves to run in. I guess that means you couldn’t do some of the more low-level C++ hacky code anyway, since the games don’t have administrator rights, or any sort of direct device access. I wasn’t aware there was any explicit inability to to use C++ code, though.
March 3rd, 2008 at 8:31 am
Here’s an interview with Mondragon, a pro StarCraft player. Notice his comments about interface improvements on the third page. Apparently playing too much StarCraft warps the brain:
http://www.gamereplays.org/starcraft2/portals.php?game=33&show=page&name=mondragon_interview&st=2
March 7th, 2008 at 9:11 pm
[…] […]
March 10th, 2008 at 4:34 pm
[…] […]
March 10th, 2008 at 4:35 pm
[…] […]