Recently, programming contests, especially contests where contestants compete with each other by developing programs that plays on game software, are becoming popular as an educational methodology. However, such game software is different from existing game software and applications that users directly plays or manipulates. There is no systematic way to develop the game software and no shared knowhow.
In this paper, we propose patterns that show how to develop such game software for programming contests and how to manage programming contest from our experience that we held three programming contests. We also propose a pattern language for programming contests using such game software by arranging our patterns.