Advertisement

What do you think of an AI contest?

Started by October 03, 2004 08:00 AM
27 comments, last by Dmytry 20 years, 4 months ago
Quote:
Original post by Anonymous Poster
Quote:
Original post by BillyRayPreachersSon
I agree - I don't think it should be a language-specific competition.

Just my £0.02 worth ;o)

Dan


Well, personally, I don't think it should be a *platform-specific* competition, which narrows down the options considerably, and makes java a definite front-runner whatever happens.

:P
That depends entirely on the specifics of the contest. If we're all connecting to a server somewhere, then there is no platform.
If a plant cannot live according to its nature, it dies; so a man.
There IS completely platform and language independent AI contests. Say, chess AI contests. It's contests of computers sometimes espacially designed to play chess well. But it's _damn_ costly.

Basically anyone participating should be able to physically get his software AND his platform to the contest. That is, transport the computer, or transport judges to computer, because over internet there will be cheating. If everyone uses one of selected platforms, there's no need to move platform, it's enough to use software only.
But if platform isn't sandbox-able, it's needed to set-up many equal computers that is connected to same server (client-server idea not over internet) , otherwise someone will send exploit or virus. So the cheapest is to use sandbox-able platform. So JVM is the best. When we will have good sandbox-able portable .net, it will be possible to use .net, and so, have many languages.

And, with JVM, the most logical choice is Java. But it's also possible to use some kind of extended Java or even Pascal for JVM. It's not a language issue, it's platform issue.

As language, Java is not a "best" choice for contest, but probably, currently, JVM is. i absolutely don't like JVM. It's very stupid VM (and i know what's stupid in it (how they work with parameters,stack, and references.),
and even with almost ideal JIT compiler, JVM can not become comparable with native code because it is very stupid). But probably it's best choice.
what i don't like in java:
It's very stupid that there's no structs. Very stupid. With classes, Vec3[100] is slower than float[300] . And with structs it's would be essentially the same thing!!!


And, OOP purism. It's purism of idea that one and only one argument of function must be special. The best example is math - most operators depends to types several arguments, and if you want to make OOP math lib with runtime typing(with abstract base class MathType) , you'll have to make operator + to depends to type of _both_ arguments, that is, you'll need RTTI, typeof and ugly swich / ifs.
OOP suits the best for things like windows, buttons, monsters, etc, where it's obvious that one(and only one) of function arguments is special.
Advertisement
Quote:
Original post by Anonymous Poster
Quote:
Original post by Dmytry
i absolutely don't like JVM. It's very stupid VM


This is 99% likely to be because you aren't much of a java programmer...


But i know a bit about how JVM works.
Quote:

Quote:

It's very stupid that there's no structs. Very stupid. With classes, Vec3[100] is slower than float[300] . And with structs it's would be essentially the same thing!!!


...because if you were, you would know how to implement structs in java (it's been possible for the last 3 years, so it's not exactly new). I would welcome a struct keyword (just like I was very pleased when List was added, despite the ease with which I could write my own implementation), but it is far from required.

Shrug. That aside, I reckon at least 30% of entrants who would have entered otherwise will immediately be cut out no matter WHICH language/platform you choose. :(. Bummer.


Well. I'm yet to see efficient 2d and 3d vector math in Java. Can you provide a clickster?

This topic is closed to new replies.

Advertisement