busta’ sandwich

22
Busta’ Sandwich Busta’ Sandwich Life Cycle Architecture Life Cycle Architecture

Upload: neci

Post on 23-Jan-2016

58 views

Category:

Documents


0 download

DESCRIPTION

Busta’ Sandwich. Life Cycle Architecture. Specifications. Game State Transitions. Game Layout. Objective. Single Player – Obtain highest score possible by fulfilling as many sandwich orders as possible before the chef explodes from eating too many leftover sandwiches. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Busta’ Sandwich

Busta’ SandwichBusta’ Sandwich

Life Cycle ArchitectureLife Cycle Architecture

Page 2: Busta’ Sandwich

SpecificationsSpecifications

Page 3: Busta’ Sandwich

Game State TransitionsGame State Transitions

Page 4: Busta’ Sandwich

Game LayoutGame Layout

Page 5: Busta’ Sandwich

ObjectiveObjective

Single Player – Obtain highest score Single Player – Obtain highest score possible by fulfilling as many sandwich possible by fulfilling as many sandwich orders as possible before the chef orders as possible before the chef explodes from eating too many leftover explodes from eating too many leftover sandwiches.sandwiches.

Multi Player – Be the last chef standing! Multi Player – Be the last chef standing!

Page 6: Busta’ Sandwich

Game Play ElementsGame Play Elements Game boardGame board: :

A 5x5 grid of sandwich ingredients.A 5x5 grid of sandwich ingredients.

Cursor:Cursor: Highlights currently selected ingredient in the grid. Highlights currently selected ingredient in the grid. Player can choose to swap this ingredient horizontally or Player can choose to swap this ingredient horizontally or vertically.vertically.

Chef IconChef Icon: : A sprite of a chef that represents the “life” bar of the A sprite of a chef that represents the “life” bar of the player. Chef gains weight as player has to eat player. Chef gains weight as player has to eat sandwiches from unfulfilled orders and eventually sandwiches from unfulfilled orders and eventually explodes if chef grows too fat.explodes if chef grows too fat.

Page 7: Busta’ Sandwich

Tip Jar:Tip Jar: As orders are fulfilled the tip jar fills with money, once As orders are fulfilled the tip jar fills with money, once filled the player can use the self submit button to eat a filled the player can use the self submit button to eat a sandwich with restorative powers.sandwich with restorative powers.

Order queue:Order queue: A set of 3 orders from customers with sandwich A set of 3 orders from customers with sandwich ingredients and time to fulfill request. As orders are ingredients and time to fulfill request. As orders are fulfilled they drop out of the queue and new ones are fulfilled they drop out of the queue and new ones are added.added.

Score:Score: The current score of player. The current score of player.

Game Play Elements, cont.Game Play Elements, cont.

Page 8: Busta’ Sandwich

Game Play Elements, cont.Game Play Elements, cont.

Self Submit button:Self Submit button: Ingredients from bottom row of grid are fed to chef.Ingredients from bottom row of grid are fed to chef.

Customer Submit button:Customer Submit button:Ingredients from bottom row of grid are matched to a Ingredients from bottom row of grid are matched to a customer order, if no order exists that matches the customer order, if no order exists that matches the ingredients chef has to eat sandwich.ingredients chef has to eat sandwich.

Page 9: Busta’ Sandwich

Multi-Player ElementsMulti-Player Elements Current Opponent window:Current Opponent window:

Shows a selected opponent’s chef icon, game board, tip Shows a selected opponent’s chef icon, game board, tip jar and order queue.jar and order queue.

Opponent Submit Button:Opponent Submit Button:Ingredients from bottom row of grid fed to current Ingredients from bottom row of grid fed to current opponent.opponent.

Opponent Icons:Opponent Icons:For games with more than two players, chef icons for all For games with more than two players, chef icons for all opponents will be displayed along with cursor opponents will be displayed along with cursor highlighting which opponent is on the Current Opponent highlighting which opponent is on the Current Opponent window.window.

Page 10: Busta’ Sandwich

ArchitectureArchitecture

Page 11: Busta’ Sandwich

EngineEngine Coordinates all operations of the game.Coordinates all operations of the game.

Basic Operations (Single-Player & Multiplayer):Basic Operations (Single-Player & Multiplayer): 1. Handles user input1. Handles user input 2. Checks for legal move by player2. Checks for legal move by player 3. Updates models3. Updates models 4. Call to Graphics4. Call to Graphics

Multiplayer Operations:Multiplayer Operations: Process network queueProcess network queue Send updated model to serverSend updated model to server

Page 12: Busta’ Sandwich

Engine – User controlEngine – User control

Captures user input and then processes input; calls Captures user input and then processes input; calls appropriate engine subroutines to handle specific user appropriate engine subroutines to handle specific user inputinput

Uses built-in SDL event capturing functions to capture Uses built-in SDL event capturing functions to capture user input. By polling for events, can ensure that all user user input. By polling for events, can ensure that all user input is handled and processed in order.input is handled and processed in order.

Page 13: Busta’ Sandwich

ModelsModels GameState:GameState:

A structure that contains all the information required to store A structure that contains all the information required to store the state of the game at any point. Contains instances of the state of the game at any point. Contains instances of other model types, including Customer queue, Ingredient other model types, including Customer queue, Ingredient matrix, score, Chef state, Tip Jar, etc.matrix, score, Chef state, Tip Jar, etc.

