Jump to content

Anyone good at AI ?

zindan
40 minutes ago, zindan said:

I don't know how to answer that question. "How do I read the player".   Remember that it is incredible hard even for real players to predict another player at all times.  It's not a 100% always hit game. 

If someone is out of map he must get back to the ledge so this leaves him with not a lot of options but a simple turn left when your opponent thinks you will go right can save you.    You sort of just get a feeling. Previous moves, the players habbits etc. But the opponent can change his way of playing all of a sudden and surprise you. There is somewhat guessing involved in gameplay, predicting is essential. 

These are all things an AI can do/learn though.

Crystal: CPU: i7 7700K | Motherboard: Asus ROG Strix Z270F | RAM: GSkill 16 GB@3200MHz | GPU: Nvidia GTX 1080 Ti FE | Case: Corsair Crystal 570X (black) | PSU: EVGA Supernova G2 1000W | Monitor: Asus VG248QE 24"

Laptop: Dell XPS 13 9370 | CPU: i5 10510U | RAM: 16 GB

Server: CPU: i5 4690k | RAM: 16 GB | Case: Corsair Graphite 760T White | Storage: 19 TB

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, bowrilla said:

Why would you ask a question just to say it couldn't be done? That's a big middlefinger to everyone answering your question. 


Giving my personal opinion is a big middlefinger to everyone? Do explain. Also take a look at my question. someone pelase remove this "wanna be smartass" from my thread.

Link to comment
Share on other sites

Link to post
Share on other sites

31 minutes ago, zindan said:


Giving my personal opinion is a big middlefinger to everyone? Do explain. Also take a look at my question. someone pelase remove this "wanna be smartass" from my thread.

Wow, four sentences and 3 of them are contradicting. Do explain or get lost? And how can your opinion be a valid part of a discussion but my opinion on your behaviour is not?

But hey, if you're really interested in how AI work (or can work since there are many possible ways on how to design one) in games (even though people already told you):

Let's get back to fighting games. It's a classic situation of action and reaction. You combine specific moves and there are many possibilities on how to react. The easiest way would be to have a database that stores possible counter measures against specific attacks. Attack A could be linked to defense Ac. That way your AI would always react the same way and couldn't adapt. Most likely in a fighting game you have several possible reactions. You could just choose them by random (maybe adding some factors to every counter measure to create some character specific patterns). Still your AI won't be able to adapt. Now you can add success probabilities. Every time a specific move worked it's success probability goes up and therefore the AI is more likely to choose it. If it fails the probability goes down and the AI doesn't choose it over a different move with a higher probability. Still this is now only reacting to a specific move. Since you can do combos you can create a statistic that links a first move to possible second moves in a combo. Again you create a statistic that helps predicting the opponent's next move. Both statistics could be game-wide or player-specific – or even player-fighter-specific. This way your AI is able to adapt to player-fighter combinations and doesn't forget your fighting style even if a different player plays the same game (as long as they're using a different player profile). You can now add a routine to choose counter attacks with all the above stastistics and make your AI plan ahead. You can then add a routine on how a specific player would react and start a counter attack the AI needs to counter again. If the AI has enough time it could potentially predict with some level of certainty how a whole fight might play out (of course as long a player doesn't adapt itself).

Now how can you adapt difficulty? Again: many possible ways to do it. One way could be to put in a margin of error in your statistics for example to deliberately miss some moves to be accounted for in the statistics, add a random error on stastistic values or similar. You can also define a delay. An in-game AI that has access to player moves doesn't need to recognize those moves anymore. Therefore it has more time to plan further ahead. If the AI had to recognize a specific move then it needs time to do so and it's another potential error.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

14 minutes ago, bowrilla said:

Wow, four sentences and 3 of them are contradicting. Do explain or get lost? And how can your opinion be a valid part of a discussion but my opinion on your behaviour is not?

But hey, if you're really interested in how AI work (or can work since there are many possible ways on how to design one) in games (even though people already told you):

