Teaching Network Game Programming with the Dragonfly Game Engine
Today's aspiring programmers need fundamental skills in networking to create applications that run over the Internet and, in the case of network games, synchronize game state among game players. Typical networking projects either do not provide socket-level programming or do not allow for implementation of a network game as part of the assignment. This paper presents Dragonfly Wings, a programming project where students extend a game engine with network socket-based code and use the enhanced engine to make a networked, multiplayer game. Assessment of the use of Dragonfly Wings in a programming course shows merits to the approach as students gained a better understanding of networking, C++, and game engines. The project is appropriate for college students with solid programming fundamentals, familiarity with C++, and systems programming experience - i.e., most 3rd year Computer Science or game programming majors.
Mark Claypool. Dragonfly - Strengthening Programming Skills by Building a Game Engine from Scratch, Computer Science Education - Special issue on Games in Computer Science Education, Taylor and Francis, Volume 23, Issue 2, Pages 112-137, June 2013. Online at: http://www.cs.wpi.edu/~claypool/papers/dragonfly-projects/