What _I_ want
by David Stewart Zink · in Torque Game Engine · 02/12/2002 (9:43 am) · 12 replies
I am trying to create an alternative terrain engine so that in your .mis file you would say "new FlubbyTerrainBlock()" and get a terrain with different performance characteristics and/or behaviors (say you want to portal from a moon to a gas giant).
What I want is for my changes to be incorporated in the main source tree, so I can work on other modules later without re-merging this stuff over and over.
Note that this is the answer to that objection about creating unique games: my terrain engine would be unique, and I didn't say I'd contribute that; what I want to contribute is a framework that allows everyone to differentiate their games even more.
I also want a gate-keeper to keep the riff-raff out of the source tree. Contributions need to be:
1) Correct: apparently and nearly bug-free; not de-stabilizing.
2) Clarifying: every change should make the code that little bit easier to understand.
3) Fast Enough: We _are_ writing FPSes here!
4) Complete: it doesn't go in the main tree until it is finished.
5) Holistic: a change to rendering that implies additional net traffic needs to be evaluated as such.
6) Optional: any time a change involves a trade-off it needs to be disablable. Only pure wins (like most bug fixes or my isPow2() example) can go in straight.
& probably some other things.
What I want is for my changes to be incorporated in the main source tree, so I can work on other modules later without re-merging this stuff over and over.
Note that this is the answer to that objection about creating unique games: my terrain engine would be unique, and I didn't say I'd contribute that; what I want to contribute is a framework that allows everyone to differentiate their games even more.
I also want a gate-keeper to keep the riff-raff out of the source tree. Contributions need to be:
1) Correct: apparently and nearly bug-free; not de-stabilizing.
2) Clarifying: every change should make the code that little bit easier to understand.
3) Fast Enough: We _are_ writing FPSes here!
4) Complete: it doesn't go in the main tree until it is finished.
5) Holistic: a change to rendering that implies additional net traffic needs to be evaluated as such.
6) Optional: any time a change involves a trade-off it needs to be disablable. Only pure wins (like most bug fixes or my isPow2() example) can go in straight.
& probably some other things.
#2
My point is that if you add physics to my well-balanced racing game that is "more realistic" but "slower" then I will have to hunt you down and make you play Oni, because "kind of cartoonish" and "fast" was the way I liked my physics.
Non-optional trade-offs is bait-and-switch--people will hate you and leave you.
02/12/2002 (7:40 pm)
I agree making physics changes run-time configurable may not be worthwhile: they can always be compile or link time optional, however.My point is that if you add physics to my well-balanced racing game that is "more realistic" but "slower" then I will have to hunt you down and make you play Oni, because "kind of cartoonish" and "fast" was the way I liked my physics.
Non-optional trade-offs is bait-and-switch--people will hate you and leave you.
#3
"uh make me a plane and some explosions and a really cool effect. oh and make it so I can do it how I want"
I don't think "easy" needs to be a requirement, if it is we'll just see a whole lot of reliance on the people working on this. And yes... that is a bad thing.
Mainly since independent gaming should breed innovation, and if everyone is depending on other people to essentially make the code for em we will see people coding innovative features then a bunch of "oh lemme use" people who will take it, use it and not share new stuff.
Possibly "take one, leave one" sort of thing?
That way, the lazy folks who don't want to actually design stuff will not be able to leech everything unless they plan on coming up with something to help us all out.
That way, everyone can't just leech stuff without adding to the "core" stuff. Maybe a written agreement giving all "active" members of the TCP guaranteed mentions in the credits?
I know I'll be doing my best to help this out. I hope I don't seem selfish, I just want to make sure that everyone else who will be using features coming from this will at least give fair credit to it's contributors.
02/12/2002 (8:28 pm)
While I see your point, I really hope this project doesn't end up becoming a crutch for the lazy GG members (they exist? oh my!)"uh make me a plane and some explosions and a really cool effect. oh and make it so I can do it how I want"
I don't think "easy" needs to be a requirement, if it is we'll just see a whole lot of reliance on the people working on this. And yes... that is a bad thing.
Mainly since independent gaming should breed innovation, and if everyone is depending on other people to essentially make the code for em we will see people coding innovative features then a bunch of "oh lemme use" people who will take it, use it and not share new stuff.
Possibly "take one, leave one" sort of thing?
That way, the lazy folks who don't want to actually design stuff will not be able to leech everything unless they plan on coming up with something to help us all out.
That way, everyone can't just leech stuff without adding to the "core" stuff. Maybe a written agreement giving all "active" members of the TCP guaranteed mentions in the credits?
I know I'll be doing my best to help this out. I hope I don't seem selfish, I just want to make sure that everyone else who will be using features coming from this will at least give fair credit to it's contributors.
#4
Jeff Tunnell GG
02/12/2002 (8:41 pm)
I don't think many games will look same. The people that are asking the loudest for certain features will probably never finish a real game. That is why I don't think that the people actually able to contibute to the core of the engine should worry too much. People that are actually capable of contributing to the engine are the ones that are the least likely to "steal" another's idea.Jeff Tunnell GG
#5
David & Phil: I agree with David's points for the most part. But specifically, the modularity aspect. While I also feel that there is a complete category of things that do not really lend themselves well to modularity, things like terrain objects certainly can be engineered in a modular fashion such that a game could use either or all of the (hypothetical so far) terrain types available as needed. The trick is to produce an interface between the renderer, etc, and the terrains (for ex.) that is flexible enough to invite variety, but efficient enough not to negatively impact framerate.
Matt & Jeff: I understand Matt's position, but I think Jeff is correct for the most part. I myself have thought about what I would share (in the case that I had something worthwhile) and I have had a difficult time even sharing the vision for my own game as a result. Still, I have noticed that the people here do split into two groups: those who (for lack of a more diplomatic term - it's late) are clueless, and those who have actually made significant progress.
Me? I've been working hard to find a spot in that second group. Only time will tell. I find I'm hopelessly outclassed in many specific disciplines. Mostly math. Mebbe it would have been a good idea to go past my 2-year degree - hehe. What I want is what we have already - an open community where I can learn, and where those who know more than me are not too busy to give me nudges in the right direction. Everything else is cake. I have no illussions of sudden fame and fortune here. Just the chance to learn more about what is already a passion (for many if not all of us).
I certainly see the good in TCP and I expect it to be a success. I also hope that you don't mind me tagging along, with the promise that while I might ask a lot of questions, I certainly would not take without the appropriate blessing. And mebbe I can even contribute something occassionally.
Oh, last thing. If I start sounding like an annoying little brother, please just say so. I would appreciate it.
Whew! Where'd that come from? Well, I already wrote it, so I might as well pitch it out...
02/12/2002 (9:57 pm)
If the input of someone not in the same league with you guys is worthwhile...David & Phil: I agree with David's points for the most part. But specifically, the modularity aspect. While I also feel that there is a complete category of things that do not really lend themselves well to modularity, things like terrain objects certainly can be engineered in a modular fashion such that a game could use either or all of the (hypothetical so far) terrain types available as needed. The trick is to produce an interface between the renderer, etc, and the terrains (for ex.) that is flexible enough to invite variety, but efficient enough not to negatively impact framerate.
Matt & Jeff: I understand Matt's position, but I think Jeff is correct for the most part. I myself have thought about what I would share (in the case that I had something worthwhile) and I have had a difficult time even sharing the vision for my own game as a result. Still, I have noticed that the people here do split into two groups: those who (for lack of a more diplomatic term - it's late) are clueless, and those who have actually made significant progress.
Me? I've been working hard to find a spot in that second group. Only time will tell. I find I'm hopelessly outclassed in many specific disciplines. Mostly math. Mebbe it would have been a good idea to go past my 2-year degree - hehe. What I want is what we have already - an open community where I can learn, and where those who know more than me are not too busy to give me nudges in the right direction. Everything else is cake. I have no illussions of sudden fame and fortune here. Just the chance to learn more about what is already a passion (for many if not all of us).
I certainly see the good in TCP and I expect it to be a success. I also hope that you don't mind me tagging along, with the promise that while I might ask a lot of questions, I certainly would not take without the appropriate blessing. And mebbe I can even contribute something occassionally.
Oh, last thing. If I start sounding like an annoying little brother, please just say so. I would appreciate it.
Whew! Where'd that come from? Well, I already wrote it, so I might as well pitch it out...
#6
That's exactly what I was thinking, but I was too "nice" to say it :P
02/12/2002 (11:29 pm)
Posted by Jeff T. "The people that are asking the loudest for certain features will probably never finish a real game."That's exactly what I was thinking, but I was too "nice" to say it :P
#7
You write about "easy" being a bad requirement, but no one mentioned "easy". What are you talking about?
02/13/2002 (10:10 am)
Matt--You write about "easy" being a bad requirement, but no one mentioned "easy". What are you talking about?
#8
That said, I would love to see some point and click or drag and drop tools for the wanna-be's and those people that are simply interested in educating themselves or having fun making games or experimenting with a full blown engine. I could envision tens of thousands of people in this category since drawn from high schools and colleges around the world. I think we can develop our web and community tools so these people do not clog up the behind the scenes work being done, but they help us by providing enough money to keep everything going and also provide a steady pool of developers ready to "move up" and make a real game.
Jeff Tunnell GG
02/13/2002 (10:21 am)
I want to clarify my point a little. I totally welcome the people that are asking for the "moon" and have illusions of making "EQ meets Halo, but better". Everybody has to start somewhere, and they will quickly come discover it is much more difficult to create game than they thought. I have noticed quite a shift in the attitude of most of the longer term GG community memebers. Many are abandoning their grandiose ideas and either cutting back their game plan or joining up with other teams that stand a chance of completion.That said, I would love to see some point and click or drag and drop tools for the wanna-be's and those people that are simply interested in educating themselves or having fun making games or experimenting with a full blown engine. I could envision tens of thousands of people in this category since drawn from high schools and colleges around the world. I think we can develop our web and community tools so these people do not clog up the behind the scenes work being done, but they help us by providing enough money to keep everything going and also provide a steady pool of developers ready to "move up" and make a real game.
Jeff Tunnell GG
#9
If someone comes up with an interesting feature it has to be packed up and designed for even the least experienced person out there. While I agree that documentation and clairity are required, I was worried this meant "dumbing down" some of the more advanced features in order to allow someone with no coding experience to add feature X to their upcoming "halo meets Doom 3".
I do understand that from GarageGames' standpoint, the folks with lofty (and unreasonable) goals would help pay the bills. I have nothing against that, I'm just hoping that we also attract more of the skilled people. We have many of them now and it's great! I just hope that "Easy" additions won't make a mass of the GG community dependant on a few, or demanding of features or examples that might be unreasonable or too time-consuming.
I know... my "fears" are a bit off-base, but oh well. I gotta have something to talk about, don't I?
02/13/2002 (11:43 am)
By "easy" I thought the original poster meant as Jeff mentioned "click and play" sort of stuff.If someone comes up with an interesting feature it has to be packed up and designed for even the least experienced person out there. While I agree that documentation and clairity are required, I was worried this meant "dumbing down" some of the more advanced features in order to allow someone with no coding experience to add feature X to their upcoming "halo meets Doom 3".
I do understand that from GarageGames' standpoint, the folks with lofty (and unreasonable) goals would help pay the bills. I have nothing against that, I'm just hoping that we also attract more of the skilled people. We have many of them now and it's great! I just hope that "Easy" additions won't make a mass of the GG community dependant on a few, or demanding of features or examples that might be unreasonable or too time-consuming.
I know... my "fears" are a bit off-base, but oh well. I gotta have something to talk about, don't I?
#10
Jeff Tunnell GG
02/13/2002 (11:49 am)
I don't propose dumbing anything down. We need a robust system that allows the good people a chance to compete at the highest levels. I just want to have avenues for the wanna-be's to gett off the ground. What is going on here at TCP does not need to consider the newbie at all. My point was that we should not be disdainful of those peopel either.Jeff Tunnell GG
#11
And we don't put up roadblocks because we, too--experienced drivers--need to travel the same roads.
Certainly there are drivers who prefer to find unexpected garbage cans in their lanes so that they can demonstrate the swervability of their coupe and it's just so much more exciting, man!
But most of us are primarily interested in getting on down the highway, and a well-maintained highway is best for that.
Disdain for newbies has no place in any competent person's life. While some people are apparently competent at all things, I fully expect many modelers to be newbie scripters and many assembly-language performance gurus to be novice API-designers. I see no point in screwing over my team-mates to reinforce my uberness.
02/13/2002 (1:23 pm)
I would go both further and less far than that. We don't really need avenues for newbies to get involved, we mostly need never to put up roadblocks.And we don't put up roadblocks because we, too--experienced drivers--need to travel the same roads.
Certainly there are drivers who prefer to find unexpected garbage cans in their lanes so that they can demonstrate the swervability of their coupe and it's just so much more exciting, man!
But most of us are primarily interested in getting on down the highway, and a well-maintained highway is best for that.
Disdain for newbies has no place in any competent person's life. While some people are apparently competent at all things, I fully expect many modelers to be newbie scripters and many assembly-language performance gurus to be novice API-designers. I see no point in screwing over my team-mates to reinforce my uberness.
#12
Many newbies (well, we all were newbies at one time) are hard working and want to learn. I commend them, and I hope that GarageGames attracts more of these great people.
The only problem (well, that I have) with a small group of the "newbies" coming in and shouting out lofty goals, then saying "help me do it". If you don't, they respond rudely and well... that's annoying.
I agree, disdain for newbies is rude and "eliteist". It's something GG needs nothing of. Although, I can understand some peoples' frustration because I have seen a few posts from lazy folks who have responded rudely when someone either offers a polite suggestion, or a reccomendation that caters a bit better to their skill level.
For you coders out there...
(Newbie!=Bad)
(Lazy==Bad && Rude==Bad)
02/13/2002 (5:06 pm)
Disdain for newbies, and disdain for laziness are two different things.Many newbies (well, we all were newbies at one time) are hard working and want to learn. I commend them, and I hope that GarageGames attracts more of these great people.
The only problem (well, that I have) with a small group of the "newbies" coming in and shouting out lofty goals, then saying "help me do it". If you don't, they respond rudely and well... that's annoying.
I agree, disdain for newbies is rude and "eliteist". It's something GG needs nothing of. Although, I can understand some peoples' frustration because I have seen a few posts from lazy folks who have responded rudely when someone either offers a polite suggestion, or a reccomendation that caters a bit better to their skill level.
For you coders out there...
(Newbie!=Bad)
(Lazy==Bad && Rude==Bad)
Torque 3D Owner Phil Carlisle
Your correct with your criteria. I'll be outlining the plans for the TCP projects in another thread (probably the admin thread).
Phil.