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

Why mapping?

Started by
41 comments, last by dalleboy 20 years, 10 months ago
quote: Original post by JohnBSmall
quote: Original post by Ready4Dis
Yes, but the problem is, you can walk into a wall without seeing it. This isn''t a problem with an object, because you stop completely, but with a wall it can become a problem because it may return that you see nothing, yet your sliding, so no objects to judge by, which throws the map off. Of course, I think I figured out a GREAT way to figure out where all the walls are, which would simplify a lot .

If you back into a wall, then there are almost invariably other objects (trees and rocks) in your FOV that you can use to track your movement, so it''s just not a problem.

John B


Yes, that''s not the case I''m talking about. The case I''m talking about is when you are walking on an angle towards a walls, yet don''t see it... you then slide along the wall, normally only 1 or 2 objects in view. The problem is, even though you can figure out that you''re sliding, you don''t necessarily know which direction you slid (I guess you could use the calculated location of the object in view and based on how far it''s value is off, correct the players value).
Advertisement
Even blindfolded (not calling GetObjectsInSight) I would be able to detect when I walk (SetSpeed) into a tree, would I not? But using the GDArena API, I cannot.

[How To Ask Questions|STL Programmer''s Guide|Bjarne FAQ|C++ FAQ Lite|C++ Reference|MSDN]
Arguing on the internet is like running in the Special Olympics: Even if you win, you're still retarded.[How To Ask Questions|STL Programmer's Guide|Bjarne FAQ|C++ FAQ Lite|C++ Reference|MSDN]
quote: Original post by Ready4Dis
Yes, that''s not the case I''m talking about. The case I''m talking about is when you are walking on an angle towards a walls, yet don''t see it... you then slide along the wall, normally only 1 or 2 objects in view. The problem is, even though you can figure out that you''re sliding, you don''t necessarily know which direction you slid (I guess you could use the calculated location of the object in view and based on how far it''s value is off, correct the players value).


I guess you could use the calculated location of the object in view and based on how far it''s value is off, correct the players value

That''s what mine does, and it works fine.
It also has a memory that will allow it to reorintate itself incase it can''t see anything at all and is moving, but can later see the objects again. Takes up a fair bit of memory at the moment though.
Beer - the love catalystgood ol' homepage
quote: Original post by Dredge-Master
quote: Original post by Ready4Dis
Yes, that''s not the case I''m talking about. The case I''m talking about is when you are walking on an angle towards a walls, yet don''t see it... you then slide along the wall, normally only 1 or 2 objects in view. The problem is, even though you can figure out that you''re sliding, you don''t necessarily know which direction you slid (I guess you could use the calculated location of the object in view and based on how far it''s value is off, correct the players value).


I guess you could use the calculated location of the object in view and based on how far it''s value is off, correct the players value

That''s what mine does, and it works fine.
It also has a memory that will allow it to reorintate itself incase it can''t see anything at all and is moving, but can later see the objects again. Takes up a fair bit of memory at the moment though.



Yes, i''m worried about not being able to make the time frame cutoff if I start adding to much stuff like that with to much memory access and stuff. I''m also worried about going through hoops trying to get something to work with a bad system, if he''s going to be changing stuff still... might have to change to much crap, or maybe it will become easier, etc.
quote:
Yes, i'm worried about not being able to make the time frame cutoff if I start adding to much stuff like that with to much memory access and stuff.


i wouldn't be *too* worried about not making the time limit. currently, when i run my bot (in debug or release mode) i have several layers of complexity (perceptual system, reactive system, internal map, decision making system), some of which are currently implemented *very* poorly with regards to speed/memory access (in my perceptual system, for instance, each time a query is made to GetObjectsInSight() i new up a bunch of percept objects, then at the end of the update i delete them all (i know it's bad...i will fix it)! plus, i run a debugging window which displays the bot's internal map, his planned navpoints, his goal point, and prints out any debug info all using the windows GDI (which as we all know is slow as hell). on top of this i write info to a log file. the kicker is, i don't even wait till shutdown to write the log...i just write it every update!! this is a relatively slow operation...opening a file, appending stuff to it and closing it. with all of this slow, crappily implemented stuff my bot almost never goes over the time limit. usually if it does, it's cause of a disk seek (i'm guessing that it is at least, cause usually i'll hear the drive do something, then i'll get the time limit message).

quote:
I'm also worried about going through hoops trying to get something to work with a bad system, if he's going to be changing stuff still... might have to change to much crap, or maybe it will become easier, etc.


