Feb 14, 2009, 03:14 AM // 03:14
|
#1
|
Ascalonian Squire
Join Date: Feb 2009
Profession: Mo/
|
Customizable Hero/Henchman AI
I realize the system itself probably sounds unrealistic, or odd, but I think it's a marvelous idea. Instead of trying to code AI for heroes which leads to them doing really irritating things, and not being able to run a lot of builds effectively, Guild Wars should incorperate a user-definable Artificial Intelligence for the heroes and potentially henchman as well.
How would this go? I'm reminded of a first-year programming class, and an IBM project called "Code Invaders", where students would write (using pre-defined functions) the artifical intelligence for a space ship to collect energy, attack other ships, deflect enemy attacks, and beam energy back to their home planet. Basically, this consisted of a lot of "if(MyShip.blah.getEnergy > = x){}". After the AI was written, ships would be paired off in a battle, to see whose AI was the most efficient. In this environment, we spent a lot of time on vector corrections - which I figure wouldn't be a big problem in guild wars, since there's no trajectory and friction calculations involved.
For example (a lot of pseudo code):
Let's say I'm running a basic monk hero with P&H, along with other condition/hex removals.:
PHP Code:
MostHexes = 0;
HexedTM = 0;
for(i = 0;i < Team.getLength();i++){ //For every team member
if(GetHexes(i) > MostHexes){
MostHexes = GetHexes(i);
HexedTM = i;
}
}
if(MostHexes > 0){
Hero.Cast.Skill2(HexedTM); // Cast P&H On team mate with most hexes
}
Again, it's pseudo code, and I'm out of practice. I am completely aware that most people will not, or could not, go through the process of coding their own AI. However, I'm also sure that with the addition of this feature, people will post basic AIs around on build sites, and such.
Is my idea clear? I'm not quite sure if I've just ranted, or made a clear point.
|
|
|
Feb 14, 2009, 04:38 AM // 04:38
|
#2
|
Lion's Arch Merchant
Join Date: Jan 2006
Guild: The Zodiac Elites [TZE]
Profession: Mo/
|
Interesting idea but will never, ever happen. There is too much to go into here to say why.
For a start, the AI is server side (instance based) and not client side. ANet would never allow script commands to be sent remotely to these instances, this opens up too many issues (hacks for one).
To allow this is also unfair on people who do not understand coding in general, thus giving an unfair advantage to those who do understand coding and what not. Sure, generic scripts can be made available but the more complex ones will never be released, since these (in theory) would give an advantage to whoever is running them. Plus it would be unfair for 1 person running one thing and another running something else in the same team, this is not how Guild Wars should be played imo.
To be honest, I would far prefer ANet to spend the amount of time this would take to design, test and implement into actually fixing the root cause of this - the crappy AI.
Thus /Notsigned, sorry.
|
|
|
Feb 14, 2009, 05:11 AM // 05:11
|
#3
|
Grotto Attendant
Join Date: May 2005
Location: The Netherlands
Guild: Limburgse Jagers [LJ]
Profession: R/
|
Hero Battles would be about the most skilled programmer. I don't think that was Anet's original intention.
|
|
|
Feb 14, 2009, 05:16 AM // 05:16
|
#4
|
Ascalonian Squire
Join Date: Feb 2009
Profession: Mo/
|
Quote:
Originally Posted by Terra Jim
For a start, the AI is server side (instance based) and not client side. ANet would never allow script commands to be sent remotely to these instances, this opens up too many issues (hacks for one).
|
Agreed, I was thinking more of an "upload" kind of thing, much like loading a template. Skills equips are stored server-side, but templates are stored client side. Simple code with pre-defined functions can't be used for any kind of exploitation, if pre-loaded.
Quote:
Originally Posted by Terra Jim
To allow this is also unfair on people who do not understand coding in general, thus giving an unfair advantage to those who do understand coding and what not. Sure, generic scripts can be made available but the more complex ones will never be released, since these (in theory) would give an advantage to whoever is running them. Plus it would be unfair for 1 person running one thing and another running something else in the same team, this is not how Guild Wars should be played imo.
|
I find your argument silly. I do very much agree that superb AIs would probably be secret, maybe within a guild. However, consider guild template builds for elite areas - they are generally not released, but are leaked eventually anyway. Thus, this really solves the question of variability and availability - after all, we have a "test case" of builds.
Next, the argument that not everyone knows how to code: I can easily say that not everyone knows how to play guild wars. In the words of someone special:
Quote:
when someone fails i kinda wish i brought a hero like lvl 9 koss with BiP or something.
|
You can't limit variability because of what certain people are restricted to do. Those with and without programing experience will have to learn new features, and if-else-for statements/loops are not hard to learn. I learned them as a 12 year old over a few days, and I'm sure anyone who tried, could get it down decently. Much like opensource projects, however, I feel that general AIs for builds will flesh themselves out, rather than ANet needing to fix AI every so often to accomodate for new player designed builds.
|
|
|
Feb 14, 2009, 06:24 AM // 06:24
|
#5
|
Wilds Pathfinder
Join Date: Sep 2007
Profession: A/E
|
I can pretty much bet that the majority of GW does not know how to code. You would probably end up with about 10% of GW with an advantage. Why? because they can write a few scripts, doesnt mean they are any good at the game they just knew how to code. This would be very unfair to GW as a whole.
|
|
|
Feb 14, 2009, 07:10 AM // 07:10
|
#6
|
Wilds Pathfinder
Join Date: Jul 2005
Location: Canada, almost got to see a polar bear... :P
|
The idea sounds awesome... but, will probably not be implemented cause people will complain how they just can't do it by themselves. PvXwiki will probably host the basic code for builds... but then you'll hear from people who think heroes shouldn't exist at all, because they're "godly at interrupts".
Still, I would love to have a go at my hero's AI.
Last edited by Dmitri3; Feb 14, 2009 at 07:12 AM // 07:12..
|
|
|
Feb 14, 2009, 07:36 AM // 07:36
|
#7
|
Lion's Arch Merchant
Join Date: Jan 2006
Guild: The Zodiac Elites [TZE]
Profession: Mo/
|
I do like the idea, don't get me wrong (I'm a programmer in real life)
But....
Quote:
Originally Posted by Zeteg
Agreed, I was thinking more of an "upload" kind of thing, much like loading a template. Skills equips are stored server-side, but templates are stored client side. Simple code with pre-defined functions can't be used for any kind of exploitation, if pre-loaded.
|
Yes skill templates are client side but all they are doing is telling the game what skills, equipment and attributes to load. What you are proposing is to directly influence the server side processing, via the AI. Current ANet EULA prohibits us from doing this, so they would also have to modify their current rules surrounding this.
Also, with a code parse to the server, this is going far beyond the current design of GW and, contrary to what you may think, sending of code to the server could still be exploited. This is ANet after all.
Quote:
Originally Posted by Zeteg
I find your argument silly
|
Fair enough but its reiterated further down the post - this gives an unfair advantage for a period of time until leaked to those technically more proficient than the generalised GW population. Not to mention the fact that tha majority will not understand any of this - it maybe beyond some people to load the code into GW (just an example but hopefully you see my point).
With everything going on - Aprils major release, GW2 in 2101 etc etc, I can't see ANet doing anything attempting to modify their AI engine that opens it up to client systems.
|
|
|
Feb 14, 2009, 08:15 AM // 08:15
|
#8
|
Hall Hero
Join Date: Jul 2005
Location: California Canada/BC
Guild: STG Administrator
Profession: Mo/
|
We asked for it we got it they are called heros and they have made the game unsocial like.I don't understand that coding so imagine any person who doesn't understand programing.
|
|
|
Feb 14, 2009, 01:58 PM // 13:58
|
#9
|
Ascalonian Squire
Join Date: Feb 2009
Guild: wfls
Profession: Mo/
|
I had an idea kind of like this one on a other forum; if you've ever played.. forgot which now, one of the later Final Fantasys where there is a 'Gambit' system, you can set up your party to use potions 50%hp and under and such, although for the majority of GW players... that idea would be a lot easier, i know it would be easier for me. Good idea anyways.
|
|
|
Feb 14, 2009, 03:08 PM // 15:08
|
#10
|
Wilds Pathfinder
Join Date: Jul 2008
Location: netherlands
Profession: Mo/E
|
that will make easy PvE more easy and PvP more annoing.
TEASE interrupt FTL
|
|
|
Feb 14, 2009, 03:12 PM // 15:12
|
#11
|
Furnace Stoker
Join Date: Mar 2007
Guild: Our Crabs Know True [LOVE]
Profession: R/
|
Even people who know how to code will often not want to spend time working on it. I for one want to play the game, not spend hours working on AI coding for 26 heroes on multiple characters. And I vary my hero builds a lot, so I'd be changing them often.
If you know what it is you are talking about, how long would it take for Anet to implement something like this? How many man-hours, how much money? Yep, something they won't even consider. And that is without looking into the idea that for an AI coding change, things would have to change client side. Not the same as a build/armor template at all. Yep, hacks would love this chance.
|
|
|
Feb 14, 2009, 06:01 PM // 18:01
|
#12
|
Forge Runner
Join Date: Apr 2008
Location: Canada
Profession: E/
|
This could not cause hacking, because if A-Net was remotely smart, they would make sure there functions involving "game-breaking" values were private, not public-ly defined variables. However, I agree with the fact that the best AI will remain a secret, and not everyone will use it. Sorry bro. /notsigned
|
|
|
Feb 14, 2009, 10:09 PM // 22:09
|
#13
|
Ascalonian Squire
Join Date: Feb 2009
Profession: Mo/
|
To address the concern of "code leaking"--build leaking is done be defection. A guild perhaps makes an ideal build for an area, and as long as everyone is loyal, there's no problem. However, say someone is kicked, or leaves the guild - then spreads the build around with others--we now have it up on pvx. If the guild was completely loyal, and no one ever left the guild, we could come up with a similar statement, that spending hours to create a functional team build would give some players an advantage.
I see this as synonymous to creating code. After all, if everyone using a certan build was loyal, they would not open it up for pug groups, or for people to watch.
Quote:
Originally Posted by MagmaRed
Even people who know how to code will often not want to spend time working on it. I for one want to play the game, not spend hours working on AI coding for 26 heroes on multiple characters. And I vary my hero builds a lot, so I'd be changing them often.
|
Agreed--I also change my heroes quite a bit. However, code is easy to load. If you don't want to design code for your heroes, you can always pick one off pvx (I assume that people will make modifications all the time to builds, as the point of a wiki style site). Or, you can use default AI created by ANet. However, the trick is that, in the event that that you wanted to say, only use P&H on one character, you could program the hero to do that, rather than super microing everything.
To solve the problem of interrupts, it can always be set serverside, to create a delay as a function of the player's ping, or some generally accepted ping time. I honestly don't think this is an issue.
Quote:
Originally Posted by MagmaRed
If you know what it is you are talking about, how long would it take for Anet to implement something like this? How many man-hours, how much money? Yep, something they won't even consider. And that is without looking into the idea that for an AI coding change, things would have to change client side. Not the same as a build/armor template at all. Yep, hacks would love this chance.
|
Actually, I doubt this would take very much effort at all. Since for Heroes to work with AI already, they need to have an engine for them to run on, certain features like "cast.spell" or something would already be there. The trick then, is to create a feature that lets you link uploaded code to the actual functionality. Given one or two people who know the code, me and my volunteer dev team for another project, could probably put the basics together in less than a week, working a few hours a day. The interfacing and security details may take a little longer, but I don't see it as much of a problem. Again, the functionality is already there - we just need to link it. It's not like we're building something completely from scratch.
-----
Also, refuting the "asocial aspect of heroes" - there are simply not as many doing things as there was, when GW first came out. For most missions, you'll be lucky to find even one other person doing it, while before, it was pretty hard not to be invited into a group as a monk. Yes, given a full team, I would rather run with real competent people than with heroes, since I don't enjoy playing by myself. However, there are things that I'd like to get done, and people are not always around. Since the alternative to heroes (no heroes) is worse than having heroes, I vote that even if there are problems, heroes need to stay.
Concerning hacking - I honestly don't see ANY way that this can be exploited. On script non-existance or breakage, there could easily be a command to stop, or do something default. Uploading code is exactly the same as loading up a template. With a template, you give the server an arrangement of skills via a template code, which the server translates into skill #s, and loads them up in appropriate slots. In either case, however the server parses it, you're still uploading information. Hell, even when I type a message, I'm uploading information.
|
|
|
Feb 14, 2009, 11:19 PM // 23:19
|
#14
|
Wilds Pathfinder
Join Date: Jul 2005
Location: Canada, almost got to see a polar bear... :P
|
Okay, I'm gonna solve the whole debate of "heroes interrupt godly" before it even starts. It's funny how people don't have any idea but still argue about it.
Anyhow, heroes interrupt pretty badly (30-50% miss rate on interrupts overall). They can manage to interrupt 1/4 second cast, but they can't prioritize what to interrupt and can still miss. The whole thing about heroes is that they can multitask faster and better that human being.
That brings up a problem. If you can program your own AI, you will have no problem making it a lot more superior that a human player (I know I wouldn't). In that case, every team will be hero-way.
Right now, you can easily outplay hero-way if you play it well. But if customizable AI goes live, you will have no chance.
I'm not talking about PvE here, but rather PvP.
|
|
|
Feb 15, 2009, 12:04 AM // 00:04
|
#15
|
Hall Hero
Join Date: Jul 2005
Location: California Canada/BC
Guild: STG Administrator
Profession: Mo/
|
Quote:
Originally Posted by Zeteg
To address the concern of "code leaking"--build leaking is done be defection. A guild perhaps makes an ideal build for an area, and as long as everyone is loyal, there's no problem. However, say someone is kicked, or leaves the guild - then spreads the build around with others--we now have it up on pvx. If the guild was completely loyal, and no one ever left the guild, we could come up with a similar statement, that spending hours to create a functional team build would give some players an advantage.
I see this as synonymous to creating code. After all, if everyone using a certan build was loyal, they would not open it up for pug groups, or for people to watch.
|
Who cares if it get on PvX or not it might not make it on there and most use for farming or pvp.when we want good build we make it up ourselves and not everyone in a guild can understand coding.what about all those Ma and Pa guilds who are much older players playing it.
I think your problem is is learning how to come up with good builds that work on a hero.
This would also if you changed one skill for yourself give you and edge without those who haven't Eviscerate does 300 damage when you first strike a foe and causes deep wound for 40 sec @5 ad.That would really make the game unbalanced.
|
|
|
Feb 15, 2009, 12:51 AM // 00:51
|
#16
|
Imma Firin Mah Rojway!
Join Date: Aug 2008
Location: At the Mac Store laughing at people that walk out with anything.
Profession: E/Mo
|
Reminds me of the Final Fantasy Gambits.
Quote:
Another new feature in Final Fantasy XII is the "gambit" system, which allows the player to program each character to perform certain commands in battle in response to specified conditions. Using gambits, the player may set reactions to different stimuli for each character. Each gambit consists of three parts: a target, an action, and a priority. The target specifies which ally or foe to act on and the condition for applying the action. For example, the target "Ally: HP < 70%" causes the character to target any ally whose HP has fallen below 70%. The action is the command to be performed on the target. The priority determines which gambit to perform when multiple gambits are triggered. This rudimentary AI programming scheme allows the characters to act on their own, although player-inputted commands are always given top priority.
|
If it's anything like that, /signed. If not, /not signed
|
|
|
Feb 15, 2009, 01:13 AM // 01:13
|
#17
|
Desert Nomad
|
@zobiac
that is what I thought this thread was going to be about. But to code for different classes how to use and react to over a thousand skills is hard. Hell, look at games like FEAR how it is supposed to have great AI, it is a shooter. To make good AI in a shooter took a lot of work, how much would it take for an rpg?
|
|
|
Feb 15, 2009, 01:27 AM // 01:27
|
#18
|
Imma Firin Mah Rojway!
Join Date: Aug 2008
Location: At the Mac Store laughing at people that walk out with anything.
Profession: E/Mo
|
I make games for a hobby. AI is a !@#$ to make, I avoid it all together and give my games Mario AI (AKA, enemy goes to left to right). But look at the Rag Doll Physics Gravity Engine. It is used in ALMOST every game. AI is a pain to make.
|
|
|
Feb 16, 2009, 12:50 PM // 12:50
|
#19
|
Ascalonian Squire
Join Date: Feb 2009
Profession: Mo/
|
Quote:
Originally Posted by Zodiac Meteor
I make games for a hobby. AI is a !@#$ to make, I avoid it all together and give my games Mario AI (AKA, enemy goes to left to right). But look at the Rag Doll Physics Gravity Engine. It is used in ALMOST every game. AI is a pain to make.
|
The basic AI features for GW are already made. The suggestion simply makes it viable, for players to change how it works.
|
|
|
Feb 16, 2009, 03:08 PM // 15:08
|
#20
|
Furnace Stoker
Join Date: Mar 2007
Guild: Our Crabs Know True [LOVE]
Profession: R/
|
You actually think Anet would allow someone knowledge of how thier programming works? The game is not open source. And for someone to make changes, upload it, and have it used, that would entail changing the client. AI is not changing skills and attribtues, the changes would be made in the programming of how the game runs.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Similar Threads
|
Thread |
Thread Starter |
Forum |
Replies |
Last Post |
Winterclaw |
Sardelac Sanitarium |
14 |
Sep 10, 2006 11:57 PM // 23:57 |
pee tear gryffon |
Sardelac Sanitarium |
25 |
May 21, 2006 01:10 AM // 01:10 |
Customizable Henchmen
|
TadaceAce |
Sardelac Sanitarium |
7 |
Apr 02, 2006 07:31 PM // 19:31 |
customizable henchman?
|
cheers12 |
Sardelac Sanitarium |
5 |
Feb 14, 2006 11:40 PM // 23:40 |
Jas |
Sardelac Sanitarium |
2 |
Dec 30, 2005 02:58 AM // 02:58 |
All times are GMT. The time now is 11:57 AM // 11:57.
|