Archived

This topic is now archived and is closed to further replies.

khawk

Defect Reports v0.2

Recommended Posts

I think everyone can correct this on their own, but it should be const double CORE_VERSION instead of const int, in iCore.h

EDIT : I just can't spell right in the morning...

[edited by - ToohrVyk on August 8, 2003 3:12:33 AM]

Share this post


Link to post
Share on other sites
I propose CORE_VERSION be changed from 0.2 to just 2, and BOT_VERSION from 0.01 to just 1. They''re being assigned to integers, and QueryBotVersion/QueryCoreVersion return integers.

And it still doesn''t work with MinGW.

Share this post


Link to post
Share on other sites
quote:
Original post by smart_idiot
I propose CORE_VERSION be changed from 0.2 to just 2, and BOT_VERSION from 0.01 to just 1. They''re being assigned to integers, and QueryBotVersion/QueryCoreVersion return integers.

And it still doesn''t work with MinGW.


Too late. It''s already been updated.

Share this post


Link to post
Share on other sites
quote:
Original post by ToohrVyk
I still don''t understand how objDirection works... Where is 0? Where are positive values? etc...

ToohrVyk




objDirection is still quirky (has defects). It''s also only used for enemy objects, since all other objects return 0.0.

Share this post


Link to post
Share on other sites
So I just pulled down the new GDArena. This is the first I've looked at it. The GDArena window comes up white, and does nothing. It makes me sad. What should I be seeing, and is there any special setup that wsan't mentioned?

p3 733MHz
WinXP SP1
DirectX 9b
256 MB RAM

I like pie.

[edited by - RenderTarget on August 8, 2003 3:47:42 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by RenderTarget
So I just pulled down the new GDArena. This is the first I''ve looked at it. The GDArena window comes up white, and does nothing. It makes me sad. What should I be seeing, and is there any special setup that wsan''t mentioned?

p3 733MHz
WinXP SP1
DirectX 9b
256 MB RAM

I like pie.

[edited by - RenderTarget on August 8, 2003 3:47:42 AM]


Make sure you have the latest drivers for your video card.

Share this post


Link to post
Share on other sites
I ran a test with MinGW. It called MyBot::Init, and subsequently crashed. The log seems to indicate a problem:

QueryBotInterface called. new MyBot == B2D020
QueryBotVersion called.
QueryCoreVersion called.
MyBot::AttachToGame called. this == AA0010 // !
MyBot::Init called. this == AA0010

Maybe change the calling convention for QueryBotInterface, etc. to __stdcall?
smart_idiot has indicated that the problem is in how this is passed. In that case, how about changing the calling convention of the member functions of ICore and IPlayer to __stdcall?

[edited by - Beer Hunter on August 8, 2003 4:11:55 AM]

Share this post


Link to post
Share on other sites
BeerHunter: Yeah, I figured that out in my ''Hacking'' thread.

Since I strongly belive the problem is in how the two compilers handle class member functions, (MSVC using registers for the this pointer, MinGW using the stack) I propose they therefore be eliminated.

A DLL won''t contain more than one bot, so allowing for polymorphism is pointless. Make AttachToGame, Init, and Update regular functions. I''m not sure if that would create an issue attempting to pit the same bot AI against its self, though.

ICore could be changed to contain function pointers. Presumably GDArena could remember which bot it has called the Init function for, so it knows which variables to pass back. If that created issues (multi threaded bots?) AttachToGame could also give the bot an ID, which it could use with those functions to identify its self.

I''m kind of sorry for asking for that, since I know it would be a lot of changes and introduced bugs, without even a guarentee that it would help the compatibility issue.

Share this post


Link to post
Share on other sites
quote:
Original post by Khawk
quote:
Original post by RenderTarget
So I just pulled down the new GDArena. This is the first I''ve looked at it. The GDArena window comes up white, and does nothing. It makes me sad. What should I be seeing, and is there any special setup that wsan''t mentioned?

p3 733MHz
WinXP SP1
DirectX 9b
256 MB RAM

I like pie.

[edited by - RenderTarget on August 8, 2003 3:47:42 AM]


Make sure you have the latest drivers for your video card.



That did it, thanks. I rolled back my video card on this box and forgot to update the driver.

I like pie.

Share this post


Link to post
Share on other sites
Well, first of all, I would like to say it now works on my system...
a PIII 500MHz with 256MB SDRAM and 64MB GeForce MX 400 running Win98 SE (though I had to remove the video card cos it was affecting the card for the satellite internet ) so I have to get a new system ASAP!!!

Anyway, when I tested my code (which is just sloppy, very bad path-finding algorithm), I used the taunt function to display the angle of the objects in the fov, and the distance of the object. There are times when my bot gets to the extreme end of the arena and doesn't see anything again, not even the walls, because the fov has gone past the wall

I'll upload my .DLL if you want to test it, please do (though, i'm not s'posed to be distributing executables... Visual C++ 6.0 Introductory Edition )

Anyway, I put it up against SampleBot, but I had to run it like 20 times, before it finally found (thanks to my path-finding algorithm, heh) and killed SampleBot YAY for me! My first AI program

Oh, and there was a time when the ammo box appeared *outside* the arena.

InitGames Software
http://initgames.t35.com/

EDIT: Oh no! Late post in wrong thread, should be moved to the former thread, sorry.

[edited by - liquidAir on August 8, 2003 5:59:21 AM]

Share this post


Link to post
Share on other sites
"..\bin" -> "..\..\bin\bots"
thx, u know this will ease my compile and run sessions... ehm no not really ive already changed it by hand, ohh and 4 you zippy freaks eMan Compatible and still stupid (avatar allowed? see clicky)

can you remove the obstacle radius from release mode? i would like to see a final-match without them


edit: walls are messed or do they work different??? and where is the timeout?

T2k


[edited by - T2k on August 8, 2003 6:44:08 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by smart_idiot
BeerHunter: Yeah, I figured that out in my ''Hacking'' thread.

Since I strongly belive the problem is in how the two compilers handle class member functions, (MSVC using registers for the this pointer, MinGW using the stack) I propose they therefore be eliminated.



Sorry to be blunt, but it is not changing.

quote:

A DLL won''t contain more than one bot, so allowing for polymorphism is pointless. Make AttachToGame , Init , and Update regular functions. I''m not sure if that would create an issue attempting to pit the same bot AI against its self, though.



Who''s to say that a DLL won''t contain more than one bot? Right now, no, but in the future?

quote:

ICore could be changed to contain function pointers. Presumably GDArena could remember which bot it has called the Init function for, so it knows which variables to pass back. If that created issues (multi threaded bots?) AttachToGame could also give the bot an ID, which it could use with those functions to identify its self.



Those are major security issues that can''t be enforced. Everything would be encapsulated in the arena code if it was changed to your proposed method, but because it would require a fairly large rewrite, the costs outweigh the benefits.

quote:

I''m kind of sorry for asking for that, since I know it would be a lot of changes and introduced bugs, without even a guarentee that it would help the compatibility issue.


If you really want to figure it out, then try building an app in VC++ that loads a DLL built with mingw in a manner similar to GDArena.

Share this post


Link to post
Share on other sites
quote:
Original post by dot
Kevin, more minor issues discovered,
1) Taunt crashes my arena application(washu/mistao''s as well).



I know what it is.. just a result of kiwi''s request for 80 character taunts at 3:30am.

quote:

2) You replaced WEAPON_COCKTAIL with WEAPON_GRENADE but left GetCockTailCount. Wonder if that''s an oversight.



