Rambling thoughts on InstantAction, Torque 2, and Component Architecture
by Dusty Monk · 10/25/2007 (7:17 am) · 9 comments
So I know I said I was going to talk some about loot, but I just finished spending several hours getting caught up on whats going on with GG these days, and their initiative with InstantAction, as well as some of the other things they're working on. And because it's the internet, and this is a blog, and out here everyone gets an opinion whether they should or not, I thought I'd throw in my two cents worth. I have absolutely zero interest in joining the circus on the forums, though I did find it amusing that a discussion that started about whether GG's current direction is a good one or not has devolved into bickering about whether or not Marble Blast constitutes a casual game.
I also commend Stephen Zepp for moderating with a great amount of civility and restraint a forum at which people who have made a career out of being forum trolls have come to roost. You couldn't pay me enough. So good on ye.
But what about GG? What about InstantAction? What about Torque? Well, a few things there.
First, the casual games market right now is absolutely exploding. Anyone can tell you that. And hand in foot with that are web based games and communities. I mean just look around. Disney recently bought Club Penguin for $350 million dollars. The fastest growing segment of the Xbox Live is the XBLA side of it. Games like Puzzle Quest are redefining how we look at casual games. Now if you had a company that had as its assets a rich collection of tools for enabling people to cater to that market -- wouldn't you? I mean seriously. And if you could form a partnership to create a platform upon which for people to play those games, and at the same time extend the types of games that people could play on that platform, wouldn't you do so? I sure as hell know I would. So yeah GG may have been founded with the idea of using the tribes engine, doctoring it up, and selling it to independant game developers as a leg-up tool, but industries change. Technology changes. And as a company if you don't evolve for your marketplace you won't survive. GG is just doing that.
Here's something else. People are going on and on about what casual games are and are not. What I don't think most people realize is that what defines "casual" has absolutely nothing to do with the kind of game it is. Well I mean it does for some people, but they're missing the point. Casual game are games that can be played casually. That means two things. (1) Short time frame., and (2) No barriers to play. The second is crucial, so I'll say it again. No barriers to play. Look if you want to play a PC game you have to go buy the game and bring it home and install it on your PC. That's a huge amount of work. Even if you want to play a console game, you have decide which console, go buy the console, then buy games for it, and only then do you get to play them. But as far back as ten years ago eight million people a day were playing games like tetris and bejeweled on AoL because it was right there! They didn't have to go anywhere or buy anything the game was just right fucking there and they played for 20 minutes before they had to go pick up the kids from school. That is casual!
The only reason I emphasize this point is because I think it's why GG has a chance.. a *chance* at success with this. If they bring games that us old timer hard core types think of as real games and reduce the barriers to playing those games -- make them easy as hell to play because they're right fucking there in my web browser, then they could be sitting on a gold mine.
But they have to hurry. Cause they're not the only ones that have realized that reducing barriers to play is the next explosion in gaming. Nintendo.. Steam.. XBLA.. everyone is lining up to figure out how to make games more approachable and easier to get to than ever before.
Now for the most part, I personally haven't been all that excited about GG's direction towards the casual gaming market. Because despite what I said up there, I, like everyone else, have a pretty clear concept of the kind of game you're talking about when you say casual game. And when I look at technologies like TGB and Torque X and the XNA initiative, I see those technologies being used to produce one type of game, and quite frankly those are not games I want to make. I know. It's stupid and stubborn. But I don't want to make Marble Blast Ultra or Zumo Extreme or Luxor's Revenge. I want to fucking make WoW. Those are the games I play and for as long as I can remember I've had the dream of creating a world of my own and inviting people to come and play in it. And recent success in that genre have embolded every other mother's son to do the same, so that these days you can't swing a dead cat on the GG forums without hitting an MMO developer. I find none of that deterring.
But you know.. GG has said they want to make a "console platform" for the web. I think that's an awesome way to think of it. The thing is, one of the major failures of the classic xbox was that they launched with no decent RPG's. None. And the same was true for the 360. Now since then games like Fable and Oblivion have come along and helped to address that some, but it wasn't that way at the start. So maybe what IA really needs to succeed is a decent RPG for people to play! Are you listening GG? :P Maybe in a year or two when the "platform" has stabilized a bit and shows some signs of legs, perhaps that will be exactly what they need. Just sayin..
Okay I've ranted a bit, but before I go I want to talk a bit about Torque 2. From what I've read, they're pretty much throwing out TGE(A) and starting over with a whole new engine, taking what they've learned from the last six years of working with the first engine. They're also doing what everyone else in the industry is doing right now and moving away from a heirarchical architecture, and moving towards a more componetized one. I think all this is smart, and it reaffirms my hope that they're not abandoning the "game engine" side of their business. What they haven't said yet, is whether or not the engine will be a general purpose engine, for building PC games as we currently know them, or whether they're working specifically to build an engine that caters to the web-based platform they're also building. You know? I think they haven't said anything about this yet because they're still trying to decide for themselves.
I sincerly hope its the former and not the latter. I've worked with a lot of game engines. When I picked up the Torque engine, I had very low expectations. I was getting something that I could afford to mess around with on the side -- something to build a proof of concept with. I didn't for a minute consider that I could use Torque for the real thing. I'm pleased to say that Torque has exceeded my expectations in just about every way. Yeah it's got kinks and hacks and bugs galore. Guess what. So does every other licensed engine on the market. But it serves as an excellent foundation for building your game, and the more I used it, especially since seeing the graphics and terrain overhaul in TGEA, the more I came to believe that this thing could actually be used for the real thing.
I hope that's what Torque 2 is. I hope they're committed to their statement about building the real thing. I know I would pay ten times what I payed for TGEA if I could get an engine that works to the same level of quality as Torque 1 has, but is capable of producing the kind of visual appearance that a game produced in 2009 or 2010 is going to have to have.
Finally, this is for any of the programmers at GG that might happen to have been bored enough to get to the bottom of this. I absolutely agree that creating a component based architecture is the way to go, and at where I work we recently just did the same thing with our engine. But I would advise caution against componetizing everything. The hierarchy still has it's place in some components. And there is still something to be said about being able to access things when you need it.
If at the end of the day all your physics shit is over in this compoenent and all your health information is over in that component and your damage capabilities are in a different component and you find yourself spending all your time traversing component trees to get to the data you need and wishing for the days when gawddammit it was just all in fucking player.cc ftlog, well then.. you've probably componetized too far. :) Good luck to you guys. Looking forward to seeing the fruits of that labor.
Next time, back to talking about my journeys in making game systems, and teh ph4ts l3wtz.
I also commend Stephen Zepp for moderating with a great amount of civility and restraint a forum at which people who have made a career out of being forum trolls have come to roost. You couldn't pay me enough. So good on ye.
But what about GG? What about InstantAction? What about Torque? Well, a few things there.
First, the casual games market right now is absolutely exploding. Anyone can tell you that. And hand in foot with that are web based games and communities. I mean just look around. Disney recently bought Club Penguin for $350 million dollars. The fastest growing segment of the Xbox Live is the XBLA side of it. Games like Puzzle Quest are redefining how we look at casual games. Now if you had a company that had as its assets a rich collection of tools for enabling people to cater to that market -- wouldn't you? I mean seriously. And if you could form a partnership to create a platform upon which for people to play those games, and at the same time extend the types of games that people could play on that platform, wouldn't you do so? I sure as hell know I would. So yeah GG may have been founded with the idea of using the tribes engine, doctoring it up, and selling it to independant game developers as a leg-up tool, but industries change. Technology changes. And as a company if you don't evolve for your marketplace you won't survive. GG is just doing that.
Here's something else. People are going on and on about what casual games are and are not. What I don't think most people realize is that what defines "casual" has absolutely nothing to do with the kind of game it is. Well I mean it does for some people, but they're missing the point. Casual game are games that can be played casually. That means two things. (1) Short time frame., and (2) No barriers to play. The second is crucial, so I'll say it again. No barriers to play. Look if you want to play a PC game you have to go buy the game and bring it home and install it on your PC. That's a huge amount of work. Even if you want to play a console game, you have decide which console, go buy the console, then buy games for it, and only then do you get to play them. But as far back as ten years ago eight million people a day were playing games like tetris and bejeweled on AoL because it was right there! They didn't have to go anywhere or buy anything the game was just right fucking there and they played for 20 minutes before they had to go pick up the kids from school. That is casual!
The only reason I emphasize this point is because I think it's why GG has a chance.. a *chance* at success with this. If they bring games that us old timer hard core types think of as real games and reduce the barriers to playing those games -- make them easy as hell to play because they're right fucking there in my web browser, then they could be sitting on a gold mine.
But they have to hurry. Cause they're not the only ones that have realized that reducing barriers to play is the next explosion in gaming. Nintendo.. Steam.. XBLA.. everyone is lining up to figure out how to make games more approachable and easier to get to than ever before.
Now for the most part, I personally haven't been all that excited about GG's direction towards the casual gaming market. Because despite what I said up there, I, like everyone else, have a pretty clear concept of the kind of game you're talking about when you say casual game. And when I look at technologies like TGB and Torque X and the XNA initiative, I see those technologies being used to produce one type of game, and quite frankly those are not games I want to make. I know. It's stupid and stubborn. But I don't want to make Marble Blast Ultra or Zumo Extreme or Luxor's Revenge. I want to fucking make WoW. Those are the games I play and for as long as I can remember I've had the dream of creating a world of my own and inviting people to come and play in it. And recent success in that genre have embolded every other mother's son to do the same, so that these days you can't swing a dead cat on the GG forums without hitting an MMO developer. I find none of that deterring.
But you know.. GG has said they want to make a "console platform" for the web. I think that's an awesome way to think of it. The thing is, one of the major failures of the classic xbox was that they launched with no decent RPG's. None. And the same was true for the 360. Now since then games like Fable and Oblivion have come along and helped to address that some, but it wasn't that way at the start. So maybe what IA really needs to succeed is a decent RPG for people to play! Are you listening GG? :P Maybe in a year or two when the "platform" has stabilized a bit and shows some signs of legs, perhaps that will be exactly what they need. Just sayin..
Okay I've ranted a bit, but before I go I want to talk a bit about Torque 2. From what I've read, they're pretty much throwing out TGE(A) and starting over with a whole new engine, taking what they've learned from the last six years of working with the first engine. They're also doing what everyone else in the industry is doing right now and moving away from a heirarchical architecture, and moving towards a more componetized one. I think all this is smart, and it reaffirms my hope that they're not abandoning the "game engine" side of their business. What they haven't said yet, is whether or not the engine will be a general purpose engine, for building PC games as we currently know them, or whether they're working specifically to build an engine that caters to the web-based platform they're also building. You know? I think they haven't said anything about this yet because they're still trying to decide for themselves.
I sincerly hope its the former and not the latter. I've worked with a lot of game engines. When I picked up the Torque engine, I had very low expectations. I was getting something that I could afford to mess around with on the side -- something to build a proof of concept with. I didn't for a minute consider that I could use Torque for the real thing. I'm pleased to say that Torque has exceeded my expectations in just about every way. Yeah it's got kinks and hacks and bugs galore. Guess what. So does every other licensed engine on the market. But it serves as an excellent foundation for building your game, and the more I used it, especially since seeing the graphics and terrain overhaul in TGEA, the more I came to believe that this thing could actually be used for the real thing.
I hope that's what Torque 2 is. I hope they're committed to their statement about building the real thing. I know I would pay ten times what I payed for TGEA if I could get an engine that works to the same level of quality as Torque 1 has, but is capable of producing the kind of visual appearance that a game produced in 2009 or 2010 is going to have to have.
Finally, this is for any of the programmers at GG that might happen to have been bored enough to get to the bottom of this. I absolutely agree that creating a component based architecture is the way to go, and at where I work we recently just did the same thing with our engine. But I would advise caution against componetizing everything. The hierarchy still has it's place in some components. And there is still something to be said about being able to access things when you need it.
If at the end of the day all your physics shit is over in this compoenent and all your health information is over in that component and your damage capabilities are in a different component and you find yourself spending all your time traversing component trees to get to the data you need and wishing for the days when gawddammit it was just all in fucking player.cc ftlog, well then.. you've probably componetized too far. :) Good luck to you guys. Looking forward to seeing the fruits of that labor.
Next time, back to talking about my journeys in making game systems, and teh ph4ts l3wtz.
About the author
Dusty Monk is founder and president of Windstorm Studios, an independant game studio. Formerly a sr. programmer at Ensemble Studios, Dusty has worked on AAA titles such as Age of Empires II & III, and Halo Wars.
#2
Actually we have, but I can see and recognize that the message is not quite being made clear yet due to both the timing of the announcements, as well as us being careful about managing expectations, so let me make a few things as clear as I can:
--Torque 2 and IA are two completely different projects, with completely different teams. IA is not an intended consumer of the Torque 2 product directly. Yes, of course we'd like to games that get accepted for IA (it is a managed portfolio) use Torque, but it's not even an acceptance criteria for your game to qualify or be accepted on IA.
--Torque 2 is making the differences between engine, toolset, and application (your game, if that's what you are making, or a trainer, or visualizer, or whatever) much more clear. The engine itself (which is all we'll be talking about for quite a while--months) is becoming even more agnostic than the underlying engine always has been--so no, you won't be tied to making 2D puzzle games, fps's, or anything like that. In fact, you'll be even less coupled to these game types than you have been in the past.
--It's too early to even speculate on the form, nature, target market, or focus of tools products that will work with Torque 2, and especially their timing of release. It is a concern to both me and the product team that the first tool set out the door is going to label Torque 2 as an "xxx engine", just due to the reality of how the market works--but it would/will be an inaccurate label. The Torque 2 engine will be extremely flexible and adaptable to any type of game or project you want to make.
10/25/2007 (9:02 am)
Quote:
What they haven't said yet, is whether or not the engine will be a general purpose engine, for building PC games as we currently know them, or whether they're working specifically to build an engine that caters to the web-based platform they're also building. You know? I think they haven't said anything about this yet because they're still trying to decide for themselves.
Actually we have, but I can see and recognize that the message is not quite being made clear yet due to both the timing of the announcements, as well as us being careful about managing expectations, so let me make a few things as clear as I can:
--Torque 2 and IA are two completely different projects, with completely different teams. IA is not an intended consumer of the Torque 2 product directly. Yes, of course we'd like to games that get accepted for IA (it is a managed portfolio) use Torque, but it's not even an acceptance criteria for your game to qualify or be accepted on IA.
--Torque 2 is making the differences between engine, toolset, and application (your game, if that's what you are making, or a trainer, or visualizer, or whatever) much more clear. The engine itself (which is all we'll be talking about for quite a while--months) is becoming even more agnostic than the underlying engine always has been--so no, you won't be tied to making 2D puzzle games, fps's, or anything like that. In fact, you'll be even less coupled to these game types than you have been in the past.
--It's too early to even speculate on the form, nature, target market, or focus of tools products that will work with Torque 2, and especially their timing of release. It is a concern to both me and the product team that the first tool set out the door is going to label Torque 2 as an "xxx engine", just due to the reality of how the market works--but it would/will be an inaccurate label. The Torque 2 engine will be extremely flexible and adaptable to any type of game or project you want to make.
#3
Thanks guys for takin the time to drop by and elaborate on some those issues. It sounds like you're very much doing the thing I was hoping you are doing, which is keeping Torque 2 a general purpose engine upon which you can build your game.. visualizer.. what have you, and not making it into the IA SDK.
As long as you're poking around here, would you be able to speculate on whether or not Torque 2 will continue to maintain the same level of functionality as the existing engine? One of the things that appealed to me the most about TGE was its feature set -- robust network architecture, competent physics sim, and a functional vehicle sim foundation. I can see a case where these things were layered out into separate pieces, or left to the developer to build upon the agnostic foundation that GG provided. I can understand that if you're building Battlechess 3000, you probably don't care about the vehicle sim. IMHO, though, that would be a shame, as those are the things that competing products like Ogre, GameStudio, etc don't provide. And as a developer, I liked that I knew I was getting a system in which those things all were able to work together (mostly. ;) ).
10/25/2007 (9:39 am)
Quote:
--It's too early to even speculate on the form, nature, target market, or focus of tools products that will work with Torque 2, and especially their timing of release. It is a concern to both me and the product team that the first tool set out the door is going to label Torque 2 as an "xxx engine", just due to the reality of how the market works--but it would/will be an inaccurate label. The Torque 2 engine will be extremely flexible and adaptable to any type of game or project you want to make.
Thanks guys for takin the time to drop by and elaborate on some those issues. It sounds like you're very much doing the thing I was hoping you are doing, which is keeping Torque 2 a general purpose engine upon which you can build your game.. visualizer.. what have you, and not making it into the IA SDK.
As long as you're poking around here, would you be able to speculate on whether or not Torque 2 will continue to maintain the same level of functionality as the existing engine? One of the things that appealed to me the most about TGE was its feature set -- robust network architecture, competent physics sim, and a functional vehicle sim foundation. I can see a case where these things were layered out into separate pieces, or left to the developer to build upon the agnostic foundation that GG provided. I can understand that if you're building Battlechess 3000, you probably don't care about the vehicle sim. IMHO, though, that would be a shame, as those are the things that competing products like Ogre, GameStudio, etc don't provide. And as a developer, I liked that I knew I was getting a system in which those things all were able to work together (mostly. ;) ).
#4
I can't guarantee every single possible feature from generation X of Product Y gets moved to Torque 2, but the development model is an iterative refactor of existing technology, with the architecture changes that have been previously discussed.
Someone's hypothetical "favorite feature AAA" may not necessarily be in the first set of iterations, or even possibly planned for at all of course, but we want Torque 2 to benefit from and leverage our existing capabilities whenever appropriate for sure.
10/25/2007 (9:45 am)
Quote:
As long as you're poking around here, would you be able to speculate on whether or not Torque 2 will continue to maintain the same level of functionality as the existing engine?
I can't guarantee every single possible feature from generation X of Product Y gets moved to Torque 2, but the development model is an iterative refactor of existing technology, with the architecture changes that have been previously discussed.
Someone's hypothetical "favorite feature AAA" may not necessarily be in the first set of iterations, or even possibly planned for at all of course, but we want Torque 2 to benefit from and leverage our existing capabilities whenever appropriate for sure.
#5
10/25/2007 (12:23 pm)
Nice blog. I won't agree or disagree with anything, but I found it an educated and entertaining read despite no pictures :)
#6
Stephen do you have a target market defined for IA? Will only cater to casual games or will there be a chance for something more? I have seen other threads wondering if it would allow projects outside of the casual game space like simulators/trainers or something like that.
10/25/2007 (2:39 pm)
Quote:
--It's too early to even speculate on the form, nature, target market, or focus of tools products that will work with Torque 2, and especially their timing of release. It is a concern to both me and the product team that the first tool set out the door is going to label Torque 2 as an "xxx engine", just due to the reality of how the market works--but it would/will be an inaccurate label. The Torque 2 engine will be extremely flexible and adaptable to any type of game or project you want to make.
Stephen do you have a target market defined for IA? Will only cater to casual games or will there be a chance for something more? I have seen other threads wondering if it would allow projects outside of the casual game space like simulators/trainers or something like that.
#7
10/25/2007 (5:47 pm)
I think it has been said many times IA is not a casual game venture to start with. The goal is full blow games like RPGs and FPSs and things of that nature. Pretty loft goal I say but if they can pull it off they will will make so much money I think it will make wii look like joke.
#8
10/25/2007 (8:38 pm)
Quote:lol! Thanks for the kind words. I promise my next blog will have some screenshots or video or some visual aids of some sort! :)
Nice blog. I won't agree or disagree with anything, but I found it an educated and entertaining read despite no pictures :)
#9
Componentizing everything in search of a perfect model can be a bad thing from the user point of view. After, you can spend more time assembling together the different components than using them.
You always have to keep in mind that your product must remain SIMPLE or PRACTICAL to use. That's my primary goal when I made a tool or library or component. If at the end, I find my component powerfull but hard to use, then, it's a failure, however powerful it is.
But I'm sure GG dev. know what their stuff.
Finally, as a good componenent structure that I use for several years, you can have a look at Macromedia/Adobe Director with its 'xtras' architecture.
Nicolas Buquet
10/26/2007 (1:01 am)
From my developer experience, I agree with Devon about the componentizing process.Componentizing everything in search of a perfect model can be a bad thing from the user point of view. After, you can spend more time assembling together the different components than using them.
You always have to keep in mind that your product must remain SIMPLE or PRACTICAL to use. That's my primary goal when I made a tool or library or component. If at the end, I find my component powerfull but hard to use, then, it's a failure, however powerful it is.
But I'm sure GG dev. know what their stuff.
Finally, as a good componenent structure that I use for several years, you can have a look at Macromedia/Adobe Director with its 'xtras' architecture.
Nicolas Buquet

Associate Ross Pawley