Let's get back to fighting games. It's a classic situation of action and reaction. You combine specific moves and there are many possibilities on how to react. The easiest way would be to have a database that stores possible counter measures against specific attacks. Attack A could be linked to defense Ac. That way your AI would always react the same way and couldn't adapt. Most likely in a fighting game you have several possible reactions. You could just choose them by random (maybe adding some factors to every counter measure to create some character specific patterns). Still your AI won't be able to adapt. Now you can add success probabilities. Every time a specific move worked it's success probability goes up and therefore the AI is more likely to choose it. If it fails the probability goes down and the AI doesn't choose it over a different move with a higher probability. Still this is now only reacting to a specific move. Since you can do combos you can create a statistic that links a first move to possible second moves in a combo. Again you create a statistic that helps predicting the opponent's next move. Both statistics could be game-wide or player-specific – or even player-fighter-specific. This way your AI is able to adapt to player-fighter combinations and doesn't forget your fighting style even if a different player plays the same game (as long as they're using a different player profile). You can now add a routine to choose counter attacks with all the above stastistics and make your AI plan ahead. You can then add a routine on how a specific player would react and start a counter attack the AI needs to counter again. If the AI has enough time it could potentially predict with some level of certainty how a whole fight might play out (of course as long a player doesn't adapt itself).

Now how can you adapt difficulty? Again: many possible ways to do it. One way could be to put in a margin of error in your statistics for example to deliberately miss some moves to be accounted for in the statistics, add a random error on stastistic values or similar. You can also define a delay. An in-game AI that has access to player moves doesn't need to recognize those moves anymore. Therefore it has more time to plan further ahead. If the AI had to recognize a specific move then it needs time to do so and it's another potential error.

Why didn't you just write that in your first comment instead of the other stuff. 

Thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

21 minutes ago, zindan said:

Why didn't you just write that in your first comment instead of the other stuff. 

Thanks.

Because I stand by what I've written: if you don't know anything about a topic, you ask a question and then reply to people who gave you answers that it wouldn't work is pretty much offensive or at least bad style. It gives the impression as if you were only asking a question to get people involved just to brush them off. If you don't know anything about a topic then ask people if something seems to be unclear and just say it wouldn't work if you don't know how it works. 

But since you are interested in that topic I hope you got a first impression on how game AI works. Next level ai stuff would be neural networks but I don't think they're really used in games since they can be pretty power hungry.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

I specialize in AI(both in games and the research sense), and as a generalization writing a traditional AI(decision tree style) that can beat someone at any game(including brawlhalla) is trivial compared to other AI tasks.

 

You have to understand that in what is normally a Yomi game in the context of human vs human is not in the case of CPU vs human. CPU opponents have access to perfect information about the state of the game, not only that but they have the ability to manipulate time by rolling back their actions to pre-emptively respond to actions that haven't happened yet.

 

This is rarely ever done because fighting such an opponent is frustrating and near unbeatable, not because it's hard to do; it's super easy to make an unbeatable opponent. The challenge as was pointed out is making AI that hits the right curve of challenging but overcomeable, and in many ways making sure it acts dumb enough for players to have fun(which is an entirely different topic, game design involves a lot of psychology and misleading players for their own enjoyment).

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

And again, even in a game with perfect information for both players like Go, it's impractical to brute force every game state. All AlphaGo did was figure out what the current state of the game is and evaluate enough solutions that would give it the most likely chance of producing a favorable outcome. This is more or less the same way humans play Go. Though apparently AlphaGo's tactics were unorthodox to the players it went up against.

 

Even in games with imperfect information, you're still playing in such a way that would turn the odds in your favor. The only game I can imagine that a computer would have trouble with is Poker because of the bluffing tactic, but even then you can use the information accessible to you (which is practically everything except the other player's cards) to figure out the most favorable outcome (which is how the more advanced poker AIs are designed). And while you can argue this isn't a perfect playing AI, any game with chance involved is impossible to ever play perfectly. You can only figure out what gives you the best probability of success.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, VFe said:

I specialize in AI(both in games and the research sense), and as a generalization writing a traditional AI(decision tree style) that can beat someone at any game(including brawlhalla) is trivial compared to other AI tasks.

 

