I.G.W.O.C.T.I.S.I. is a 4-person team project made for engineer graduation. It's name is an acronim which stands for: Implementacja gry wieloosobowej o charakterze turowym i strategicznym "I.G.W.O.C.T.I.S.I." which means it's a multiplayer turn-based game with strategy elements included.
The theme of the project is a turn-based inter-gallactic game based on a client-server architecture. The client is the game itself and the server is a logic somilator, collecting some data for player rankings.
Technology and tools
The game logically works in 2D world but we used 3D technology to visualize it. Client was written using .NET 4.0, Microsoft XNA and Nuclex Framework. Server-side was coded in Python 2.7. More about technologies in repository.
We used Team Foundation Server for task management (university requirement), FogBugz for bug tracking and Mercurial for code repository.
Since there were 4 programmers, we added functionalities the incremental way. We used Scrum methodology sliced by one-week sprints. Our approach to the Scrum was being watched by two tutors specializing in software design. Project ended on 7th December 2012.
My part in project
I was responsible for client – mainly networking (protocol design and implementation), user interface, some animations and other graphical improvements, such as particle system. I am also partly responsible for concepts of client’s architecture – MVC using machine state as a MVC’s Controller switching between layered Views. In the end I have put my efforts into all architecture layers (networking, visualization, data processing).
- Design architecture of client
- Design network protocol based on JSON
- Design animation system
- Implementation of networking (client)
- Implementation of GUI functionality (client)
- Implementation of visualization improvements (client)
- Implementation of animations based on implemented animation system
- Continuous bug searching and fixing (client, server)