Skip to main content
GameDev.net gamedev.net
📌 Pinned 🔒 Locked

Some questions

Started by khawk Aug 20, 2003 at 12:17 AM 13 replies 4.4k views
Original Post
khawk
I am looking to start preparing the beta GameDev: Arena contest, but as I do so, I would like to collect some feedback from everyone. I'd appreciate it if everyone could reply with their answers to the following questions. I may have followup questions in a few days, but here is the initial batch: 1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready? 2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)? 3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)? 4. How long do you feel is sufficient time for developing a contest-worthy bot? 5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy) 6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy) 7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy) 8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy) 9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy) 10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment. 11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).
Admin for GameDev.net.
Peon
Peon
1. I think so. At least for my basic knowledge, it seems to be very intuitive and balanced.

2. Not sure what the interface is exactly

3. A way to repeat matches. I can''t do any sophisticated bot that would benefit this, but it''s kind of a pain to close / reload the program each time. I''d like F5 to reset the program.

4. I think a month at least, but I''m slow.

5. 10; I was surprised. I thought it would be way over my head but it''s very easy to get into. Writing a good bot, on the other hand, is another story

6. No comment; I ask any technical questions, but for what it''s worth, I frequently checked the forum and benefited from the technical advice in it.

7. 9; Some of the things, like how walls were viewed, for instance, were not clear enough IMO, but the functions themselves were very easy to understand, after reading the description.

8. Not sure what this is exactly; I would like to see more weapon variety (if this is the place to mention that) or support for team battles

9. 8; it''s difficult for me, but I have no AI experience. I think it would be about the right amount of work for anyone with some experience. The bots are simple, in that you really have a small pool of functions to draw from, but in that, there is complexity as well.

10. I sure hope so, given enough time

11. Just want to say that I appreciate your (KHawk''s) effort in putting together the program, especially so that even beginners like myself can participate.

Peon
Peon
Neosmyle
Neosmyle
1. I know that you have said that it is only possible through a rewrite, but I think the only thing necessary is a better wall detection scheme.

2. I think that a generalized ->Turn() function would be nice, instead of the TurnRight and TurnLeft functions.

3. Nothing.

4. I would say about three weeks, that allows for development, testing, and time to make sure that any personal problems, etc, dont prevent people from getting their bot finished.

5. 9

6. n/a

7. 7

8. 7

9. 6

10. Yes

11. Nothing
dalleboy
dalleboy
1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready?
Sure it is, haven''t tried 0.035 fully yet though.

2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)?
Modify so that objects inside the visibility radius report the correct direction (instead of 180). No information at all is better than false information.
Add a function that you can query on how far you have moved since last frame.

3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)?
Nothing, it is fine as it is. A bit more gore would be nice though...

4. How long do you feel is sufficient time for developing a contest-worthy bot?
A couple of weeks, depending on how much experience with AI you got.

5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy)
7 - If the interface should have the functionality suggested above (see [2]) the rating would be a perfect 10.

6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy)
8 - Pretty good, some questions I''ve asked could have been rewritten by me for better understanding for you.

7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy)
6 - The lack of details in the text files on how movement (and other things) are done (and in which order). Add everything to the documentation: turn rate, movement speed, strafing, map size, number of static object on the map, number of frames per second, everything else. The documentation should be so good that noone should ever have to post a question to the messageboard asking about any of these questions.

8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy)
7 - If the above (see [2]) functionality is added the functionality will be perfect.

9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy)
7 - Not too hard, not too easy - once the mapping is done.

10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment.
Sure, one way or the other. (You''ll now what I mean in a couple of days.)

11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).
GDArena was a very good idea, I''ve always found these kind of bot wars fun.

[How To Ask Questions|C++ library of container classes, algorithms and iterators. It provides many of the basic algorithms and data structures of computer science." target="_blank">STL Programmer''s Guide|C++ Style and Technique FAQ - Designer and implementor the C++ programming language." target="_blank">Bjarne FAQ|C++ FAQ Lite - Frequently Asked Questions about the C++ language." target="_blank">C++ FAQ Lite|C++ Reference - The standard C++ library is a collection of functions, constants, classes and objects that extends the C++ language providing basic functionality to interact with the operating system and some standard classes, objects and algorithms that may be commonly needed." target="_blank">C++ Reference|MSDN]
T2k
T2k
Uhm "from everyone", ok here we go:

