Over 1000 lines of code! Check out our subversion repository! http://svn.jperr.com/followers ========================================================== ========================================================== ______ __ __ / ____/____ / // /____ _ __ ___ _____ _____ / /_ / __ \ / // // __ \| | /| / // _ \ / ___// ___/ / __/ / /_/ // // // /_/ /| |/ |/ // __// / (__ ) /_/ \____//_//_/ \____/ |__/|__/ \___//_/ /____/ ___ | _ ) _ _ Jordan Perr Nicolas Avrutin | _ \| || | Fred Hat? Emily Matteson |___/ \_, | |__/ For Mr. Platek's APCS Class - 6/13/09 ========================================================== ========================================================== === Instructions === 1. To Start The Game: - Compile by executing "make" - Run by executing "make run" 2. Configure the Game: - Select NIC: This is the Network Interface we will use to communicate with other players. - Choose a Game: Select the variant you wish you play. - You may change the port or group ID for UDP Multicast. Everyone must have an identical Multicast port and group ID. Leave it at default unless it doesn't work. 3. Play the Game: - Use arrow keys to move your dot. - Stay close to other players, but avoid the red asteroids. === About The Code === Followers is so much more than a simple network swarm game: - Multithreaded network buffer reading. - Extendable architecture means game variants are easily added. - GUIs wherever necessary to aid the user. - Completely decentralized. - Experiments with UDP Multicasting technology. === Needed Improvements === - fix opacity based on health. if we can't render everything twice, don't render every goddamn thing twice. It's bad practice anyway. - add velocity vector to game element and gdelta use it to make movement smooth. === Future Improvements === - change game elements to store arrays of bytes and augment those bytes with accessor methods that the game dev writes. The backend GroupCommunicator could send and recieve packets of any length based on the type of gameelement passed in. - fixing the collection foreach thing - after we fix that, death doesn't have to quit the program - transmit velocity vector with each gdelta - keystrokes change your velocity instead of your position - implement damage function based on inverse square law - somehow ensure that physics are being applied equally, independent from the computer's loop speed. - send packets less often - balance game - fix Windows NIC name chooser