##Introduction This is a Node.js / Socket.IO real-time multi-player game. Both server- and client-side code is written in JavaScript, HTML5, and CSS. The MVC framework being used is Backbone.js and server-related code is based on Node.js and Socket.io.
##Contributors (in alphbetical order): Ryan Beal, John Challinger, Randy Ledbetter, Andrew Reed, Ethan Ward, and Justin Wessel.
##Current State of the Project When a client connects to the server, the user is presented with a Splash screen. There is a character customization page for each of the four base character classes available to users. Once customization is complete, the game begins. Once the character class is selected and the associated form is filled out, a client side Player object is instantiated and news of this event is sent to the server via socket.io. The server instantiates a server side Player object with the same properties as contained within the transmitted client Player object and stored in a players[] array.
The server then broadcasts the news of the newly-connected player to all other connected clients(if any). The client side code then draws the localPlayer via HTML5 Canvas. The user can then move the drawn square (representing the player) in the browser by pressing the arrow keys.
Every time a new client (new browser window) connects to the server, this process is repeated and all connected clients have their Canvas updated with the addition of the new remote player.
##Requirements to Experiment with this Code
- Download repository folder. In console, switch to the directory
- Install Node.js http://nodejs.org
- Install Node Package Manager
- Type: "npm install -d" (without the quotes)
- Type: node server.js
- Open public/index.html in a browser. Select a number from 0 to 3 (representing a character class). Move the character with the arrow keys.
- Open a seperate browser window and repeat the process with a different number to instantiate a different character class. Move the character around in the second window. Switch back and forth, and you will see the players' movements are in sync.
##Attribution
The four character sprite images currently being used were generated with the http://www.mmorpgmakerxb.com/ sprite generating tool.
All images starting with 'Dungeon-Tile' were created by:
CGTextures.com
One or more textures in the Dungeon Tile set from which this project has benefited from were created with images from CGTextures.com. These images may not be redistributed by default, please visit www.cgtextures.com for more information.
Additional attribution goes "ProBono", "Dundjinni.com", "RpgMapShare.com", and "Paint.Net".
More complete information about this image set can be found here: http://rpgmapshare.com/index.php?q=gallery&g2_itemId=45482&g2_page=1