yeah, this is currently holding my bot back too...to move on and implement more functionality, my bot needs to handle wall detection and a few other things. while i know i could spend a night or two working to implement a system that detects walls and keeps my bot informed of errors in it's internal map using the current interface, i know it will be *much* simpler to do this once we have a better method of sensing walls. another thing that i'm waiting on is the fact that even if a tad less than half of an object is in your FOV, if the center isn't in the FOV, you can't see it. kevin has said that he intends to fix this. once i have these changes, i will get cracking on my bot again. so i understand your feelings of frustration.

-------------------------------------------------------
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 15, 2003 9:22:23 PM]
------------------------------------------------------- A headache, ancillary; an hourglass auxiliary."something witty, blah, blah, blah" --That One Witty Guy (remember? that one dude?)(author of DustBot)
I wouldn''t count too much on the latest arena version''s time test. It doesn''t appear to be working. I can run a bot that has a Sleep(250) call in its Update method without receiving the timeout messaage. Whether the arena''s in debug or release "mode".
drreagan and anonymous poster (ps - I hate ap''s so if I sound a bit rude, don''t feel to offended)
but in regards to:

quote: Original post by Ready4Dis
Yes, i''m worried about not being able to make the time frame cutoff if I start adding to much stuff like that with to much memory access and stuff. I''m also worried about going through hoops trying to get something to work with a bad system, if he''s going to be changing stuff still... might have to change to much crap, or maybe it will become easier, etc.


I think he is refering to the time frame being the amount of time we have before the contest ends

Ready4Dis - you should have ages the official comp hasn''t officially started yet.

As a hint though, back up your project first that way if you screw up you can go back to the good one.
Also, make a good data format, and don''t forget that using floating point can mean that a direct comparison may fail if you are unfortunate. well not really depending on luck but precision.


eg 12.33333 may be compared to 12.33334 and fail, so you MAY want to try and use ranges.
Beer - the love catalystgood ol' homepage
quote: Original post by Dredge-Master
drreagan and anonymous poster (ps - I hate ap''s so if I sound a bit rude, don''t feel to offended)
but in regards to:

quote: Original post by Ready4Dis
Yes, i''m worried about not being able to make the time frame cutoff if I start adding to much stuff like that with to much memory access and stuff. I''m also worried about going through hoops trying to get something to work with a bad system, if he''s going to be changing stuff still... might have to change to much crap, or maybe it will become easier, etc.


I think he is refering to the time frame being the amount of time we have before the contest ends

Ready4Dis - you should have ages the official comp hasn''t officially started yet.

As a hint though, back up your project first that way if you screw up you can go back to the good one.
Also, make a good data format, and don''t forget that using floating point can mean that a direct comparison may fail if you are unfortunate. well not really depending on luck but precision.


eg 12.33333 may be compared to 12.33334 and fail, so you MAY want to try and use ranges.



"...hate ap''s.." huh? what do you mean?

my vector class has a "FUZZY" flag that, when set, makes the comparison operator work within a given tolerance. (basically the same thing as setting a range).
quote:
I think he is refering to the time frame being the amount of time we have before the contest ends



i think he was referring to the amount of time at each update. otherwise why would he refer to worrying about making too many memory accesses? i supose he can tell us himself what he meant...

-------------------------------------------------------
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 16, 2003 1:32:53 AM]
------------------------------------------------------- A headache, ancillary; an hourglass auxiliary."something witty, blah, blah, blah" --That One Witty Guy (remember? that one dude?)(author of DustBot)
ie; the amount to time he has to program the thing.

the reason why I assume he is talking about the contest end is because
"Yes, i''m worried about not being able to make the time frame cutoff if I start adding to much stuff like that with to much memory access and stuff. I''m also worried about going through hoops trying to get something to work with a bad system" if he is using correct grammer refers to his programming ability, not how his bot runs or jumps through hoops and other acrobatics.

Ready4Dis, settle this




regarding:

"...hate ap''s.." huh? what do you mean?

my vector class has a "FUZZY" flag that, when set, makes the comparison operator work within a given tolerance. (basically the same thing as setting a range).


anonymous posting gives me the shits. its what alot of people do when they are trying to flame others but don''t have the balls do it in person (or over the net). Some people just forget their passwords though, but alot of flames are from APs.

Regarding the fuzzy thing - I just changed the floating point for my maths unit to handle a tollerance of 0.01f from the base value. more setting up, but it saves two additions per comparison. with my bots depth at a worse case scenario (26 static objects) it works out at 54450 additions per frame for the bots "memory" data for orientation. not alot, but it helps (ps on a good run its only 4 to 8 additions per frame - but with my code things have a tendancy to go messy)
Beer - the love catalystgood ol' homepage

This topic is closed to new replies.

Advertisement