Version 1 (modified by xwang, 13 years ago) (diff) |
---|
Wumpus World
Making the Wumpus World
- Items: In the Wumpus World, the quagent must be able to perceive senses in each room to update it's knowledge of the world. Items are used to represent the different senses. The classnames of the items are "quagent_sense_breeze", "quagent_sense_stench" and "quagent_sense_glitter". There items are defined in bg_misc.c and are of type IT_QUAGENTSENSE. Some code was then added to the server so that all IT_QUAGENTSENSE items would become invisible but still exist in the game. The quagent is still able to perceive these 'senses' by calling the radar function. The gold is also represented by an item we have created called "quagent_item_gold" of type IT_QUAGENTITEM. This is the type of item that quagents can pick up and put down.
- Maps: The Map Editor is used to create maps for the Wumpus World. First, create a map with MxN rooms. To make a pit, use the trigger_hurt option to make a brush that will hurt a player if they touch it, and place it in the rooms where there is a pit. We are currently working on representing the Wumpus as another quagent. For now, you can do the same thing you did for the pits. You can not use the map editor to place the senses and gold directly onto the map. Instead, use the default quake items and rename them in the .map file. For example, use "item_health_small" to represent breezes and place them in the center of rooms where there is a breezes. Then, open up the .map file and change the class name to the item you want, in this case, "quagent_sense_breeze". Once you are done making the map, follow the rest of the directions in the map editor page to create the .bsp and .aas files. Make sure to keep the size of the rooms the same and remember that size. We are currently working on generating random maps.
Using the Wumpus World
- Movement: The quagent starts at the center of the lower leftmost room. To move the quagent to an adjacent room, simply face that direction and call the moveBy command and move by the size of a room. The quagent will only need to face east, north, west, or south which are represented in quake as 0, 90, 180, and 270 degrees respectively.
- Sensing: Each time the quagent enters a new room, call the radar function using half the room size as the range. The quagent will always be at the center of the room so a larger radius will allow it to find entities in surrounding rooms which is wrong.
- Gold: The gold is not picked up automatically like the default quake items. Call the pickup function to pick up the gold when it is within the quagent's bounding box.
- Wumpus: Once we have a real Wumpus representation, tell the quagent to face the direction it believes the Wumpus is in and call the fireweapon function.
Attachments (1)
- wumpusworld.png (253.2 KB) - added by jherwitz 13 years ago.
Download all attachments as: .zip