Monday, September 8, 2008

Lessons learned from CodeRuler

Description

Code ruler is a java game project open to all java programmers, for competitive real-time competition. It is based on a medieval theme having knights, peasants and a castle. The objective of the game is to occupy as much land as possible, capture your opponent’s knights or peasants, and castle. You can win by eliminating your enemy or by having a higher score. The programmer must write code to control the knights to capture enemy units and castles. Also to instruct your peasants to obtain an abundant amount of land for resource value, this will be attributed to your score at the end. With resources, the programmer will decide how many knight or peasant the castle will produce. Using a good strategy commanding your units, the programmer can attain victory.

Programmers

Ronn Reeves
Robin Raqueno

Strategy

We took two approaches in our strategy for the code ruler game: eradicate our enemy’s economy and at the same time increase our economy.

First we had our knights capture the enemy’s castle, that way we disrupt their production flow. If the enemy were to acquire another castle, our knights would be directed to that castle and ordered to capture it as well. Then, with no more castles to capture, our knights would turn their attention towards the enemy’s peasants. The knights would then be directed to capture whatever peasants that are left at that point of the game. Lastly the knights will capture the remaining knights.

The next idea we had was for the peasant’s movement to cover as much land as possible, so that we rapidly increase our resources for more production of knights or peasants. We had them move in box pattern. Once a border of the map was hit by any peasant, all of the peasants would proceed in uniformed different direction. Also we had the peasants avoid be captured by an enemy knight, by checking two spaces ahead. If that space was occupied by an enemy knight, then the peasant would go in an opposite direction from that enemy knight.

Results



TestOur TeamMigrate Ruler
16946
267614
36522
Gang Up Ruler
1516232
2586133
3525233
Split Up Ruler
1439359
2479354
3529234

Download


Click here to download our version of myRuler.java and the javadoc files

Conclusion
Using eclipse is still very new to me, but I can see that it has a lot of pros than cons. Such as, changing a variable used throughout the file. The user just has to refactor the name at the top, where it is initialized. This is a java IDE that is very useful and I can see myself using for future projects.

Working with a fellow programmer was a very good experience. My project partner, Ron, was open to many suggestions and ideas on how to build our strategy. The only problems with working with another person is having conflicted schedules, but we discussed the project as much as possible through Skype or meeting in person.

Overall this entire project has been very educational. Seeing how well we can work with others in the same field, using a new tool, and working on an open source program. The difficulties of programmers working on the same project and not being in the same room; communication between programmers is must to succeed in finishing a project. Also working with an open source project, commenting code must be at a good level. The process of working on this project has been fun and enlightening.

No comments: