Ranking
Originally Posted by Jok View Post
Well, excuse me for being so formal, it seems sarcasm is a must-have in a conversation with you.

You failed to spot the point where I said I think you are smart, and that you judging me by my age was probably just a fluke. But apparently it's not exactly a fluke.

I can assume you know Java to a good extent, seeing as how you do know what you're talking about, but more I can't assume because you haven't shared a single bit of info on that.

I am a 16 year old. I have been programming since I can remember. I know Java, C, C++, Pascal, and several others, to a high enough level to call myself skilled, and to a high enough level to be called 'smart'. I come from Romania, and have participated in the national olympics for Computer Science, programming side, in 2001, and would have won 1st prize if not for my bad habit of not saving, and a badly timed power failure. I was placed 13. I have been working for pay in Java, and C/C++ for the last year and a half, and have made quite a bit by doing so.

I'm not on IRC any longer, since a week or so ago, when veb proceeded to ban me from the place after my modship was removed and he wouldn't let go of the issue. I'm probably unbanned, but I'm not coming back, since I'd have to set up a new irssi session on the box I bounce through, and I've since lost the ip to said box, so I'd have to do some log-digging. (That is because my ISP blocks IRC connections to anything other than irc.quakenet.org, so I have to either bounce through an external box, or not connect)

I have proven you either wrong or have proved that you misunderstood what I said on every point you brought up so far, and you still insist I 'see where you come from'.

Believe me, I've been there, thinking of making a system to do x thing for Toribash, then spending 6 months coding it, only to realise it's so bug-filled and slow it won't ever work properly. I'm trying to spare you the pain. When I saw you wouldn't budge, just like I didn't when I attempted various things, I suggested the best solution to your problem, meaning talking to hampa.

Not once before this post did I attempt to suggest you are mentally disabled, slow, stupid, retarded, or any other such thing. I simply recognized the way I used to act when I was still able to give a rat's ass about my projects, and was trying to help you so you don't end up annoyed over not being able to do something and quitting the community, or coding overall. The reason why I wasn't able to make a working neural net isn't because it's impossible per-se. It's because things always came up, problems, communication with hampa was tough because of timezones, and whenever I had a breakthrough, something new came up. Eventually, I lost interest. IF I had a year to waste with this, I would have probably ended up with a half-broken, half-working, system that sort of works. However it isn't worth it. I should have spent those months I was coding this at least doing something more productive, such as stuff the community would need. Not a neural net system that will never work, and even if it would, it would be useless due to bugs.

You are free to do as you wish, I never attempted anything more than to show you why it won't work, and how hard it would be to make them work. I'm not going to pursue this argument any more, due to the simple thing of me being as civilized as I can possibly be, and you using sarcasm and insults to get your flawed point across.

Jok, you act as if you are being victimized unfairly, but all you seem to be contributing to this thread is misinformation and pessimism.

I appreciate the fact that you think what I'm doing is impossible. It's very well intentioned of you to try and save me the trouble of doing something you think is a wild goose chase... but maybe you should consider that it only seems impossible to you because you don't understand it.

Way up there you say you've proven that I'm either wrong or that I'm misunderstanding you.
Well Jok, I'm trying to understand you and not mischaracterize your arguments.
Tell me if I've got anything wrong.

You are saying that evolving AIs for Toribash using neuroevolution will not work because:

1. 90% of the coolness of a neural net is training it, it wouldn't be fun as a bot.

2. It's impossible to speed up Toribash enough to be useful for neuroevolution (in your words: "Toribash, without rendering, would not run any faster. The simulation is too complex to run thousands of times in a few minutes on a single machine like you'd need.")

3. Neural nets will never be able to control an entire player at once, because its too complex (you suggest using an individual neural net for each limb, and a main neural net that chooses between which NN is the best for the moment; then you say that your tests indicate it is not workable).


Then you support this with the final point:

"I know enough about what Toribash CAN'T do, because I have tried it already. Having tried and failed at doing x, y, or z means I know Toribash currently isn't fully capable of doing said x, y, or z things."


Have I got you wrong on any points so far?
Originally Posted by tripwire View Post
Jok, you act as if you are being victimized unfairly, but all you seem to be contributing to this thread is misinformation and pessimism.

I appreciate the fact that you think what I'm doing is impossible. It's very well intentioned of you to try and save me the trouble of doing something you think is a wild goose chase... but maybe you should consider that it only seems impossible to you because you don't understand it.

Way up there you say you've proven that I'm either wrong or that I'm misunderstanding you.
Well Jok, I'm trying to understand you and not mischaracterize your arguments.
Tell me if I've got anything wrong.

You are saying that evolving AIs for Toribash using neuroevolution will not work because:

1. 90% of the coolness of a neural net is training it, it wouldn't be fun as a bot.

2. It's impossible to speed up Toribash enough to be useful for neuroevolution (in your words: "Toribash, without rendering, would not run any faster. The simulation is too complex to run thousands of times in a few minutes on a single machine like you'd need.")

3. Neural nets will never be able to control an entire player at once, because its too complex (you suggest using an individual neural net for each limb, and a main neural net that chooses between which NN is the best for the moment; then you say that your tests indicate it is not workable).


Then you support this with the final point:

