-
Notifications
You must be signed in to change notification settings - Fork 48
Sample Constructive Rule Generator
Raluca D. Gaina edited this page Feb 12, 2018
·
1 revision
This generator depends on common knowledge about VGDL games. The problem is it generates a smaller set of games compared to other techniques as the generator have fewer options.
The constructive rule generator generate the game through multiple steps:
-
Generate Resources Interactions: Adds a
collectResourceinteraction between the avatar and all the resources. -
Generate Immovable Interactions: Choose two immovable object at random. Consider the first one as collectible object. Based on that the generator adds
killSpritewithscoreChangewhen the avatar collides with this immovable object. While the second one have a chance to be either harmful object or a better collectible object. Based on that the generator addskillSpriteeither for the avatar if it is a harmful object or for the other object with a biggerscoreChangethan the first object otherwise. -
Generate NPC Interactions: Is the biggest step and it depends on the type of the NPC itself. If the NPC is
Fleeing, the generator adds akillSpriteinteraction between the NPC and whatever its running from. If the NPC isBomberorRandomBomber, the generator first adds akillSpritebetween the avatar and the NPC. While the generated sprites either become collectible or harmful to the avatar. If the NPC isChaser,AlternateChaserorRandomAltChaser, the generator makes it harmful for whatever its chasing. It will either kill it or transform it to be the same like itself. Finally, if the NPC isRandom, the generator either make it harmful or collectible to the avatar. - Generate Spawner Interactions: The generator selects either to make the spawned objects harmful or collectible to the avatar.
-
Generate Portal Interactions: If the portal is defined as a
Door, the generator will consider it as an exit and will add akillSpriteinteraction when the avatar reach it. Otherwise if its aPortal, the generator will addteleportToExitinteraction when the avatar collides with it. - Generate Movable Interactions: The generator selects either to make the remaining of the objects either harmful or collectible to the avatar.
- Generate Wall Interactions: The generator check if there is a wall objects. Wall is a sprite that surround the level and cover at most 50% of the map. Walls can be considered as normal walls where object can pass through them or as a firewall where everything that touch it dies.
-
Generate Avatar Interactions: If the avatar can shoot bullets or attack. The generator adds a
killSpriteinteraction between the bullets and enemies. -
Generate Termination Conditions: The generator checks if there is a
Doordefined, it consider destroying the door is the winning condition. If there is no door, the generator checks for aFleeingnpc to make collecting all of them is the condition of winning. Otherwise, its time-based winning condition. For the loss condition, the generator attach it to avatar death.
-
GVG Framework
- Tracks Description
- Code Structure
- Creating Controllers
- Creating Multi Player Controllers
- Creating Level Generators
- Running & Testing Level Generators
- Creating Rule Generators
- Running & Testing Rule Generators
-
Forward Model and State Observation
- Advancing and copying the state
- Advancing and copying the state (2 Player)
- Querying the state of the game
- Querying the state of the game (2 Player)
- Information about the state of the Avatar
- Information about the state of the Avatar (2 Player)
- Information about events happened in the game
- Information about other sprites in the game
- Game Description Class
- Constraints
- Game Analyzer Class
- Level Analyzer Class
- Sprite Level Description Class
- Sprite, Termination, and Interaction Data Class
- Level Mapping Class
- Competition Specifications
- VGDL Language