🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

GameDev: Arena

Started by
538 comments, last by khawk 20 years, 4 months ago
quote: Original post by Michalson
quote: Original post by Khawk
quote: Original post by Michalson
What's to stop entrants from using this then:

"Entrants may use external libraries if desired, provided the bot DLL remains compatible with the latest version of the GameDev: Arena executable and does not interfere with proper arena execution."

One could just as easily make a C++ DLL which is simply a wrapper to yet another DLL. Even without the case of other languages this should probably be addressed in the rules.


I'll address it. Libraries cannot be proprietary, must be open source.


Not to sound like I'm whining/riding you, just to bring up legitimate concerns before the contest is actually running (that is what you asked for):

What if the "open source" DLL is written in another language. What if the DLL, or the AI DLL itself is written in C++, but doesn't compile in your particular version of Visual C++ (anyone who's ever used C++ knows how bad incompatiblity can be). Might I suggest having the AI DLLs compiled using a standard, easily available version (exact version, down to the build number) of something like GC++, that way everyone (even those without your version of VC++, I'm still using 5 for example) can be using the same compiler and we can hopefully avoid any problems?


I do appreciate it. This is exactly what I asked for.

That works for me. The idea is to prevent cheating, and I just need to be able to build the "official" version of a bot entry. Any DLL's submitted with the entry will be deleted immediately, so we have to be able to build the bots ourselves. The main reason is, and as you're bringing up, I don't know what code those submitted DLL's might be executing, and I'm not going to trust anyone.

Edit:
I will make Visual Studio the standard, but at a minimum it must compile with gc++. The "bot generator" generates the source code and VC++6 .dsp, but I won't be giving any instructions on how to setup DLL's in gc++ or any other version of VC++ (other people can choose to submit instructions, however).

Admin for GameDev.net.

Advertisement
Now, with the main reason for compiling source code being the detection of hostile code, how does one deal with obscuration? C/C++ are basically the kings of obscuration among popular languages, even code written by a beginner or by someone with a different code style can difficult to read (imagine reading 1000-2000 lines of that code). Then consider both intentional obscuration, and the use of inline assembler (even if it''s not meant to obscure things)
This is a damn good idea for a compo!
Too bad I''ve never done AI programming before.

"For crying out loud, she has fishes coming out of her head on either side. How can you find this hot?!"

"If anyone sees a suspicious, camouflaged factory being carried across the desert, they should report it immediately."
This is great. I''ll join!

BTW. Kevin, you should include a "sample bot", only to ease the pain of getting everything to work before having to begin with the real AI.

/MindWipe
"To some its a six-pack, to me it's a support group."
The amazing run-around-in-circles, then explode RavBot will be fun.

Resist everyone
Talk on RavForum(tm)
i''m new here so let me ask - is this GD Arena thing completely new to this contest or does anyone have an idea of what it is?

i get that it''s death match and we can''t use frames. i don''t know anything beyond that - if it''s a FPS, are there powerups, is there a BSP map with way points, do we have access to the map (to figure out where to put snipe points or whatever), will the map be something small and unobstructed like a boxing ring, will there be multiple weapons, will there be power ups, is it 1-on-1 or lots of bots at once, can our bots form alliances, are there respawns, what APIs do we have, will the call to our bot be preemptive or do we need to yield, things like that

-baylor
quote: Original post by Michalson
Now, with the main reason for compiling source code being the detection of hostile code, how does one deal with obscuration? C/C++ are basically the kings of obscuration among popular languages, even code written by a beginner or by someone with a different code style can difficult to read (imagine reading 1000-2000 lines of that code). Then consider both intentional obscuration, and the use of inline assembler (even if it''s not meant to obscure things)


Well, it''s very difficult to cheat as it is, even without building the DLL. Without getting into too much detail, I know exactly what type of code I''ll be looking for when reviewing the entries for cheating. Even with knowing the details of how everything works, I haven''t been able to cheat the system in my test bots (granted, I haven''t spent much time trying to cheat either). I''m not really worried about difficulty reading code, but I will put a point that if the code is questionable then it will go under inspection and the contestant will be required to explain the code.

As far as assembly goes, maybe it should be banned.

Admin for GameDev.net.

quote: Original post by baylor
i'm new here so let me ask - is this GD Arena thing completely new to this contest or does anyone have an idea of what it is?

i get that it's death match and we can't use frames. i don't know anything beyond that - if it's a FPS, are there powerups, is there a BSP map with way points, do we have access to the map (to figure out where to put snipe points or whatever), will the map be something small and unobstructed like a boxing ring, will there be multiple weapons, will there be power ups, is it 1-on-1 or lots of bots at once, can our bots form alliances, are there respawns, what APIs do we have, will the call to our bot be preemptive or do we need to yield, things like that


This is a completely new contest, and possibly a new series of contests.

Your questions should be explained at the contest start date. But here's some more information.. the bots will have to be programmed as though the programmer were playing an FPS, had access to only so much information in the world, and could only perform so many actions.

The view is about 3/4's 3D. Possibly by the end of the contest, everyone can view the action from any angle, but right now the view is fixed.

The map does have obstructions, there is more than one weapon, and it's 1-on-1 (deathmatch). There is also a one-time ammo reload point - this will make things very interesting. The API is provided by the GameDev: Arena executable. Everything is executed synchronously as far as the bot is concerned. It doesn't need to worry about timing and priority.

It's very possible that some parameters will need to be tweaked, for instance, the amount of damage caused by each weapon or the number of obstructions on the map. Right now there are no plans to alter the core executable unless there are any defects that need to be resolved. The final executable, barring defects, will be available one week before the final due date.

Admin for GameDev.net.

PouyaCatBot will kill you all!!! MUAHAHAHAHAHA!!!!
This contentest will be probably the MOST cool contest ever!!!It''s not only intresting and challenging but also fun!The stuff that you guys will provide us with some sort of API is also great.I suppose that we will also have access to the arena maps so we can train our bots a little(set waypoints and etc).I also suppose that the system will be client/server like the clients are our DLLs and the server is the arena itself.Well will see.All i know is that this will be QUAKE-STYLE ULTRA-HARDCORE DEATHMATCH.HOLD ON YOUR SHORTS GRANDMA........CAUSE THE DOOM IS COMMING!

"You losers better learn...NOONE CONTROLS OUR GOD DAMN LIFE!!!" - MANOWAR

This topic is closed to new replies.

Advertisement