"I know enough about what Toribash CAN'T do, because I have tried it already. Having tried and failed at doing x, y, or z means I know Toribash currently isn't fully capable of doing said x, y, or z things."


Have I got you wrong on any points so far?


That's pretty much it, minus the fact that I meant the limit hardcoded into Toribash (along with rendering) would slow things down, not simply rendering. And the fact I didn't mean a neural net couldn't control a full toribashian ever, but the fact that it will most likely be specialized in something specific (IE: blocking, jumping, balancing) and not an 'all-round' fighter, because all the neural nets I've made had trouble keeping more than one stance at any one time.

Also, about your other post, with you saying you'd use a recurrent neural net, that might be a solution, I haven't used one, I used a basic neural net, no recurrency, sigmoid neurons for the hidden layer. It could be possible, but I'm still undecided on whether it would run fine considering the complexity of the physics involved. I once attempted a physics engine run by a neural net, and it worked okay in less than 20% of the cases. It may be possible.
Tripwire,
Please listen to Jok.
He knows far more about Toribash than you.
I'm Back!
you don't seem to realize how complex the toribash physics are, you cannot run it as fast as you seem to think. (jok's correct on that point)

but the rest I don't really know :P
Originally Posted by Defyant View Post
Tripwire,
Please listen to Jok.
He knows far more about Toribash than you.

And you would know that , wouldnt you noobie?!...
as far as i can see , for now the only right statements that Jok made are:

1:We the casual players wouldnt be able to teach the A.I , because it would be time consuming.

What i would suggest is making a second script called A.I Trainer , which will load starting moves from replays collected in a database...
This way , when i am going out ill simply load the A.I and A.I trainer and leave toribash open , so the fights are being simulated...

However there is a small flaw , since u have to press space to start a new fight , but i believe this could be bypassed...

2:Second thing Jok's right about is that At the moment Toribash cant run faster than that , unless u had a modified version...which shouldnt be hard to get , just ask hampus bout it....

From what i see so far everyone seem to backup Jok and flame Tripwire....
Which shouldnt be the case , judging from the explanations he gave he really knows what he is talkin bout ... unlike Jok...

Whateva , i wish you good luck with this Tripwire and ill be watchin the progress...And dot get mad over most of the kids here...half of em seem to be asslickers ;]
That's A Five-Nine in ya Face!!!
Skillz That Killz!.!.!
Jok: these gigantic posts could all be avoided if you read what NEAT is.

It's not a simple feed forward perceptron neural net like what you are thinking; its a system for growing neural nets from individual parts called "genes" and evolving them to be better over time. It's a LOT more advanced than what you are talking about, and its being used to solve much harder problems than what I'm suggesting.

It should be obvious to you why the argument "I tried to do x in toribash and i gave up because it was too hard, therefore x is impossible in toribash" is silly.

Imagine you are building a bridge across a stream, and the builder you are asking for help tells you "Don't waste your time, I tried to build a bridge and it was a lot of work and I never got anywhere, so no one ever will".

Addressing your other points:

1. Training neural nets is fun. I won't deny that. However, you again underestimate the strength of modern neuroevolution methods. Toribash right now has no single player a.i., so every game will strictly be against yourself. If you don't think people would love the chance to fight a challenging opponent in single player mode you are not being honest with yourself.

2. There ARE ways of getting around the frame/tic limiter or any other locks Toribash has in place to control the speed of execution. Like I've explained before, its possible to write a "wrapper" that fools toribash into thinking its drawing, but all the opengl calls don't do anything or waste any computational power. There are probably easier ways than this as well; in other words this is not an unsolvable problem, or even a very hard one. I do NOT want to go to all the effort of writing my own openGL wrapper until I hear back from Hampa on if there is a simpler way.

3. Your understanding of how good neural nets are is based on your experience with fixed topology networks, which is an entirely different approach than what I'm talking about. With NEAT, the network changes dynamically to become better, so control systems and the like evolve without any special effort on the programmers part.

If you wanted to evolve a Toribash AI that could both block, and jump, and dodge, there is no better way to do this than with NEAT; if you don't believe me, ACTUALLY READ WHAT IT IS and check out some of the experiments performed with it. Control systems emerge automatically if you set up the fitness criteria cleverly. For an example of this, check NERO at nerogame.com which actually uses a realtime implementation of NEAT to control little soldiers in an RTS kind of environment. It's quite easy to evolve soldiers that can choose between complex behaviors like fleeing or attacking on the fly based on their environment.
_____________________
Thank you for the support skillz.
If you are interested, the part I'm stuck on now is trying to reduce I/O use in the communication between Toribash and the other program. Right now, everytime toribash wants to talk to the other program, it has to save a file, and vice versa. I have a feeling its probably good to avoid writing to the hard drive about 10000 times a second for weeks on end, but I can't figure out how to save files outside of /data/scripts.
but I can't figure out how to save files outside of /data/scripts.

Can't.
:D
Originally Posted by Blam View Post
Can't.

Maybe you can...
If there was a symbolic link in /scripts that pointed to somewhere else, Toribash wouldn't have to go outside of /scripts.

I know windows doesn't have sym links, but theres a version of Toribash for linux right?
I'll just make a ram-disk on linux and have it save files to it using a link from within the /scripts folder