You have to understand that in what is normally a Yomi game in the context of human vs human is not in the case of CPU vs human. CPU opponents have access to perfect information about the state of the game, not only that but they have the ability to manipulate time by rolling back their actions to pre-emptively respond to actions that haven't happened yet.

 

This is rarely ever done because fighting such an opponent is frustrating and near unbeatable, not because it's hard to do; it's super easy to make an unbeatable opponent. The challenge as was pointed out is making AI that hits the right curve of challenging but overcomeable, and in many ways making sure it acts dumb enough for players to have fun(which is an entirely different topic, game design involves a lot of psychology and misleading players for their own enjoyment).

 

 

impressive, is this something an average cheater could do in order to beat his friends at the game or does it require that you own the game? could you do this? I like the sound of what you say but still I stand fast by that it cannot be done. I would love to see an Ai/bot that could beat me. I don’t care how it does it just as long as it can do it. but it cannot have super powers like 200% increased damage, defence, speed or dexterity 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, zindan said:

impressive, is this something an average cheater could do in order to beat his friends at the game or does it require that you own the game? could you do this? I like the sound of what you say but still I stand fast by that it cannot be done. I would love to see an Ai/bot that could beat me. I don’t care how it does it just as long as it can do it. but it cannot have super powers like 200% increased damage, defence, speed or dexterity 

I'm sorry, but this is exactly what @bowrilla was getting on and I must agree by now. It seems like you consider yourself the god of Brawlhalla or something by that statement. Just because the game's own AI sucks (can't say from experience, but from a quick google it doesn't seem to be the best), doesn't mean that a properly playing and learning AI cannot beat you or someone else.

 

Multiple people have told you the ideas behind an AI and how it can be implemented in order to beat humans, including examples of where AIs can compete or beat humans (like at Go or at Super Smash Bros. Melee) and all you respond with is "I'm sure an AI can never beat me". Which is fine if that is what you think, don't get me wrong. This isn't meant to be hostile, it just doesn't help the conversation.

 

Anyway, you beat someone, because you learn their moves and patterns. That is exactly what an AI implementing machine learning can and will do. You have your patterns, no matter how random you think you are and it will remember those, but it's expensive.

AI is complicated and not something the average cheater will accomplish. There's a reason games have people/teams working on making the AI just right ;) 

