CSSE 413: Game Tournament

Mechanics of the tournament

Round 1

Please play teams as indicated. Team Vienas will not play anyone in this round.
TeamsScore (W/W/D)Comments
Uno vs Eins0/10/0Team Eins: Our program used a simple reflex agent to determine which action was best based on several heuristics. I think our strategy worked well because it had an offensive focus - but we chase down the opponents if we are near them while trying to get to the other side. Thus, we have defensive tactics, but only if the situation calls for it. Also, our pacmen focus on different halves of the board, so they are fairly efficient at getting the dots.

Team Uno: From the perspective of my team, both teams seemed to strive for a similar strategy of being as offensive as possible. We utilized a minmax approach with a search depth of 3 with some modifications to try to overcome some of the limitations of minimax. For example, minimax has issues finding goal states outside of its search depth, so at the start of the match, we cached best paths from any point on the map to any food. In our evaluation function, we weight states with lower path distance to a food dot higher than states with higher path distance. We believe our agent would have been a better challenge if our two agents had a better facility to separate themselves (they currently tend to stick together). Both of our agents attempted to cross over at the center of the map, and the opposing team had one ghost defending that area, causing a standstill while the other opponent started eating all of our food.

Een vs Un5/0/0Comments on our code: Our team was comprised of two agents that both worked exclusively in an offensive mode. We extended the provided reflex agent, using seven unique features to score each state. These included the successor state's score, total distance to food from the agent, minimum distance to food from the agent, total distance to enemy ghosts from the agent, max distance of enemy to food from any other enemy food, total scared times of enemy ghosts, and distance between teammates. A convex hull approach was used in determining maximum distance between foods to reduce calculation time. A parallelized genetic algorithm was then implemented to determine an optimal weighting function for these features. Fitness was determined by pairing each weight function against the provided baselineTeam. Comments on the game play: Team Un did not have enough time to prepare, and we helped them with some minor debugging before competing. Four of the five games ended by time running out. This was due to the fact that team Un's defensive ghost agents never actually were able to capture either of our offensive pacmen as well as our pacmen being too "scared" of the ghost defenders. This resulted in our pacmen standing still and their ghosts moving back and forth between three or four spaces in close proximity of one of our pacmen. We believe that the combination of our weight on distance from ghosts in addition to our weight for distance from teammates caused this. With that said, we did find a bug (which can be found in the Angel forums) that might exacerbate or even create this problem.
Ett vs One6/11/5Nummer Ett had a couple problems with its agents. They would get stuck trying to avoid ghosts and not reroute, so they would loop. Number One had a similar problem, but it was not as dramatic because we had two distinct agents.

Subjective ranking.
RankingTeamW/L/T
1Eins1/0/0
1Een1/0/0
3One1/0/0
3Ett0/1/0
5Uno0/1/0
6Un0/1/0
NRVientas0/0/0

Round 2

Please play teams as indicated. Team Uno will not play anyone in this round.
TeamsScore
Een vs Eins0/5/0Eins hasn't made any changes since they faced Uno. They still have their agents prefer offense over defense, but it seems that the little defense they do have built into their agents had them actually win the games.
One vs Un2/8/0Team Numbre Un wins vs team Number One. In the initial part of the game, Un's pacman would either stop One's pacman on the border or go back and eat it. Un's strategy was to use two offensive agents to collect food quickly. One's strategy used one offensive and one defensive agent. One's offense couldn't keep up. In the future they plan to have agents that can be offensive or defensive at appropriate times in the game.
Ett vs Vienas4/7/0 The matches, as a whole, were very even, with only one instance of a terminal cyclical pattern forming among agents. Team Vienas had a hard coded system, with one defensive agent, forbidden from crossing the border, and one offensive agent, capable of chasing pac men found on his own side. This worked effectively, but allowed for Eins agents to develop break-out moments where one or both ghosts are occupied chasing an enemy pac man, leaving Eins a free pac man to collect food for many turns. It also cost some opportunities for the defense pac man to make crucial captures. Team Eins had agents which were coded identically, primarily to be offense, but capable of chase and avoid operations. This lead to the aforementioned free reign situations, but had its downside. Most notably, since the agents were coded to run the same, they would often end up being caught twice in a row by enemy ghosts due to close proximity, despite a splitting procedure. In addition, the code to run away from ghosts was weak (it was previously detrimental and removed for this round), which cost the team a lot of time and a few matches. Both teams would benefit from an algorithm preventing pac man from being placed in a trapped situation.

