🎉 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
granted, for the best bot an internal map would probably be required. but under no circumstances does this information need to be provided by the arena. it is all easily enough calculated. and that is part of AI.

but i disagree with your point [1] above. the lack of any visual information is information in and of itself. it''s what my bot''s use to avoid getting trapped in corners and against the walls.
Advertisement
The point isn''t that the mapping is really hard to write, I''ve already written it, but I think it is an unnecessary extra layer that really doesn''t add much to the problem. That extra layer could prevent some people from getting started on GDArena because they could think the API is hard to get started with.

[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]
The whole point of this contest is that new techniques are brought into use, than the ones used in conventional AI. If you''re having problems overcoming the problem of hitting into things, then it''s your problem, not the lack of information.

I think that a nicer way to give input to the bot wouldn''t be as a series of coordinates, but as what the bot actually sees, so a line of colour. Obviously it''s a 2D ''game'', so a 2D view is not required. Then only estimations on the distance to an object could be calculated.

The whole AI would have to take into account the fact that the map isn''t exact. The skill in the contest would be to make a good map, rather than experience in coding AI. In my opinion that would be far more fun. But I''m sure most others would disagree.
I like the system the way it is. I''ve only spent a few hours coming up with a mapping system, and it''s nearly complete. Different people will do it different ways and be more clever or less. I like that.

The FPS analogy doesn''t work for one reason: a player can easily follow objects as they move relative to you. The appropriate analogy to GDArena would be to assign object IDs that could be tracked. But I don''t think I''d want that. Clever engineering is as much a part of AI as pure AI theory.

I like pie.
[sub]My spoon is too big.[/sub]
quote: Original post by RenderTarget
The FPS analogy doesn''t work for one reason: a player can easily follow objects as they move relative to you. The appropriate analogy to GDArena would be to assign object IDs that could be tracked. But I don''t think I''d want that. Clever engineering is as much a part of AI as pure AI theory.

I think the FPS analogy does work. Certainly a player can follow objects as they move through the world, but they do it frame by frame, just as a GDArena bot can do it frame by frame. Object IDs can be used to track object movement, but that doesn''t mean the object IDs have to be given to the bot by the arena. Given that the maximum distance you can move in a single update isn''t very far (it''s less than the minimum distance between two objects afaik), it''s perfectly possible for the bot to recognise and track objects based on position and type, just as an FPS player recognises and tracks objects based on their position, shape and texture.

John B
The best thing about the internet is the way people with no experience or qualifications can pretend to be completely superior to other people who have no experience or qualifications.
quote: Original post by Anonymous Poster
granted, for the best bot an internal map would probably be required. but under no circumstances does this information need to be provided by the arena. it is all easily enough calculated. and that is part of AI.

but i disagree with your point [1] above. the lack of any visual information is information in and of itself. it''s what my bot''s use to avoid getting trapped in corners and against the walls.


I had a map calculating thing, but the screwy wall collision (and wall in view) routines screw the map up completely, so I dropped it. I had it building a map based on the objects I saw oriented to the original start position, and it worked great until I either hit something not in view, or slid along a wall. I don''t think it should all be given to you, but there should be some way of figuring out how far you moved, in real life (paintball example), you KNOW when you stopped, or walked into a tree, etc, so you know you stopped moving. In a FPS, you know when you are sliding because you can see it and react to it, but the bot has no such indications, so you can''t react to it.
quote: Original post by JohnBSmall
quote: Original post by RenderTarget
The FPS analogy doesn''t work for one reason: a player can easily follow objects as they move relative to you. The appropriate analogy to GDArena would be to assign object IDs that could be tracked. But I don''t think I''d want that. Clever engineering is as much a part of AI as pure AI theory.

I think the FPS analogy does work. Certainly a player can follow objects as they move through the world, but they do it frame by frame, just as a GDArena bot can do it frame by frame. Object IDs can be used to track object movement, but that doesn''t mean the object IDs have to be given to the bot by the arena. Given that the maximum distance you can move in a single update isn''t very far (it''s less than the minimum distance between two objects afaik), it''s perfectly possible for the bot to recognise and track objects based on position and type, just as an FPS player recognises and tracks objects based on their position, shape and texture.

John B