I remember putting the SSBM or SSBB AI to level 9 and getting my ass handed to me, until you discover their patterns (since they're just programmed and they have their flaws). If implemented in the game itself, then as said, the AI has access to all the internals, so it knows you pressed a button to attack before the attack is even executed so to speak and can block immediately.

 

So my two cents, (assuming the same character every time of course) if it's a learning AI then it can and will beat you after having played you enough to know you. Straight up decision making could be more easy or difficult, depending on how much information it has (e.g. how fast it know what button you pressed, but should be straightforward according to @VFe.

Crystal: CPU: i7 7700K | Motherboard: Asus ROG Strix Z270F | RAM: GSkill 16 GB@3200MHz | GPU: Nvidia GTX 1080 Ti FE | Case: Corsair Crystal 570X (black) | PSU: EVGA Supernova G2 1000W | Monitor: Asus VG248QE 24"

Laptop: Dell XPS 13 9370 | CPU: i5 10510U | RAM: 16 GB

Server: CPU: i5 4690k | RAM: 16 GB | Case: Corsair Graphite 760T White | Storage: 19 TB

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, zindan said:

impressive, is this something an average cheater could do in order to beat his friends at the game or does it require that you own the game? could you do this? I like the sound of what you say but still I stand fast by that it cannot be done. I would love to see an Ai/bot that could beat me. I don’t care how it does it just as long as it can do it. but it cannot have super powers like 200% increased damage, defence, speed or dexterity 

In addition to what @tikker said, if you want to start making this claim that no AI can beat you, then let's see some actual proof that you are this good at this game. Are you the top player ever, right now?

 

Because if you're not or even close, then we shouldn't even really be having this discussion.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, M.Yurizaki said:

In addition to what @tikker said, if you want to start making this claim that no AI can beat you, then let's see some actual proof that you are this good at this game. Are you the top player ever, right now?

 

Because if you're not or even close, then we shouldn't even really be having this discussion.

I already said that I'm not that good however I can make sure that a player who was once top 1 can fight the AI. IF you can come up with a way for it to beat a brawlhalla player it would be most impressive. Getting a pro player is not a hard thing. I am like low Platinum, that's how good I am. It means like 1680 ELO rating.   People who are really good have like 2300-2600 ELO rating

Link to comment
Share on other sites

Link to post
Share on other sites

AI CAN play any game. It’s complicated to do so. 

https://deepmind.com/research/publications/playing-atari-deep-reinforcement-learning/

 

AI CAN be tethered to cheese any game. 

 

AI just needs a smart cookie to get it done. 

 

I took a robotics class which required some “AI” programming. Basically it’s “if Wall is in front of you, turn left.” 

AI isn’t hard to start but it’s difficult to master. (Depending on what you’re doing.) 

if you’re making a game, people usually build game engines using an API to handle the creation of “Navmeshes.” Navigation meshes are like carpets that AI can walk on. It can’t walk anywhere else in most instances. 

 

Doing a zombie ai with navmesh is as simple as

1. Get player location. 

2. Move to player. 

 

Then to “make it dumb” as Miyazaki had stated to be difficult with tic tax toe, you could shoot a laser face out of the zombie to make it dumb. (Edit: not to bash Miyazaki. It is hard. I couldn’t tell you how to do it. End edit.) 

 

1. Get player location. 

2. Shoot laser forward out of face. 

3. If laser hits player before anything else, go to player. 

 

When I programmed a robot it was a bit different as I had a few hardware limited sensors. Sometimes I had to re-engineer the design of the robot to accommodate. My specific example is the range sensor was too high so I made a piece to hold it close to the floor in the front. 

Spoiler

Empty spoiler. Hard to delete on mobile  

I cannot explain the full program as this was one of the final projects and used 4 or more sensors. But basically there was a condition “sensor has value of 5.” 5 is the amount of centimeters away (for example.) then I just tell it “motor left, move forward negative 5 rotations. Motor right, go forward positive 5 rotations.” 

 

Long story short, AI is if statements that say what to do when certain criteria are met. If you want it to do anything cool, it’ll take a lot of iteration & I don’t know anything about machine learning-only “dumb and perfect AI.” 

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, zindan said:

impressive, is this something an average cheater could do in order to beat his friends at the game or does it require that you own the game? could you do this? I like the sound of what you say but still I stand fast by that it cannot be done. I would love to see an Ai/bot that could beat me. I don’t care how it does it just as long as it can do it. but it cannot have super powers like 200% increased damage, defence, speed or dexterity 

Most game AI isn’t smart, they just cheat. Strategy games like total war series doesn’t make AI smarter strategist as you crank up the difficulty settings. It just change the numbers so ai gets huge modifier boost while player gets modifier penalty.

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, zindan said:

I already said that I'm not that good however I can make sure that a player who was once top 1 can fight the AI. IF you can come up with a way for it to beat a brawlhalla player it would be most impressive. Getting a pro player is not a hard thing. I am like low Platinum, that's how good I am. It means like 1680 ELO rating.   People who are really good have like 2300-2600 ELO rating

Play a game with me! I will humble you.

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, zindan said:

impressive, is this something an average cheater could do in order to beat his friends at the game or does it require that you own the game? could you do this?

 

If by average cheater you mean average programmer then yes, could I do it? yes. Anyone with basic knowledge of game programming could do this task, it is not hard.

 

Making a learning AI and teaching it is quite a bit harder though, but this is the equivalent of handicapping the program when there's much easier ways to get the same result, certainly is cooler though.

 

Quote

I like the sound of what you say but still I stand fast by that it cannot be done.

 

Don't take this with hostility, but you have admitted you have neither the skill nor the knowledge to make this statement; so why would you stand fast by it?

 

"I don't know anything about this topic, but I'm pretty sure this expert is wrong, and I stand by that"...like...there's no inoffensive way to express how foolish this comes off, and people are being exceptionally kind to you.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, VFe said:

 

If by average cheater you mean average programmer then yes, could I do it? yes. Anyone with basic knowledge of game programming could do this task, it is not hard.

 

Making a learning AI and teaching it is quite a bit harder though, but this is the equivalent of handicapping the program when there's much easier ways to get the same result, certainly is cooler though.

 

 

Don't take this with hostility, but you have admitted you have neither the skill nor the knowledge to make this statement; so why would you stand fast by it?

 

"I don't know anything about this topic, but I'm pretty sure this expert is wrong, and I stand by that"...like...there's no inoffensive way to express how foolish this comes off, and people are being exceptionally kind to you.

just my instinct. I am not saying it as a fact. I have a hard time believing it. give it a try? make a bot that can beat me atleast? :) that would be most impressive and if it’s as easy as you say it is then it shouldn’t take to long.