Subjective ranking.
RankingTeam
1Eins2/0/0
2Vientas1/0/0
3Een1/1/0
4One1/1/0
4Un1/1/0
6Uno0/1/0
7Ett0/2/0

Round 3

Please play teams as indicated. Team Ett will not play anyone in this round.
TeamsScore (W/W/D)Comments
Eins vs Vientas5/0/0Vienas was the first team that utilized a defensive strategy and I think they came the closest to beating us so far just because we haven't really focused on evading ghosts. We still haven't made any changes to our agents since we keep winning.
Een vs One1/4/0One agent of team One and both of team Een appeared to "dance" with each other. The second agent of team One took advantage of that to eat away on the pellets.
Un vs Uno10/0/0Un caught One's agents at the half-way point.

Subjective ranking.
RankingTeam
1Eins3/0/0
2Un2/1/0
3One2/1/0
4Vientas1/1/0
5Een1/2/0
6Uno0/2/0
7Ett0/2/0

Round 4

Please play teams as indicated. Team Een will not play anyone in this round.
TeamsScore (W/W/D)Comments
Eins vs One4/2/0NumberOne implemented an attack on the initial pass of the two agents, as well as some minor loop detection for both the offensive and defensive agents. Eins used the same code that it used in all of its previous victories. We had some issues with falling into loops (though they happened to work in our favor, which was lucky). We also have a weakness where both of our PacMen run for the same remaining food dots, which resulted in both being eaten together.
Un vs Vientas9/1/0Vienas has a defensive/offensive strategy, with a tendency for defense. We would often have a stand off in the middle, usually losing unless Un got the capsule first. Because Un has two offensive agents, the stand off didn't stop Un from scoring points, giving Un a lead almost every game.
Uno vs Ett1/4/0Both of our agent strategies attempted to blitz the opponent's side and gather all of their dots. Because we modified our agent to move through the top of the maze, both teams made it to the other side and started eating the dots of the opponents. The opposing team (Ett), however, was better at having their agents split up to eat our dots. Even though both of our agents were good at finding the optimal paths to food, theirs was able to eat ours quicker. We could improve our agent by adding higher weights to splitting the agents up earlier in the match.

Subjective ranking.
RankingTeam
1Eins4/0/0
2Un3/1/0
3One2/2/0
4Een1/2/0
5Vientas1/2/0
6Ett1/2/0
7Uno0/3/0

Round 5

Please play teams as indicated. Team One will not play anyone in this round.
TeamsScore (W/W/D)Comments
Eins vs Un5/0/0We won most of the matches because we were able to eat the other team's pacman at the very beginning of the match and then were able to avoid them long enough to collect all of the pac-dots. Both teams had basically the same strategy. The issue was that Un's AI jumped across the middle line at the beginning and was immediately "eaten" by Eins AI. This was something that Un had worked on before and Un is not sure why their AI went across the middle line so easily. Eins ended up winning 5/5 games since the same thing happened each game with the Un AI going across the middle for no reason.
Uno vs Vientas0/0/0Did not play.
Ett vs Een5/1/0Team Eens AI worked great on offense. Their AI's ability to dynamically switch from offense and defensive agents gave them the ability to have the upper hand if both of the opposing teams pacman were eaten. However, their defensive technics seemed to cause their ghosts to sometimes get caught in an endless loop. Other times the AI would also charge into a pacman when it was scared. Team Etts offensive AI was able to maneuver around ghosts and use power pellets to gain the advantage. However, their defensive technics still need to be sharpened. There are times where both agents will chase after one ghost when it would be more beneficial for them to split up.

Subjective ranking.
RankingTeam
1Eins5/0/0
2Un3/2/0
3One2/2/0
4Ett2/2/0
5Een1/3/0
6Vientas1/2/0
7Uno0/3/0

Round 6

Please play teams as indicated. Team Eins will not play anyone in this round.
TeamsScore (W/W/D)Comments
Un vs Ett4/1/0
One vs Vientas8/1/1
Een vs Uno10/0/0

Subjective ranking.
RankingTeam
1Eins5/0/0
2Un4/2/0
3One3/2/0
4Ett2/3/0
5Een2/3/0
6Vientas1/3/0
7Uno0/4/0

Schedule

Rounds are to be completed by the end of the day on the following days. Please email me the results and game notes so I can determine standings.

RoundDate
1Monday, Oct. 31
2Wednesday, Nov. 2
3Monday, Nov 7
4Tuesday, Nov 8 in class.
5Wednesday, Nov. 9
6In class on Thursday, Nov. 10