1: yep its ready...
2: nothing
3: hmm bigger mapsize?
4: a month would be enought time
5: 10
6: hmm lets say a 9
7: 8 it contains much, all about the interface, but misses some infos about callingroups and such stuff (or is it in the new docs? )
8: 8, still some minor bugs...
9: 4 for me (no ai exp)
10: Yes and i will camp in a corner when i dont get a running bot
11. need more weapons, report grenade height in 4th param of getobj...


T2k
flipper76108
flipper76108
1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready?
* if the problem with ReleaseBotInterface not being called is fixed, then yes.
* but, is the objDirection going to be fixed or do we use it as is?
2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)?
* can''t think of anything.
3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)?
* slightly bigger map with more obstacles.
* it''s still hard to consistently win a fight against a bot that does nothing but shoot constantly, so:
* less damage per bullet so fire-fighting type battles are not the norm, or
* less time for grenades to go off, maybe 1.75 seconds.
4. How long do you feel is sufficient time for developing a contest-worthy bot?
* for most people, probably 3 calendar weeks to create a decent bot, 4 to make a good one. for me, forever.
5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy)
* 10.
6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy)
* 9.5.
7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy)
* 8. could use some more info, or if you don''t want to provide it for contest reasons, then it should state as such and give the reasons why (e.g., to make the contest more challenging) so that there aren''t so many questions in upcoming contests about why no distance travelled info is given, why no map info is given, why minimal collision detection info is given, etc.
8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy)
* 9.
9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy)
* 3. (i''m just a bad coder.)
10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment.
* hope to, if i have the time to finish a decent bot.
11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).
* more info on grenade: height or elapsed time in air.
* -90, 90, and 180 angles returned for proximity objects instead of just 180,
* 180 returned for wall proximity object.
* even if i can''t come up with a decent bot for the actual contest, this has been a blast and i just want to say thank you for putting so much time into making this available for us.
* and thank you to all of the people who provided bots to test against and provided valuable info regarding how to make a good bot.
liquidAir
liquidAir
1. Yes, it definitely is
2. Nothing
3. Nothing
4. 2 weeks for me (I''m always impatient) but maybe 4 to 8
5. 8
6. 10
7. 7.5. Could have been better if there was a Sample bot implementation that could move around, but that really kills the idea of competition: Artificial Intelligence (AI)
8. 9, yes, it is sufficient
9. Hmmm... 8
10. Affirmative, sir!
11. None


"We know you''re in here, poppet!" - Pirates of the Carribean

"Yo George, your momma''s ass is so big, when she sits down, she''s three feet taller!" - Head of State

InitGames Software
HappyDude
HappyDude
1: Yes, I think it''s ready....
2/3: I''d like to be able to see enemy shots as objects, but I don''t know how difficult that would be to implement
4: A month - not because I think most people will truly need an entire month of work, but because if you give us an entire month, then there''s a good chance that sometime during that month everyone will be able to find some time to work on the bot
5: 10 - Easy to use, intuitive
6: 8 - Easy enough to ask a question in the forums and have it answered
7: 5 - The interface information is there, but most of it is quite self-explanatory anyway... what I felt was missing from it was values, which forced us to either figure them out ourselves or ask here... while there''s nothing wrong with having us figure out some things, most people would rather spend more time fine-tuning their search & destroy algorithm than trying to conduct tests to figure out how fast the bullets are moving across the arena
8: 7 - My only complaint about functionality is that there''s no way to have it auto-restart at the end of a match
9: 6 - Implementing a bot that randomly searches or move towards objects in sight, then starts tracking and killing the enemy whenever its in sight, is rather easy both in terms of time taken to write it and knowledge needed to write it. However, once you try to go beyond that, the difficulty curve gets really steep... although I like and can easily work with the current wall implementation, it''s difficult to understand and get used to... so what I''m saying is that hunter-killer bots are easy to make, and they can be fine-tuned to work rather effectively, but to go beyond that, you need to implement some form of mapping in your bot, and to implement that you need some kind of pathfinding because the interface doesn''t tell us how far we actually moved...
10: Yes
11: I love this contest...
And just to emphasize something someone else said, a decent samplebot that does things would make it a lot easier for new people to figure out how things work...
Programmer One
Programmer One
1. Yes
2. Uhh..
3. It is fine.
4. Month
5. 10
6. 5
7. 5
8. 10
9. 10
10. Yes, if I have enough time to finish the bot.
11. Map could have had more complexity.
Sailorstick
Sailorstick
1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready?
Yeah, I think it's ready for a Beta.

