Building the AI
by Chris Harpan · in Torque Game Engine · 03/02/2008 (11:25 am) · 14 replies
Ok, I guess I have to ask this because of the whole Dekker Ying ordeal, debacle, or whatever you want to call it.
I'm just getting started on a project to build a multifunctional AI for TGE/TGEA, with the goal of eventually releasing it to the folks here as a free resource. Now I realize this is no small task, but through all the trouble I've had making an AI, I thought this might be the way to go. Now I have tried using the various AI resources and I have gotten them to work with varying degrees of success, but all have their problems.
So here's the question: Is it ok to do this now? The EULA is kind of hard to read when it comes to add ons like this, but I am making this for the purpose of my games alone. I just thought it would be nice, if I can make it is as multifunctional as I want (Say for use in an FPS/RPG/RTS/MMO), to release this as a resource for the folks who own TGE/TGEA.
I would have put this in the form of an email to Garage Games, but I thought the community should also be allowed to discuss the issue as well. I guess it comes down to if someone developes something like I am trying to do, should they be allowed to release it as a resource? If Dekker Ying had actually owned TGEA, would there have been such a big deal?
Thanks in advance for your input.
I'm just getting started on a project to build a multifunctional AI for TGE/TGEA, with the goal of eventually releasing it to the folks here as a free resource. Now I realize this is no small task, but through all the trouble I've had making an AI, I thought this might be the way to go. Now I have tried using the various AI resources and I have gotten them to work with varying degrees of success, but all have their problems.
So here's the question: Is it ok to do this now? The EULA is kind of hard to read when it comes to add ons like this, but I am making this for the purpose of my games alone. I just thought it would be nice, if I can make it is as multifunctional as I want (Say for use in an FPS/RPG/RTS/MMO), to release this as a resource for the folks who own TGE/TGEA.
I would have put this in the form of an email to Garage Games, but I thought the community should also be allowed to discuss the issue as well. I guess it comes down to if someone developes something like I am trying to do, should they be allowed to release it as a resource? If Dekker Ying had actually owned TGEA, would there have been such a big deal?
Thanks in advance for your input.
About the author
#2
As far as code, I'm decent enough in C++ (ie I can read the code, debug, and make changes but I'm certainly never built anything like this from scratch) and I'm getting pretty good with Torque script. I've purchased a book called C++ Primer Plus which, from what I understand is the book when it comes to C++. I did that to sharpen my skills and purchased a few books on AI game programming. I also know a website that is all about AI, not to mention the various dev websites I know of that include forums on various subjects game dev related, including AI.
You and I are thinking along similar lines as far how the AI should work. I've been thinking of doing it in a sort of modular way so you can have elements for your FPS, RPG, RTS, or MMO that you can just plug and play. I just have alot of research to do and then begin coding. Like I said, I know this will be no easy task, but I think it's something that Torque, in what ever version, definately needs.
I just need to know if this is something that is allowed at this point, before I spend all my time in doing this. I'm disabled and can't work, so besides cooking and cleaning for my daughter, I have nothing else to do. I just hope I can get a legitimate answer from someone in the know from Garage Games.
Also, thanks for sharing Nathan.
03/02/2008 (2:05 pm)
I understand where you're coming from Nathan. I still don't understand how people can make starter kits, if it's expressly not allowed via the EULA. Is there a favoritism thing going on here? Or does Garage Games just pick and choose who they want to do business with and deny the others they don't like. I guess it doesn't make sense at the moment.As far as code, I'm decent enough in C++ (ie I can read the code, debug, and make changes but I'm certainly never built anything like this from scratch) and I'm getting pretty good with Torque script. I've purchased a book called C++ Primer Plus which, from what I understand is the book when it comes to C++. I did that to sharpen my skills and purchased a few books on AI game programming. I also know a website that is all about AI, not to mention the various dev websites I know of that include forums on various subjects game dev related, including AI.
You and I are thinking along similar lines as far how the AI should work. I've been thinking of doing it in a sort of modular way so you can have elements for your FPS, RPG, RTS, or MMO that you can just plug and play. I just have alot of research to do and then begin coding. Like I said, I know this will be no easy task, but I think it's something that Torque, in what ever version, definately needs.
I just need to know if this is something that is allowed at this point, before I spend all my time in doing this. I'm disabled and can't work, so besides cooking and cleaning for my daughter, I have nothing else to do. I just hope I can get a legitimate answer from someone in the know from Garage Games.
Also, thanks for sharing Nathan.
#3
As far as selling of starter kits and such it all depends on what license deal you work out with GG is. The default Indie and Commerical license are just that defaults. They do not allow you to sell starter kits or add-ons to the engine without a special license from GG. Now rather that special license from GG will cost you anything more or not is entirely up to the deal you work out with them.
Right now you have a default license to use the engine as layed out in that license. Anything beyound that requires a different license and is something you have to contact GG to work out. But from what I hear its not hard to get a different license setup if you have a product that is of quality. Now the quality is the hard part for alot of people. There not going to give you a add-on license if the add-on you want to sell is junk and is going to cause more issues then solve. Things such as will your product compete with anything they already have in the works? Ect. Of course there going to deny you the ability to sell a AI Add-on if there already working on an AI Add-on for the engine that does roughly the exact same thing yours will do. (And that makes sense as at the end of the day it is THERE engine and there call to make. That goes with any license game engine you purchase. You cant license the Unreal Engine and then make afew changes and give it seamless terrain paging and resale it - without a special Unreal Engine license and there stamp of approval on the quality and features.)
But as far as free resources goes theres nothing stopping you from releaseing a resource (for free) to the GG community. Just use the resource submission guidelines and page to do so.
03/02/2008 (3:55 pm)
Resources can be submitted to the system and then when / if they are approved by GG all the approiate people gain access to them.As far as selling of starter kits and such it all depends on what license deal you work out with GG is. The default Indie and Commerical license are just that defaults. They do not allow you to sell starter kits or add-ons to the engine without a special license from GG. Now rather that special license from GG will cost you anything more or not is entirely up to the deal you work out with them.
Right now you have a default license to use the engine as layed out in that license. Anything beyound that requires a different license and is something you have to contact GG to work out. But from what I hear its not hard to get a different license setup if you have a product that is of quality. Now the quality is the hard part for alot of people. There not going to give you a add-on license if the add-on you want to sell is junk and is going to cause more issues then solve. Things such as will your product compete with anything they already have in the works? Ect. Of course there going to deny you the ability to sell a AI Add-on if there already working on an AI Add-on for the engine that does roughly the exact same thing yours will do. (And that makes sense as at the end of the day it is THERE engine and there call to make. That goes with any license game engine you purchase. You cant license the Unreal Engine and then make afew changes and give it seamless terrain paging and resale it - without a special Unreal Engine license and there stamp of approval on the quality and features.)
But as far as free resources goes theres nothing stopping you from releaseing a resource (for free) to the GG community. Just use the resource submission guidelines and page to do so.
#4
03/02/2008 (3:57 pm)
Also if your looking for a quality and good AI setup I recommened you take a look at http://garagegames.com/mg/forums/result.thread.php?qt=58585 as it will save you alot of time. It does almost exactly what you have listed above and is already coded and released / ready to use.
#5
As far as resource vs. starter kit, I understand there is a difference. I also understand the quality aspect and I'm sure the folks at Garage Games are bombarded by enough junk. When I put something out there with my company name and my name on it, it's done and working. I don't believe in doing shoddy work. I guess it all comes back to why I started this thread and I can't help wondering if Dekker Ying had a TGEA license, would he have been able to release his addition to TGEA terrain editing as a reource? Or would Garage Games forbid it and tried to get the rights?
03/02/2008 (4:35 pm)
Thank you Thomas for your input, but I have already tried Immersive AI and, as I said above, all of the AI resources have their problems, including this one. Not to mention I'm trying to make something "everyone" can use, not just us programmers. Many people here are artists and can 3D model as good as anyone in the industry, they just don't know how to program everything.As far as resource vs. starter kit, I understand there is a difference. I also understand the quality aspect and I'm sure the folks at Garage Games are bombarded by enough junk. When I put something out there with my company name and my name on it, it's done and working. I don't believe in doing shoddy work. I guess it all comes back to why I started this thread and I can't help wondering if Dekker Ying had a TGEA license, would he have been able to release his addition to TGEA terrain editing as a reource? Or would Garage Games forbid it and tried to get the rights?
#6
The only time a resource will be denied from being submitted is if its going to cause more issues then fix or is of questionable content. That can be seen by some of the oddly approved resources. Once you click the submit resource anyone can view it that has the link to it. Rather it is approved and shows up in the listing depends on if GG approves it or not. I imagine that look at the content and make sure none of it is copywrited by someone else and that it fits within the guidelines for the submitted section (Its not in TGE if its a TGB resource, ect.)
But the Dekker Ying issue is entirely different beast and ment for the other thread that deals with it. He didnt release it as a resource for whatever reasion (did he have an actual TGEA license? was it his to be releaseing to start with? ect. Alot of questions and few answers make it a shaddy deal.) Not to mention least of he sales it to a copy with full rights and then goes behind that agreement and trys to sell it to dozens of other people saying not to tell anyone? Is that the type of person you would want to do business with? I know I sure wouldnt. Heck I feel sorry for the company that purchased the rights as I am sure with that underhandedness the rights where not his to sell in the first place. Different story for a different thread.
Anyways if you have any real questions once you get ready to sell or submit your resource just shoot Ben or one of the GG guys a email and they will get you to the right person to talk to about it. I wouldnt worry about it being denied cause it wont be denied if its your work that you want to give away not someone elses.
I should get in contact with the I AI guys see if they mind if I release a resource with some updates to the AI and make it more none programmer friendly. I have found it to be simply amazing and easy to use (from a programmers view.) But I have been making alot of changes to make it more none programmer friendly. Editor GUI's to help with setting up the spawn points, ect. Cause I sure do not one to have to be the person to go through and drop all thespawn points for dozens of levels that can contain upwards of 100+ spawn points per level/zone.
03/02/2008 (7:07 pm)
GG doesnt forbid anything from being released as a resource. Dekker Ying decided not to release his changes as a resource and chose to go a shaddy way of selling off questionable code.The only time a resource will be denied from being submitted is if its going to cause more issues then fix or is of questionable content. That can be seen by some of the oddly approved resources. Once you click the submit resource anyone can view it that has the link to it. Rather it is approved and shows up in the listing depends on if GG approves it or not. I imagine that look at the content and make sure none of it is copywrited by someone else and that it fits within the guidelines for the submitted section (Its not in TGE if its a TGB resource, ect.)
But the Dekker Ying issue is entirely different beast and ment for the other thread that deals with it. He didnt release it as a resource for whatever reasion (did he have an actual TGEA license? was it his to be releaseing to start with? ect. Alot of questions and few answers make it a shaddy deal.) Not to mention least of he sales it to a copy with full rights and then goes behind that agreement and trys to sell it to dozens of other people saying not to tell anyone? Is that the type of person you would want to do business with? I know I sure wouldnt. Heck I feel sorry for the company that purchased the rights as I am sure with that underhandedness the rights where not his to sell in the first place. Different story for a different thread.
Anyways if you have any real questions once you get ready to sell or submit your resource just shoot Ben or one of the GG guys a email and they will get you to the right person to talk to about it. I wouldnt worry about it being denied cause it wont be denied if its your work that you want to give away not someone elses.
I should get in contact with the I AI guys see if they mind if I release a resource with some updates to the AI and make it more none programmer friendly. I have found it to be simply amazing and easy to use (from a programmers view.) But I have been making alot of changes to make it more none programmer friendly. Editor GUI's to help with setting up the spawn points, ect. Cause I sure do not one to have to be the person to go through and drop all thespawn points for dozens of levels that can contain upwards of 100+ spawn points per level/zone.
#7
@ Chris - I have that same C++ book... It's a beast, and it hurts the coffee table. I'm at about the same level- I got started through web design, which got me into graphic design, which led to hobby game design. I've had Torque for around 2 weeks now and can say without feeling guilty, that I'm learning quickly.
One thing worth noting is that anyone with say, a TGE license can share code snippets between each other, or rather have the ability to work on projects. This was probably a given... my real point is seemingly off-topic, but related at the same time. As I stated before I had plans to work on AI systems with Torque, and it seems I'm not the only one. Some others have already done so, obviously. But it seems all these projects are spread out, and are each tackling one specific area. Well so far it seems just a "general" system like IAI, and everything else is A * stuff. It seems to me that perhaps since one of Torque's lacking areas, or at least nowhere near as robust as it can be, is the AI. Maybe a project should be started to get all these teams together under one roof, so to speak?
Or at least a motivational break down on a wiki page, outlining specific AI features, and what resources have said features. That would help out others looking for such information, at the least. But it might also help show what areas are lacking, which could push others to fill in those gaps. Just a simple idea...
I just hate to see things start to flare up, then fizzle out before it has a chance to turn into something big. You can almost guarantee there won't be any updates to some of the current AI resources (at least by the OAs), though I can't speak for all of them. It actually seems like there are a few topics that start to get a few projects related to them going, then they fade away. I'm amazed no one has banded together to work on the whole terrain texture debacle in TGE. I would be ashamed to call my engine AAA quality, if it was originally a terrain pushing beast, when really it... can't even support MID size textures. 256x256 max texture size? One detail texture? That whole system is screwed up by current, last, and pre-last generation standards. And how is it dealt with by those that could do the most? "Buy TGEA if you want better terrain...". Rubbish, and rude rubbish at that. I had no idea the terrain was like that when I bought Torque, even after loads of research. I just happened to miss that "feature" I guess. Whoo, off topic there...
So yeah, I'd like to see more groups of people working on these things. Making Torque better. But I guess this is a moot point, or at least a big "Duh" from everyone else. Thus I'll shut up about it until further notice...
03/02/2008 (8:59 pm)
@ Thomas - Thanks for the info on resources, though I'm sure there are more details to be found on the finer points... Is there a known area that wrangles all this info up, or is spread out all over? Also, I'll be taking a peek at Immersive AI.@ Chris - I have that same C++ book... It's a beast, and it hurts the coffee table. I'm at about the same level- I got started through web design, which got me into graphic design, which led to hobby game design. I've had Torque for around 2 weeks now and can say without feeling guilty, that I'm learning quickly.
One thing worth noting is that anyone with say, a TGE license can share code snippets between each other, or rather have the ability to work on projects. This was probably a given... my real point is seemingly off-topic, but related at the same time. As I stated before I had plans to work on AI systems with Torque, and it seems I'm not the only one. Some others have already done so, obviously. But it seems all these projects are spread out, and are each tackling one specific area. Well so far it seems just a "general" system like IAI, and everything else is A * stuff. It seems to me that perhaps since one of Torque's lacking areas, or at least nowhere near as robust as it can be, is the AI. Maybe a project should be started to get all these teams together under one roof, so to speak?
Or at least a motivational break down on a wiki page, outlining specific AI features, and what resources have said features. That would help out others looking for such information, at the least. But it might also help show what areas are lacking, which could push others to fill in those gaps. Just a simple idea...
I just hate to see things start to flare up, then fizzle out before it has a chance to turn into something big. You can almost guarantee there won't be any updates to some of the current AI resources (at least by the OAs), though I can't speak for all of them. It actually seems like there are a few topics that start to get a few projects related to them going, then they fade away. I'm amazed no one has banded together to work on the whole terrain texture debacle in TGE. I would be ashamed to call my engine AAA quality, if it was originally a terrain pushing beast, when really it... can't even support MID size textures. 256x256 max texture size? One detail texture? That whole system is screwed up by current, last, and pre-last generation standards. And how is it dealt with by those that could do the most? "Buy TGEA if you want better terrain...". Rubbish, and rude rubbish at that. I had no idea the terrain was like that when I bought Torque, even after loads of research. I just happened to miss that "feature" I guess. Whoo, off topic there...
So yeah, I'd like to see more groups of people working on these things. Making Torque better. But I guess this is a moot point, or at least a big "Duh" from everyone else. Thus I'll shut up about it until further notice...
#8
But I guess that's where my questions begin. Like I said, if Dekeer had a TGEA license, would it have been allowed to be released if, like we see now, Garage Games wanted the rights to it. I'm not saying or implying GG censors anything, but it does raise the question if you make something good enough and it's for a Torque based game will GG block a resource because they want it? I guess part of this has to do with the EULA rewrite that kind of shocked alot of us people who own commercial licenses. I own a license on the commercial level for all the engines and even though it's been stated it only applies to future releases/updates to the particular engine, it just makes me wonder. I bought the commercial license so I wouldn't have to put the GG logo on my games, now I am forced to as I read it.
There is suppopsed to be this movement to transparent development, but I just don't see it yet. I also believe that from an ethical stand point there have been a few things lacking from GG stand point. Look at the RTS kit for instance. It's not supported, per my phone call to GG, and yet they still refuse to put a disclaimer on that page after me asking them to do so many, many times.
But this is not why I started this topic, so let's not confuse the issue or get off on tangents. Considering AI is part of a game and is not really covered well by any of the Torque engines (as are a few other things) I should be able to write my own multifunctional AI. But then take a look at the EULA and it says technology add ons are a nono, so does that include AI? Does it include making a better terrain system? Does it include the TGE modernization kit? What does it include? Supposedly we can make any kind of game we want to with Torque, but if we are limited to what we can change or add, what's the point? Those are the questions I need answers to. I just hope I'm not asking to much.
*Edit: I nearly forgot, Nathan feel free to add anything as long as we stay on subject. We all know there are areas that Torque lacks in, but are we allowed to make it better and hence the whole point of this post.
03/03/2008 (8:59 am)
@Thomas: No Dekker Ying never released it as a resource. The person who supposedly bought the rights to it was supposed to, but from what I understand now can not because Garage Games wants the rights to it. Dekker Ying did not have a TGEA license, which just complicates the matter even more. But I guess that's where my questions begin. Like I said, if Dekeer had a TGEA license, would it have been allowed to be released if, like we see now, Garage Games wanted the rights to it. I'm not saying or implying GG censors anything, but it does raise the question if you make something good enough and it's for a Torque based game will GG block a resource because they want it? I guess part of this has to do with the EULA rewrite that kind of shocked alot of us people who own commercial licenses. I own a license on the commercial level for all the engines and even though it's been stated it only applies to future releases/updates to the particular engine, it just makes me wonder. I bought the commercial license so I wouldn't have to put the GG logo on my games, now I am forced to as I read it.
There is suppopsed to be this movement to transparent development, but I just don't see it yet. I also believe that from an ethical stand point there have been a few things lacking from GG stand point. Look at the RTS kit for instance. It's not supported, per my phone call to GG, and yet they still refuse to put a disclaimer on that page after me asking them to do so many, many times.
But this is not why I started this topic, so let's not confuse the issue or get off on tangents. Considering AI is part of a game and is not really covered well by any of the Torque engines (as are a few other things) I should be able to write my own multifunctional AI. But then take a look at the EULA and it says technology add ons are a nono, so does that include AI? Does it include making a better terrain system? Does it include the TGE modernization kit? What does it include? Supposedly we can make any kind of game we want to with Torque, but if we are limited to what we can change or add, what's the point? Those are the questions I need answers to. I just hope I'm not asking to much.
*Edit: I nearly forgot, Nathan feel free to add anything as long as we stay on subject. We all know there are areas that Torque lacks in, but are we allowed to make it better and hence the whole point of this post.
#9
I'll have to go back and read the EULA a little deeper, but I don't remember seeing anything about technology add-ons. I hope this isn't the case, because that blows my whole mid-line defense away as far as getting certain features working.
I wanna wait and see this all resolved... I mean, do some research and see what definitive answers do pop up. Because if it turns out for example, I can't take an open source terrain engine and implement into Torque, then I've just paid $150 to compartmentalize myself and would thus have to re-adjust my thinking. I never knew I was going to have to worry about this, I chose Torque to avoid these situations.
03/03/2008 (7:55 pm)
Well I sure hope we can make Torque better, if not for ourselves, but for the community of fellow Torque owners as well. A more definitive answer would be nice, from someone who knows those answers. I suppose a more well defined question might need to be asked though, to avoid confusion.I'll have to go back and read the EULA a little deeper, but I don't remember seeing anything about technology add-ons. I hope this isn't the case, because that blows my whole mid-line defense away as far as getting certain features working.
I wanna wait and see this all resolved... I mean, do some research and see what definitive answers do pop up. Because if it turns out for example, I can't take an open source terrain engine and implement into Torque, then I've just paid $150 to compartmentalize myself and would thus have to re-adjust my thinking. I never knew I was going to have to worry about this, I chose Torque to avoid these situations.
#10
Licensee may not: (i) create any derivative works of the Engine, including but not limited to translations, localizations, starter kits, technology add-ons, or game making software other than Games; (ii) reverse engineer, or otherwise attempt to derive the algorithms for the Engine (iii) redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer rights to the Engine; or (iv) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Engine.
It seems pretty cut and dry that we should be able to, but with recent happenings I'm not so sure. All I want is clarification. I'll probably email GG tomorrow and point them to this thread so we can get some answers.
03/03/2008 (10:52 pm)
Nathan, the part of the I'm taling about is in the EULA. I have checked and it's in both the indie and commercial versions, just in different spots. Here it is:Licensee may not: (i) create any derivative works of the Engine, including but not limited to translations, localizations, starter kits, technology add-ons, or game making software other than Games; (ii) reverse engineer, or otherwise attempt to derive the algorithms for the Engine (iii) redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer rights to the Engine; or (iv) remove or alter any trademark, logo, copyright or other proprietary notices, legends, symbols or labels in the Engine.
It seems pretty cut and dry that we should be able to, but with recent happenings I'm not so sure. All I want is clarification. I'll probably email GG tomorrow and point them to this thread so we can get some answers.
#11
And if we wanted to release a resource related to AI, well:
Licensee may not: (i) create any derivative works of the Engine, including but not limited to translations, localizations, starter kits, technology add-ons, or game making software other than Games;
I like the "including but not limited to" part. They've left room in the EULA, not to for "mistakes", but for the possibility to tighten the leash. That's what I see. I hope we're wrong, but a simple statement of such won't be enough to make feel comfortable about all this. I'm still feeling uneasy because to be really honest, I'm poor. Not "middle class dealing with economy hit" poor, but a bracket or so below that. The $150 shelled out for GG was not just laying around... I would really like to get an honest and detailed explanation of what we can and can't do.
So until we get an answer here, let's concentrate on the AI stuff. Even if it turns out we wouldn't be allowed to release work as a resource, I'm still interested in working on it personally because I desire and require certain features to make my game complete.
I'm curious about what you have planned, if it doesn't divulge secrets you want to keep at this point. What I had planned to do, was make a basic system akin to say, the Metal Gear Solid series. The soldiers have sight and sound senses, and simple routines. The sight sense part of the AI seems to be kind of fancy to some extent, as the AI reacts differently based on what it sees. I'm used to games only dealing with "see bad guy, shoot bad guy". In MGS, you can lay down a dirty magazine somewhere along a soldiers path, and when they stumble upon, they get distracted. Or when you shoot a window, and it leaves a bullet hole- if the AI sees this, they get curious and start searching the area for threats.
I like the idea of agents that are tuned into the environment, and have thought of ways of making this dynamic, in theory. As opposed to static where you have to tell an agent to react to something, I'd like to see an agent react to something because he chose to within his limited "brain power". I'd like to see agents handle terrain not via paths laid out for them, but by a path they designated as possible to walk/climb/jump off, etc. This list could go on, as I'm sure we all know. But I'll throw those things out there for now.
Obviously this should be heavily script driven, but not script powered. I think through the scripts only certain things should be handled, such as agent creation and certain values like how far an agent can see. The heart of it would be source code based, but of course things can be overridden in script. I was going to paste an example script below, but realized I need to learn some more before I do that, as I don't want to cause any confusion. But roughly here's the process I had planned:
* Script to initialize AI system is fired up. I haven't thought about client/server problems yet... Though we should worry about this from the start to avoid future trouble.
* AI init script would load up "agent persona" scripts, or the scripts that actually outline what each agent is, or rather their abilities and what have you (can they see far, hear a pin drop?)
* These personalities can then be tied to an entity in the game. This would be done in the world editor for example.
I'm trying to cut down my post lengths, so I'll stop there with that. Please feel free to educate me on things I have totally wrong as well, I have no quarrels with that at all.
03/04/2008 (4:35 pm)
That seems cut and dry that we won't be allowed to. The way that is laid out and stated, if GG wanted to take someone into court for making a game using their engine, they could! Because technically, if I compile the engine source code, with a few different command line switches, and turn some optimizations on... Well that compiled version is now considered a derivitave of the original engine. When I'm hunting down and manipulating stuff to do with water, I'm reverse engineering. In court, they could argue that and by all means, they'd be right.And if we wanted to release a resource related to AI, well:
Licensee may not: (i) create any derivative works of the Engine, including but not limited to translations, localizations, starter kits, technology add-ons, or game making software other than Games;
I like the "including but not limited to" part. They've left room in the EULA, not to for "mistakes", but for the possibility to tighten the leash. That's what I see. I hope we're wrong, but a simple statement of such won't be enough to make feel comfortable about all this. I'm still feeling uneasy because to be really honest, I'm poor. Not "middle class dealing with economy hit" poor, but a bracket or so below that. The $150 shelled out for GG was not just laying around... I would really like to get an honest and detailed explanation of what we can and can't do.
So until we get an answer here, let's concentrate on the AI stuff. Even if it turns out we wouldn't be allowed to release work as a resource, I'm still interested in working on it personally because I desire and require certain features to make my game complete.
I'm curious about what you have planned, if it doesn't divulge secrets you want to keep at this point. What I had planned to do, was make a basic system akin to say, the Metal Gear Solid series. The soldiers have sight and sound senses, and simple routines. The sight sense part of the AI seems to be kind of fancy to some extent, as the AI reacts differently based on what it sees. I'm used to games only dealing with "see bad guy, shoot bad guy". In MGS, you can lay down a dirty magazine somewhere along a soldiers path, and when they stumble upon, they get distracted. Or when you shoot a window, and it leaves a bullet hole- if the AI sees this, they get curious and start searching the area for threats.
I like the idea of agents that are tuned into the environment, and have thought of ways of making this dynamic, in theory. As opposed to static where you have to tell an agent to react to something, I'd like to see an agent react to something because he chose to within his limited "brain power". I'd like to see agents handle terrain not via paths laid out for them, but by a path they designated as possible to walk/climb/jump off, etc. This list could go on, as I'm sure we all know. But I'll throw those things out there for now.
Obviously this should be heavily script driven, but not script powered. I think through the scripts only certain things should be handled, such as agent creation and certain values like how far an agent can see. The heart of it would be source code based, but of course things can be overridden in script. I was going to paste an example script below, but realized I need to learn some more before I do that, as I don't want to cause any confusion. But roughly here's the process I had planned:
* Script to initialize AI system is fired up. I haven't thought about client/server problems yet... Though we should worry about this from the start to avoid future trouble.
* AI init script would load up "agent persona" scripts, or the scripts that actually outline what each agent is, or rather their abilities and what have you (can they see far, hear a pin drop?)
* These personalities can then be tied to an entity in the game. This would be done in the world editor for example.
I'm trying to cut down my post lengths, so I'll stop there with that. Please feel free to educate me on things I have totally wrong as well, I have no quarrels with that at all.
#12
People are worrying about the extreme minority of cases in which the legal leash would have to be tightened, and realistically if you have purchased any software or hardware or anything that has a legal license bound to it over the years, you will be in a similar situation of the companies' lawyers protecting their companies. That, however, doesn't mean that GG is going to come after a licensee who legitimately creates a resource for, in this case, AI, gives a legal injunction to grab their code, and then sell it as a product. That is hairtrigger paranoia that reading EULA's closely usually leads to. And I understand that fear of the big bad "what could happen" in the legal world because I'm not a lawyer.
The Dekker incident is separate from this fear; it just inspired this inquiry. Whether Dekker worked for a company that licensed TGEA, whether he pirated it, whether he had a brother with a license, whether he had another account that licensed it, etc doesn't even really play into this discussion.
You can release resources, in fact a number of them have been released. The gray area between when a resource becomes a "product" is what people are worrying about here, as I see it. Most of the area is simply cleared up by what you want to do with it. If you, like John Kabus, wanted to sell it as a separate pack (ala the lighting pack), then you would contact GG and licensing and hash out all the details on that level. If you create a large-scale pack like the DreamGames ones, then you would go through the same process, but instead of having GG support localized here, you would control it from your servers/etc. You would also have to create a topic in the private area to validate customers for your product. But again, this is negotiation because you are selling a product.
If you are not selling it, then you can either post it as a resource or on the private forums. If it is robust and extremely useful and on their wishlist, GG might even approach you about turning it into a commercial product (or a similar product). But they won't seize your code under the derivative law and force you into some semblance of code slavery.
Also, there is rather extensive legal information on the limits of derivative code is. Compilation with optimization features will not cut it. I believe it was sometime in the early 1960's that that was argued in court. But it may have been the 70's. I don't recall since it's been years since I read about it.
03/05/2008 (9:59 am)
I'm going to muddy the water a bit.People are worrying about the extreme minority of cases in which the legal leash would have to be tightened, and realistically if you have purchased any software or hardware or anything that has a legal license bound to it over the years, you will be in a similar situation of the companies' lawyers protecting their companies. That, however, doesn't mean that GG is going to come after a licensee who legitimately creates a resource for, in this case, AI, gives a legal injunction to grab their code, and then sell it as a product. That is hairtrigger paranoia that reading EULA's closely usually leads to. And I understand that fear of the big bad "what could happen" in the legal world because I'm not a lawyer.
The Dekker incident is separate from this fear; it just inspired this inquiry. Whether Dekker worked for a company that licensed TGEA, whether he pirated it, whether he had a brother with a license, whether he had another account that licensed it, etc doesn't even really play into this discussion.
You can release resources, in fact a number of them have been released. The gray area between when a resource becomes a "product" is what people are worrying about here, as I see it. Most of the area is simply cleared up by what you want to do with it. If you, like John Kabus, wanted to sell it as a separate pack (ala the lighting pack), then you would contact GG and licensing and hash out all the details on that level. If you create a large-scale pack like the DreamGames ones, then you would go through the same process, but instead of having GG support localized here, you would control it from your servers/etc. You would also have to create a topic in the private area to validate customers for your product. But again, this is negotiation because you are selling a product.
If you are not selling it, then you can either post it as a resource or on the private forums. If it is robust and extremely useful and on their wishlist, GG might even approach you about turning it into a commercial product (or a similar product). But they won't seize your code under the derivative law and force you into some semblance of code slavery.
Also, there is rather extensive legal information on the limits of derivative code is. Compilation with optimization features will not cut it. I believe it was sometime in the early 1960's that that was argued in court. But it may have been the 70's. I don't recall since it's been years since I read about it.
#13
This just relieves me a bit as especially with mergers of companies. Priorities can change for a company and I guess a few of us are just overly jittery about everything when it comes to Torque.
Thanks again David.
03/05/2008 (10:58 am)
Thanks David for coming into this. I have to admit, with EULA changes I was getting worried. Don't get me wrong, obviously if I build an AI outside of Torque Engine, but for use with Torque, which is what I'm doing, I' guess I'm kind of walking that fine line. I had no intentions of selling it, unless of course it's that good, but I'm still trying to plan this out as thoroughly as I can before I do anything.This just relieves me a bit as especially with mergers of companies. Priorities can change for a company and I guess a few of us are just overly jittery about everything when it comes to Torque.
Thanks again David.
#14
03/05/2008 (12:58 pm)
Yes, thanks David. That's what I was hoping to hear. Well after I sort out the terrain bit in TGE, I don't think I'll have any worries or complaints.
Torque Owner Nathan Harris
Sorry if that went off topic a bit. Back on topic- I'm very interested in working with AI as well Chris. I'm not the greatest programmer, but I can eventually get something working. I have around 50+ megs of papers and articles on AI, and that's been my biggest excitement and reason for getting TGE (aside from making games in general of course), working with AI.
The "simple" system I had in mind was only going to build on top of the existing system... Which I haven't dove into yet. Basically I wanted to add a few key features, that would pave the way for more advanced agent behaviors:
* AI Personality - Agents would have personalities, that define how they react to the other items below.
* Friend n' Foe - AI differentiates between allies and enemies, and acts accordingly when confronted.
* Obstacle Awareness - AI can "see" obstacles before reaching them, and figure out what to do, such as go around it, jump on it, etc. This would tie into:
* Tactics - I was thinking agents would have "modes" they were in, such as "combat", "flee", "guard", etc. Different modes would have the AI handling certain situations accordingly.
I'm thinking those 3 systems would make for a very robust AI, that could be added onto to make it even more so. IE to start, the Friend n' Foe system would only have enemies and allies, but could later include factions and classes. So instead of "hating" foes, they would "dislike" Faction A, and be friends with Class B for example. This could make for interesting dilemmas where an agent hates Faction A, but being friendly with Class B... Well when someone that's Class B belongs to Faction A, an agent may react with hesitation.
Sorry, got carried away there. I've just rapidly typed this up here, it's no "final" outline of what I have in mind, and it's not ground-breaking or next-gen as most of you probably know... So sorry to kinda jack this thread.
Basically I'm curious about releasing resources as well, and would like to see a more robust (and functional) AI resource. The other resources are cool, and a couple worked out of the box for me with TGE 1.5.2, it's just that they are lacking, or only address one facet of an AI system. I'd like to see where you take this Chris!