Yes, but the player builds a visual map of the arena in his mind after seeing it, therefore building a map. It''s almost impossible to build a useable map in GD Arena due to the way wall viewing and collisions happen, and not knowing when you''re strafing into something, etc. In a FPS, you know when you''re sliding along a wall, or stop because you hit something.. the bot gets no indication that he stopped, or is sliding along something, so if these problems where fixed (give us a movement delta between frames or something!), we could build a map and avoid collisions (and tell when we''re stuck) much more easily.
quote:

Yes, but the player builds a visual map of the arena in his mind after seeing it, therefore building a map. It''s almost impossible to build a useable map in GD Arena due to the way wall viewing and collisions happen, and not knowing when you''re strafing into something, etc. In a FPS, you know when you''re sliding along a wall, or stop because you hit something.. the bot gets no indication that he stopped, or is sliding along something, so if these problems where fixed (give us a movement delta between frames or something!), we could build a map and avoid collisions (and tell when we''re stuck) much more easily.


yes, for the most part i agree.
another example: say you are playing an fps.
even if you cannot see *any* distinct game object to track your movement by(for example you are standing on a perfectly flat plane which extends as far as you can see in all directions) , you can still tell that you are moving, and the direction you are moving, as long as the plane is TEXTURED. by watching the "movement" of the pattern of the texture, you can deduce which way you are moving. therefore, i agree that it would be useful to have either the bot''s movement delta (not even the direction of movement, just a float representing the distance of travel!) or whether it has collided with something.
i don''t think this will really be much of an issue, however, because kevin has said that he wants to add a small circle around the bot to the bot''s FOV (so the FOV would be a little circle, with a cone radiating out from it). this would make things MUCH more workable, as you would always see if you were about to collide with an object (including WALLS!).

A headache, ancillary; an hourglass auxiliary.

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


------------------------------------------------------- A headache, ancillary; an hourglass auxiliary."something witty, blah, blah, blah" --That One Witty Guy (remember? that one dude?)(author of DustBot)
quote: Original post by Ready4Dis
Yes, but the player builds a visual map of the arena in his mind after seeing it, therefore building a map. It''s almost impossible to build a useable map in GD Arena due to the way wall viewing and collisions happen, and not knowing when you''re strafing into something, etc. In a FPS, you know when you''re sliding along a wall, or stop because you hit something.. the bot gets no indication that he stopped, or is sliding along something, so if these problems where fixed (give us a movement delta between frames or something!), we could build a map and avoid collisions (and tell when we''re stuck) much more easily.

In an FPS, you only know you''ve stopped, because the objects you see on screen aren''t moving any more, even though you''re pressing the button. It''s the same in GDArena. As I''ve said before, it''s perfectly possible to tell when you''re not moving based on objects that you can see. Partial movement (sliding along a wall) is harder, but not impossible to deal with. And although there are positions where there is absolutely nothing the bot can ''see'', they happen in and around the corners of the map, and can simply be used as an indication that you''re facing away from the bulk of the map, and should therefore turn round.

John B
The best thing about the internet is the way people with no experience or qualifications can pretend to be completely superior to other people who have no experience or qualifications.
quote: another example: say you are playing an fps.
even if you cannot see *any* distinct game object to track your movement by(for example you are standing on a perfectly flat plane which extends as far as you can see in all directions) , you can still tell that you are moving, and the direction you are moving, as long as the plane is TEXTURED.

In this example, the object you can see is the floor. The analogy in GDArena would be if the only object the bot can see is a wall, but even this small bit of information (just a direction to the wall, and a distance) is enough to track movement.

Edit:
quote: i don't think this will really be much of an issue, however, because kevin has said that he wants to add a small circle around the bot to the bot's FOV (so the FOV would be a little circle, with a cone radiating out from it). this would make things MUCH more workable, as you would always see if you were about to collide with an object (including WALLS!).

I'd agree with this, although actually I think the change should simply be that you can always see any walls in your FOV, instead of only when a perpendicular line to the wall is in your FOV.

John B

[edited by - JohnBSmall on August 13, 2003 7:38:50 PM]
The best thing about the internet is the way people with no experience or qualifications can pretend to be completely superior to other people who have no experience or qualifications.

This topic is closed to new replies.

Advertisement