Also my man, I don't know anything about you so if everything you say is true or not is something I can't really find out.  How do I know that you are an "expert" etc etc, I mostly wanted to hear what other people think and perhaps they are right perhaps not. I'd still ask and still wanna know. But Maybe you are right maybe not.

 

8 hours ago, wasab said:

Play a game with me! I will humble you.

okey add ”lord vrarsle” on steam

Link to comment
Share on other sites

Link to post
Share on other sites

Generally it's not too hard to make game AI that could beat anyone. All it comes down to are the rules, what a player can do, and game theory (if applicable). Take connect 4 for example, it's a solved game; the first player will always win when playing perfectly, even against a perfect opponent. So it would be pretty easy to make a perfect bot for that game. I didn't read everything above, but it sounds like your game is simple, but complicated enough, so you may not be able to create an unbeatable bot without machine learning. However, depending on the rules and what a player can do, you could probably make a bot that's pretty hard to beat. After all, the bot doesn't need to be perfect, it just needs to be better than the people it plays against.

 

P.S. Since I make games I'd like to point out that games don't really use artificial intelligence in terms of the actual bots you might play with/against. A term I like to use is artificial stupidity. They miss their first shots when you pop out of cover, they don't all shoot you at the same time, stuff like that. Bots aren't there to be perfect, they're there to make the game fun.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, zindan said:

 I mostly wanted to hear what other people think and perhaps they are right perhaps not. I'd still ask and still wanna know. But Maybe you are right maybe not.

The general vibe I keep getting from you though is we present arugments for making an AI that a human will likely not able to beat and your response basically brushes those arguments off without any real good counter arguments. Saying "well, I think I'm a good enough player and there's lots going on so no AI can beat me" isn't really a strong argument. 

 

This is why a few of us aren't taking this very seriously anymore. 

Link to comment
Share on other sites

Link to post
Share on other sites

Maybe an easier way to consider this is that a bot that is integrated into the game could have frame level information for the entire game.

 

That is, the second you hit a button, it could know when the input has been recevied by the engine, even before an animation had started.
Even if it didn't, it could see the game frame-by-frame and just see the very first frame of the attack and then plan its counter then.

 

I've just finished a research project on Reinforcement learning for StarCraft II, a very difficult game for many many reasons (incomplete info, a long time to recieve any reward, and a humongous action space).

 

A fighting game in comparison is very different, and I would expect much easier. Hell, I would expect a bot to be able to do things a human can't. If you know that using move X gives you a single invulnerability frame, a bot can get that lined up perfectly, whereas a human would very much struggle.

 

Also, look at stuff like this for Super Smash :

 

You've got a bot beating pros in a figthing game, in a limited game scenario granted.

There is similar cases in DOTA 2 1v1s and more.

CPU: 6700k GPU: Zotac RTX 2070 S RAM: 16GB 3200MHz  SSD: 2x1TB M.2  Case: DAN Case A4

Link to comment
Share on other sites

Link to post
Share on other sites

57 minutes ago, WiiManic said:

Maybe an easier way to consider this is that a bot that is integrated into the game could have frame level information for the entire game.

 

That is, the second you hit a button, it could know when the input has been recevied by the engine, even before an animation had started.
Even if it didn't, it could see the game frame-by-frame and just see the very first frame of the attack and then plan its counter then.

 