2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)?
Seems okay to me at the moment. I would like perhaps, a Dead()function that is called when your bot dies. This would be useful for debugging.

3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)?


4. How long do you feel is sufficient time for developing a contest-worthy bot?
4 weeks. Probably only really 4 or 5 days of actual coding but finding those days is the tricky part. I think 4 weeks should be enough.

5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy)
9

6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy)
9

7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy)
8

8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy)
7

9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy)
8

10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment.
Yes.

11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).
A bit more strategy would be nice. Some sort of trade-off when when running as opposed to walking and some new weapons with various pros/cons.

Edit: on the development time I think 4 weeks is enough but should probably be extended to 6 or even 8 as some people might not discover and/or start the contest for a few weeks.

Edit: formatting

[edited by - Sailorstick on August 20, 2003 9:57:12 PM]

[edited by - Sailorstick on August 20, 2003 9:58:18 PM]
slepyii
slepyii
quote:
Original post by Khawk
1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready?
2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)?
3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)?
4. How long do you feel is sufficient time for developing a contest-worthy bot?
5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy)
6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy)
7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy)
8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy)
9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy)
10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment.
11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).


1. Yes
2. Nothing
3. Nothing needs to be done
4. 4-6 weeks
5. 10
6. 10
7. 8
8. 9
9. 7
10. Yes
11. Only other thing I can think of is adding a command line switch --silent that will use the nShowCmd variable from WinMain to setup the display of the window (Hidden, minimized, maximized) and quitting after a match has completed returning the match results / time left. I will post more details when I get the Launch Pad application to a point where this would become useful.

