The Source Code

ZugZug is an open-source program released under the new BSD license. This means you are free to view, modify, compile, and distribute my code, so long as you maintain my copywrite notice (in both source and binary form).

Grab a copy of the source via CVS here:

Overall Methodology

The application is a network client which connects via TCP to battle.net's servers. Upon connecting, the client attempts to act similarly to how a normal user would (querying friends, viewing chat messages, etc). Data that would normally be displayed via a terminal/irc style chat window is parsed and used appropriately to fill tables, change graphics, and populate menus.

Battle.Net commuicates information to the client by using a simple header-message format. Each message sent to the client describes what type of message it is, and the supplied data. In turn, any UI interactiosn result in properly formatted messages being sent back to the server. ZugZug has a class called ZZBNetConnection which handles the networking and data parsing of the incoming data.

ZZController, on the other hand, controls multiple ZZBNetConnections and the UI. There are plans to split this code into two more specific objects, but for the moment it works.

If you would like to make any suggestions or give input, please do!

Technology Used

Below is a list of tools and technologies used in ZugZug. A more formalized, thorough set of documents will be published at a later date. Please be patient.

  • Programming
    • Cocoa
    • Objective-C
    • BSD Sockets
  • Interface & Graphics
    • Interface Builder
    • Icon Builder
    • Photoshop
Hope you enjoy ZugZug!