I've just finished a research project on Reinforcement learning for StarCraft II, a very difficult game for many many reasons (incomplete info, a long time to recieve any reward, and a humongous action space).

 

A fighting game in comparison is very different, and I would expect much easier. Hell, I would expect a bot to be able to do things a human can't. If you know that using move X gives you a single invulnerability frame, a bot can get that lined up perfectly, whereas a human would very much struggle.

 

Also, look at stuff like this for Super Smash :

 

You've got a bot beating pros in a figthing game, in a limited game scenario granted.

There is similar cases in DOTA 2 1v1s and more.

Very impressive. Could you try to do something similar in brawlhalla ? Just something that is hard to beat?

Link to comment
Share on other sites

Link to post
Share on other sites

58 minutes ago, WiiManic said:

Maybe an easier way to consider this is that a bot that is integrated into the game could have frame level information for the entire game.

 

That is, the second you hit a button, it could know when the input has been recevied by the engine, even before an animation had started.
Even if it didn't, it could see the game frame-by-frame and just see the very first frame of the attack and then plan its counter then.

 

I've just finished a research project on Reinforcement learning for StarCraft II, a very difficult game for many many reasons (incomplete info, a long time to recieve any reward, and a humongous action space).

 

A fighting game in comparison is very different, and I would expect much easier. Hell, I would expect a bot to be able to do things a human can't. If you know that using move X gives you a single invulnerability frame, a bot can get that lined up perfectly, whereas a human would very much struggle.

 

Also, look at stuff like this for Super Smash :

 

You've got a bot beating pros in a figthing game, in a limited game scenario granted.

There is similar cases in DOTA 2 1v1s and more.

Omg I think you are right man. It's extremely cheaty tho to do that but could you please do it ? Would be awesome to see.   Like the computer knows when I click dodge and it knows exactly what to do after that. Damn it could do the sickest combos ever.

Link to comment
Share on other sites

Link to post
Share on other sites

58 minutes ago, zindan said:

Omg I think you are right man. It's extremely cheaty tho to do that but could you please do it ? Would be awesome to see.   Like the computer knows when I click dodge and it knows exactly what to do after that. Damn it could do the sickest combos ever.

O course the ai knows your input, it knows everything. Player location, Heath ect if programmer wants it to. Ever seen cheater using aimbots? 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

10 minutes ago, wasab said:

O course the ai knows your input, it knows everything. Player location, Heath ect if programmer wants it to. Ever seen cheater using aimbots? 

Okay well this makes things so much easier..... Damn not even a human can keep track of all these things.

I wanna see this happen, anyone interested in creating a bot that can beat me at least? :)

Link to comment
Share on other sites

Link to post
Share on other sites

So, I have no idea what 

On 5/19/2018 at 2:30 AM, zindan said:

What is required to make a AI for a game? Lets say a game like Brawlhalla, which math and which programming languagaes would be required to make a really good AI bot in Brawlhalla that nobody can beat?
I found one guy stating a few, can someone with knowledge tell me if he is correct? 
https://www.quora.com/What-math-is-used-in-machine-learning-artificial-intelligence-research

There are fundamentally two kinds of game AI - one follows a script and the other is based on a learning algorithm. There are two fundamental goals - making the AI challenging and making it engaging. A scripted AI that "knows" every attack, the attacks of every opponent, can move and attack with sub pixel perfect accuracy and frame cancels every attack may not be possible for a human to beat - and it will certainly be unfun to try. 

 

The learning "AI" gets a set of rules about the objective of the game and iterates against its self over time - if it can beat the  DOTA world championships it can probably master a game like this. I have no idea how to build ML, if you are interested in learning I'm sure their are courses and white papers.

 

When I did doom modding many years ago, the rules of the game allowed for a "perfect" opponent that you could almost never hit (even with hit scan weapons) who would always hit you while bouncing all over the place like a spaz - nobody would enjoy playing against such a thing though. Programming an enemy that was both challenging and plausible was what was difficult - creating the illusion of intelligence is hard.

Web Developer and Java contractor

Link to comment
Share on other sites

Link to post
Share on other sites

Guest
This topic is now closed to further replies.

×