- Timothy S.
drreagan
drreagan
(sailor, i stole your font/formatting...hope you don't mind! )


1. Do you feel that GameDev: Arena is ready for a beta contest? If no, what do you feel needs to be done to make it ready?
Yes, it seems to be ready.

2. If you could modify the GameDev: Arena interface, what would you change (without adding new or removing functionality)?
No changes needed for the *existing* interface

3. If you could modify the gameplay of GameDev: Arena, what would you change (without adding new or removing functionality)?
grendades don't seem to go as far as they did pre 0.035...i haven't experimented much with them since then, but i'd like them to go back to their previous range.


4. How long do you feel is sufficient time for developing a contest-worthy bot?
4-6 weeks.

5. Rate the GDArena interface ease of use. (1 = bad/difficult, 10 = good/easy)
9.345212345639 (heh)

6. Rate the GDArena "technical" support that you have received. (1 = bad/difficult, 10 = good/easy)
8

7. Rate the GDArena documentation. (1 = bad/difficult, 10 = good/easy)
3

8. Rate the current GDArena functionality (is it sufficient?). (1 = bad/difficult, 10 = good/easy)
6

9. Rate the difficulty of implementing a "good" bot. (1 = bad/difficult, 10 = good/easy)
happydude basically said it: reactive bots are fairly easy-- gonna go with an 8. taking it to the next level requires quite a bit more thinking/work. gonna go with 4.

10. Do you plan to enter the beta GDArena contest? Your answer is not a commitment.
Yes

11. If you have any other comments about GameDev: Arena, please put them as well (anything you want).
Previously, I said that i was fine with the proximity LOS not giving a definite direction, however, after playing with it a bit, I believe that it would be much better (both in terms of someone learning how to use the interface, and in terms of improving bot functionality) to stick with a perceptual scheme that is fully consistent (i.e. the proximity LOS and regular LOS should return the same types of information...should detect the same types of objects and give accurate direction/distance information). The key word here, i think, is consistancy. Either this, or if the LOS zones are going to be treated separately (in terms of the type of info returned) there should be two separate queries (GetObjectsInSight() and GetObjectsInProximity()). This would help alert people to the fact that these two queries do, in fact, return different types of info.

Although i think the current wall detection scheme is definitely "workable", i can see that it will probably be a major sticking point in the actual competition. The process of wall detection may be confusing to someone just trying to get into the competition. Plus, this might make people who are obsessed with "realism" in computer simulation/modeling (i confess, i get a little carried away sometimes...i can definitely understand the sentiment) a little bit ornery -- which would lead to whining -- which is unpleasant (especially, i'm sure, to khawk).

I think the ideal wall detection situation would be one in which visible wall segments are returned (i know, i know, the current query isn't set up to return this type of data...i'm just throwing out ideas). So, for example, if you were looking towards a corner and saw two walls, you would have returned to you two different wall segments. each segment would have the distance and angle to the first visible point of the wall to the last visible point. As i said, this is the ideal...i have no idea how practical it is. However, as far as implementation is concerned, this could be done with a simple frustum/segment intersection test between a trapezoidal approximation of the bot's FOV and the walls.

EDIT: Oh yeah, also, for everyone interested in machine learning techniques (neural nets, genetic algs, reinforcement learning, etc.) it is ESSENTIAL for there to be another mode for running the arena. Currently there is a release and debug mode. I'm gonna call this hypothetical mode learn mode. In learn mode, the arena could be run in a "fast forward" mode, and you would have access (only in learn mode!!) to information that you would not have otherwise, stuff such as (but not limited to): the enemy's health, your bot's accuracy, if your bot has collided with something, etc.

This depends on Khawks standpoint on the "fairness" of machine learning techniques in a competition like this. However, I'd like to point out that although many people tend to view these techniques as somehow magical, able to produce "ultimate" AI agents, machine learning techniques are simply that...alternate techniques. It can be just as difficult to create and tune a machine learning structure that successfully performs a task as it might be to "hard-code" a successful agent. I believe it takes just as much hard work and creativity as traditional AI techniques, so it shouldn't be disqualified on the basis that it is somehow taking the easy way out.

-------------------------------------------------------
A headache, ancillary; an hourglass auxiliary.

"something witty, blah, blah, blah"
--That One Witty Guy (remember? that one dude?)

(author of DustBot)



[edited by - drreagan on August 21, 2003 11:56:41 AM]

[edited by - drreagan on August 21, 2003 12:51:25 PM]
------------------------------------------------------- A headache, ancillary; an hourglass auxiliary."something witty, blah, blah, blah" --That One Witty Guy (remember? that one dude?)(author of DustBot)
Martel
Martel
First off I''ll say that you''ve done a great thing - thank you

1. I don''t think it strictly needs anything before going beta, but it would be nice to tell if movement failed on the last frame. Not necessarily in what way... just an indication that something went wrong and "you probably aren''t where you think you are."

2. Nothing serious.

3. Not sure.

4. 4-6 weeks sounds good.

5. 8 (could be better type-wise and there are some very minor inconsistencies)

6. 9 (questions are answered, concerns are addressed)

7. 7 (spotty, incomplete, but all the essentials are presented clearly enough)

8. 7 (see comments for #11)

9. 3 (non-trivial; depends on your definition of ''good'' though HOWEVER, Bad != Difficult. If it were too easy I doubt anyone would be interested.

10. Yes.

11. Another nice feature would be a pure simulation mode for batch testing. Where the app does no graphics work and runs as fast as possible, printing match results and statistics to the console. This would help with real testing instead of having to babysit it for hours on end just to get a handful of results.

Epidemi
Epidemi
Hey,

my answers to the questions:

1. Yes, I think so

2. I would have all command functions be declared the same (ie. all would return a value of the same type and all would expect arguments of the same type).

3. Fun would be to be able to hold on to a grenate for a bit before throwing it (so it explodes "sooner"), but that's just some silly extra, not needed

4. Maybe a month, maybe a bit more. I won't have lots of spare time to work on the bot.

5. 8

6.

7. 7

8. 8

9. 3

10. Yes

11. It would come in handy to be able to set up "test environments" (in debug mode, of course) that can be played back over and over to reproduce bugs found in the bot. Right now the system just makes up a random map each time the game begins.


[edited by - Epidemi on August 25, 2003 6:44:09 PM]
--------------------Life after death? Is it like terminate and stay resident?
Suupa
Suupa
I think the ability to create a map and set that for the match would be great. First, it would make it easier to have a consistant environment for any competitions. Also, it would make it possible to have themes (lots of rocks = mountains, lots of trees = forests).

For the other questions I like the interface very much and plan to write a bot despite no knowlege of AI in any form .

Poop
Poop

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.