🎉 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!

Requests for GDArena

Started by
66 comments, last by khawk 20 years, 10 months ago
quote: Original post by Xgkkp
Could the Maximum length of the taunt be extended?


I may make this part of the debug flag as well. That''s the only reason I can see it useful.

Admin for GameDev.net.

Advertisement
1.Could you add a function to the interface to return the time left in the match?

2.Could you add a function to see if your fire hit the enemy or make the fire function return it? The gun is already line of sight, and it would be nice to estimate your opponents health. (To much to ask the same for gernades too?)

3.Trees don''t really provide cover from bullets, are you going to/could you add pillars or anything that stops bullets? Using T2k''s generous keyboard routine it seemed that the bullets went around and through the tree and hit my opponent unless i was against the tree.

4.What is the time limit for the update function? If it is in seconds, how fast a machine will the contest be run on?

5.In the icore.h file I see this notice five parameters

virtual bool GetObjectsInSight(int objIdx, int &objectType, float &direction, float &distance, float &objDirection) = 0;

In the readme you get
Method: bool GetObjectsInSight(int objIdx, int &objectType, float &direction, float &distance);

only 4 parameters. There are two direction variables, am i missing something or is that a typo or from a correction you made to the interface? I haven''t used this function yet, so is it the first or second direction?

-potential energy is easily made kinetic-

I think we could use a function that returns which slot the bot is in, either one or two.

This would be VERY helpful when creating log files. Instead of both bots fighting for the same log, you could open one for each.

The only solution I can see for two log files is to randomly pick a number between 0 and 1000 to use as the filename, but then you don''t know who owns what log.

£§
£§
quote: Original post by LoneStranger
The only solution I can see for two log files is to randomly pick a number between 0 and 1000 to use as the filename, but then you don''t know who owns what log.

here''s what i''m doing for now. seems to work. don''t know if Kevin will allow it though.
static HMODULE g_hModule;BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ){    g_hModule = hinstDLL;    return TRUE;}bool botClass::AttachToGame( ICore *core ){    char fileName[MAX_PATH];    char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT];    GetModuleFileName(g_hModule, fileName, sizeof(fileName));    _splitpath(fileName, drive, dir, fname, ext);    strcpy(fileName, fname);    strcat(fileName, ".log");    m_logFile = fopen(fileName, "w+");}void botClass::ReleaseInterface(){    if( m_logFile )        fclose(m_logFile);    delete this;} 

(sorry about the C runtime stuff, i don''t know C++ that well yet)
not so much a request, more a suggestion: Why not let the bots see corners as objects? that way with a bit of work the bot could find an alignment for the arena.
quote: Original post by Infinisearch
1.Could you add a function to the interface to return the time left in the match?


I can consider that one, although each bot can do that internally. What is the reason?

quote:
2.Could you add a function to see if your fire hit the enemy or make the fire function return it? The gun is already line of sight, and it would be nice to estimate your opponents health. (To much to ask the same for gernades too?)


I had that implemented, but I took it out. I don''t know if I''ll put it back in.. I need a good enough reason.

quote:
3.Trees don''t really provide cover from bullets, are you going to/could you add pillars or anything that stops bullets? Using T2k''s generous keyboard routine it seemed that the bullets went around and through the tree and hit my opponent unless i was against the tree.


They do get blocked by the tree, but the tree radius is small.. about the size of the tree trunk (I figure bullets can go through the branches/leaves. I''ll check more into this one though to make sure it''s working properly.

quote:
4.What is the time limit for the update function? If it is in seconds, how fast a machine will the contest be run on?


Each bot gets 0.01 seconds. The official contest is run on a 1.7 ghz processor.

quote:
5.In the icore.h file I see this notice five parameters

virtual bool GetObjectsInSight(int objIdx, int &objectType, float &direction, float &distance, float &objDirection) = 0;

In the readme you get
Method: bool GetObjectsInSight(int objIdx, int &objectType, float &direction, float &distance);

only 4 parameters. There are two direction variables, am i missing something or is that a typo or from a correction you made to the interface? I haven''t used this function yet, so is it the first or second direction?


The readme is missing the last parameter, objDirection, which stands for the direction, relative to your bot''s direction, that the object is facing. It returns 0 for everything but the enemy, since that is really the only useful value you can get.

Admin for GameDev.net.

quote: Original post by LoneStranger
I think we could use a function that returns which slot the bot is in, either one or two.

This would be VERY helpful when creating log files. Instead of both bots fighting for the same log, you could open one for each.

The only solution I can see for two log files is to randomly pick a number between 0 and 1000 to use as the filename, but then you don''t know who owns what log.

£§



I''m not sure what you mean by slot.. if you mean player number, then it is exactly as defined in the gdarena.ini configuration file. The first bot defined there is player 1 (red), the second bot is player 2 (blue).

Admin for GameDev.net.

quote: Original post by Xgkkp
not so much a request, more a suggestion: Why not let the bots see corners as objects? that way with a bit of work the bot could find an alignment for the arena.


Maybe.. I think it would be more useful if the bot knew where the walls were.

Admin for GameDev.net.

quote: Original post by Khawk
I'm not sure what you mean by slot.. if you mean player number, then it is exactly as defined in the gdarena.ini configuration file. The first bot defined there is player 1 (red), the second bot is player 2 (blue).


I should have been more clear. It would be nice to call a function and have it return whether the bot was player 1 or player 2, for use in creating log files or reading in data from two distinct files.

For example, if I have my bot in use as both players, then both of them open up the same exact log file for output. That can get very confusing. If there was a function to return the player number, then I could have it open up the log file with a filename that reflects which player it was. Bam, two separate log files.

£§

[edited by - LoneStranger on August 3, 2003 11:25:00 PM]
£§
quote: Original post by flipper76108
quote: Original post by LoneStranger
The only solution I can see for two log files is to randomly pick a number between 0 and 1000 to use as the filename, but then you don''t know who owns what log.

here''s what i''m doing for now. seems to work. don''t know if Kevin will allow it though.
static HMODULE g_hModule;BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved ){    g_hModule = hinstDLL;    return TRUE;}bool botClass::AttachToGame( ICore *core ){    char fileName[MAX_PATH];    char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT];    GetModuleFileName(g_hModule, fileName, sizeof(fileName));    _splitpath(fileName, drive, dir, fname, ext);    strcpy(fileName, fname);    strcat(fileName, ".log");    m_logFile = fopen(fileName, "w+");}void botClass::ReleaseInterface(){    if( m_logFile )        fclose(m_logFile);    delete this;}  

(sorry about the C runtime stuff, i don''t know C++ that well yet)


I''m fine with this.

Admin for GameDev.net.

This topic is closed to new replies.

Advertisement