It is.


Share this post


Link to post
Share on other sites
quote:
Original post by T2k
can you remove the obstacle radius from release mode? i would like to see a final-match without them



I''m just going to remove them period. I put the radius values in the readme, so for now people can reference that. I''ll make another key to view the radius when I make another one for LOS functions.

quote:

edit: walls are messed or do they work different???



They work. That''s all there is to it. A perpendicular line is drawn to the wall and the angle to the wall is based on that line. The line has to be in the bot''s FOV in order for the wall to be visible.

quote:

and where is the timeout?



It''s there.. it just lets bots go overtime.

Share this post


Link to post
Share on other sites
quote:
Original post by liquidAir
Well, first of all, I would like to say it now works on my system...
a PIII 500MHz with 256MB SDRAM and 64MB GeForce MX 400 running Win98 SE (though I had to remove the video card cos it was affecting the card for the satellite internet ) so I have to get a new system ASAP!!!

Anyway, when I tested my code (which is just sloppy, very bad path-finding algorithm), I used the taunt function to display the angle of the objects in the fov, and the distance of the object. There are times when my bot gets to the extreme end of the arena and doesn''t see anything again, not even the walls, because the fov has gone past the wall

I''ll upload my .DLL if you want to test it, please do (though, i''m not s''posed to be distributing executables... Visual C++ 6.0 Introductory Edition )

Anyway, I put it up against SampleBot, but I had to run it like 20 times, before it finally found (thanks to my path-finding algorithm, heh) and killed SampleBot YAY for me! My first AI program

Oh, and there was a time when the ammo box appeared *outside* the arena.

InitGames Software
http://initgames.t35.com/

EDIT: Oh no! Late post in wrong thread, should be moved to the former thread, sorry.

[edited by - liquidAir on August 8, 2003 5:59:21 AM]



I thought about fixing this one, but then I figured that if you are not getting any returns from GetNumObjectsInSight(), then you _have_ to be in a corner. The map has too many objects (10 rocks + 16 trees + 4 walls = 30 objects) for a winning bot to get stuck in a corner because the FOV isn''t picking up any objects.

Share this post


Link to post
Share on other sites
Well then, I''ll have to find a better way to implement movement in my code, cos for most of my tries, my bot got stuck in a corner...

Share this post


Link to post
Share on other sites
Is it just me or do taunts cause a "Application error" when run gdarena in debug mode... in release mode it works fine....

Share this post


Link to post
Share on other sites
quote:
Original post by Woodoo
Is it just me or do taunts cause a "Application error" when run gdarena in debug mode... in release mode it works fine....


Not just you.. I extended the length of taunts in debug mode, but I forgot to change one of the lines of code that needed to change. I should have an update once I get some FTP access (can''t FTP from work).

Share this post


Link to post
Share on other sites