Page 14: Busta’ Sandwich

GraphicsGraphics The entire game will be sprite-based.The entire game will be sprite-based.

The graphics engine provides the following functions for The graphics engine provides the following functions for the game engine to display the game. the game engine to display the game.

These methods draw the game according to the content These methods draw the game according to the content in GameState. in GameState.

drawSPGame(GameState gs): drawSPGame(GameState gs): drawBoard(gs.board) drawBoard(gs.board) drawChef(gs.chef) drawChef(gs.chef) Etc..Etc..

Page 15: Busta’ Sandwich

GraphicsGraphics drawMPGame(GameState gs, MPGameState drawMPGame(GameState gs, MPGameState

opponentsBoard)opponentsBoard)

Other screens are drawn using these methods: Other screens are drawn using these methods: drawMainScreen(...) drawMainScreen(...) drawChefSelelection(...) drawChefSelelection(...) drawHighScores(...) drawHighScores(...) Etc…Etc…

The engine will provide all the necessary information to The engine will provide all the necessary information to draw things correctly.draw things correctly.

Page 16: Busta’ Sandwich

NetworkingNetworking Utilizes a Client/Server Model across TCP/IPUtilizes a Client/Server Model across TCP/IP

Clients are built into the game while there is a dedicated Clients are built into the game while there is a dedicated serverserver

When a move is made the client sends its new game When a move is made the client sends its new game state to the serverstate to the server

The server tracks which opponent each client is The server tracks which opponent each client is currently viewingcurrently viewing

Page 17: Busta’ Sandwich

Networking, cont.Networking, cont.

Periodically, game states of connected clients are Periodically, game states of connected clients are sent to one another:sent to one another:

Summarized information of all other connected clientsSummarized information of all other connected clients Full information of the client currently being trackedFull information of the client currently being tracked

The server is also a relay for the special sandwiches The server is also a relay for the special sandwiches that will be sentthat will be sent

Page 18: Busta’ Sandwich

Team StructureTeam Structure

Engine Team: Jennifer, RohitEngine Team: Jennifer, Rohit Network Team: Ross, FrederickNetwork Team: Ross, Frederick Graphics Team: Julian, TomGraphics Team: Julian, Tom

One or both members of the networking team may join One or both members of the networking team may join the other teams, since the major networking milestones the other teams, since the major networking milestones occur early in development. occur early in development.

Each meeting we will reassess the workload of each Each meeting we will reassess the workload of each team and shift workloads accordingly.team and shift workloads accordingly.

Page 19: Busta’ Sandwich

Team Schedule Part ITeam Schedule Part I 7/15/05 (F) 10:00p7/15/05 (F) 10:00p

Graphics: Draws colored blocks and a layout to the Graphics: Draws colored blocks and a layout to the screen. screen.

Engine: Handles keyboard/mouse input.Engine: Handles keyboard/mouse input. Network: Client connects to server, sends state, Network: Client connects to server, sends state,

server sends states, disconnects.server sends states, disconnects. Engine: Models/Data Structures constructed. Engine: Models/Data Structures constructed.

7/18/05 (M) Noon - 7/18/05 (M) Noon - Team MeetingTeam Meeting..

7/19/05 (Tu) 10:00p - 7/19/05 (Tu) 10:00p - Zero-feature ReleaseZero-feature Release

Page 20: Busta’ Sandwich

Team Schedule Part IITeam Schedule Part II

7/26/05 (Tu) - 7/26/05 (Tu) - Team MeetingTeam Meeting Network: Client queue implemented.Network: Client queue implemented. Network: Sever sending data structures. Network: Sever sending data structures. Graphics/Network: Connect GUI screen. Graphics/Network: Connect GUI screen. Graphics: Grid working. Graphics: Grid working. Engine: Updating grid, checking moves. Engine: Updating grid, checking moves.

8/02/05 (Tu) 10:00p - 8/02/05 (Tu) 10:00p - Beta ReleaseBeta Release All: Single player done. All: Single player done.

Page 21: Busta’ Sandwich

Team Schedule Part IIITeam Schedule Part III

8/9/05 (Tu) - 8/9/05 (Tu) - Team MeetingTeam Meeting Graphics: GUI menus done. Graphics: GUI menus done. Graphics: Sprites complete.Graphics: Sprites complete. Engine: Process all network messages, i.e. Engine: Process all network messages, i.e.

multiplayermultiplayer All: Everything but animations and sound. All: Everything but animations and sound. Network: Network balance done. Network: Network balance done.

8/12/05 (F) – All: Game complete. 8/12/05 (F) – All: Game complete.

8/14/05 (Su) 10:00p - 8/14/05 (Su) 10:00p - Final ReleaseFinal Release

Page 22: Busta’ Sandwich

Test PlanTest Plan Platform:Platform: CSE Lab WinXP Machines, 100Mbps Ethernet CSE Lab WinXP Machines, 100Mbps Ethernet

Unit Testing:Unit Testing:Each development team will test its module heavily before Each development team will test its module heavily before committing to CVScommitting to CVS

Integration Testing:Integration Testing:Each team must make sure their new modification doesn’t break the Each team must make sure their new modification doesn’t break the system.system.

Bug Tracking Tool:Bug Tracking Tool: Bugzilla Bugzilla

““Public” Release:Public” Release:August 9. Release to friends to test game playAugust 9. Release to friends to test game play