1 / 23

Game Engine

Game Engine. EECS150 Spring2006 Lab Lecture #10 Guang Yang. Project Status. Check Point 1 N64 Controller Interface. Check Point 2 NTSC Video. VideoRAM. VideoRAM. Check Point 3 Chipcon RF Transceiver. Check Point 4 Game Engine. Block Diagram of the Design. Checkpoint 4 .

Download Presentation

Game Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Game Engine EECS150 Spring2006 Lab Lecture #10 Guang Yang EECS150 Lab Lecture #10

  2. Project Status Check Point 1 N64 Controller Interface Check Point 2 NTSC Video VideoRAM VideoRAM Check Point 3 Chipcon RF Transceiver Check Point 4 Game Engine Block Diagram of the Design EECS150 Lab Lecture #10

  3. Checkpoint 4 • Basic Requirements • 2-player wireless Tron • Being able to find an opponent and start playing • Display the game and scores • Extra Credits • There is a list of features in cp4 doc • Feel free to add extra features. Talk to TAs about extra credits BEFORE you do it. EECS150 Lab Lecture #10

  4. First thing first • 100% Freedom • 0% Freedom EECS150 Lab Lecture #10

  5. Game Setup • Game Board Setup EECS150 Lab Lecture #10

  6. Game Board (1) • Internal game board representation • It is in the engine. You can decide. • One possible way • Use RAM to store the board data • See the reference RAM implementation in cp4 zip file EECS150 Lab Lecture #10

  7. Game Board (2) • For each point on the board, use 2 bits to represent its status EECS150 Lab Lecture #10

  8. Wireless Tron Two main phases • In channel 0 • Initialize the board • Find an opponent • Select another channel for playing the game • Go there Initialization Phase • In channel 1~15 • Maintain a GameIndex • Send your position and GameIndex • Receive those from your opponent • Update the game • Game over. Go back to Initialization phase Game Playing Phase EECS150 Lab Lecture #10

  9. Init Board Play Game Initialization Phase Receive an Invitation Send Acknowledge with (random) ch#1~15 Listen to Channel 0 for 1 sec Timeout Timeout Timeout Listen to Channel 0 for 1 sec Send Invitation Listen to Channel 0 for 1 sec Receive an Acknowledge Send Confirmation Save ch# Receive a Confirmation Player1 Player2 Change to new channel Wait 1 sec EECS150 Lab Lecture #10

  10. Confirmation Packet Acknowledge Packet Invitation Packet 8’h80 8’h80 8’h80 8’h00 8’h00 8’h00 8’hF0 8’h00 8’h0F 8’h00 8’h0N 8’h0N Initialization Phase • Packet formats standardize the 32-bit payload. You need to decide the proper source address and destination address. • where N is the channel number ranging from 1 to 15. EECS150 Lab Lecture #10

  11. Wireless Communication • !!! UNRELIABLE !!! • You must add redundancy to make it reliable • Send every packet multiple times. We start with packetRepeatTimes = 3. You can experiment later on to find out the optimal value. EECS150 Lab Lecture #10

  12. Administrative Info (1) • Checkpoint 3 due in the week after spring break in lab • 50% off one week later • Plan out a design for checkpoint 4 • No design review, but should be useful for project writeup • Considering extra credit? Plan for it • Design consideration • Time allocation EECS150 Lab Lecture #10

  13. Administrative Info (2) • Project grade breakdown • Checkpoint 1: 10% • Checkpoint 2: 15% • Checkpoint 3: 30% • Checkpoint 4 / Final Checkoff: 30% • Report: 15% EECS150 Lab Lecture #10

  14. Administrative Info (3) • Extra credit • Up to 20% of total project grade • Due at the same time as your CP4 check-off (either early or standard check-off) • Not eligible unless you complete all previous required project work. (Single student groups can submit the blackboxes we gave you.) EECS150 Lab Lecture #10

  15. Game Playing Phase • Parameters • Packet repetition times packetRepeatTimes = 3 • Car moving speed speed = 10 pixel/second • You could try different values later • To synchronize the moves of both players, introduce a GameIndex. It starts from 0, and increment after moving one pixel ahead EECS150 Lab Lecture #10

  16. Game Playing Phase GameIndex does not match Check Game Status for the New Positions GameIndex matches Start Game Receive Position Update Packets Both alive You need to arbitrate Make the move; Increment GameIndex GameIndex=0 Set init position At least one dies No valid packet received in one second Send Position Update Packets End Game. Update Score Start button pressed on N64 Init Phase EECS150 Lab Lecture #10

  17. Position Update Packet 1’b0 15’b GameIndex 8’h col 8’h row Game Playing Phase • Packet Format EECS150 Lab Lecture #10

  18. VideoRAM • You are free to choose any implementation • For your reference, in our implementation, we have dedicated groups of signals for Read/Write car positions, and for Write characters on the screen • Refer to the Checkpoint assignment for detailed port information EECS150 Lab Lecture #10

  19. Extra Credit • Some extra credit options • EARLY CHECKOFF (5%) • Week of 4/10 to 4/14 • Multiplayer (>=4) game (7%) For this one, you need to modify communication protocols and/or packet formats • Audio (5%) • Viewpoints (5%) • Finite wall (like snake) (3%) • … • Check webpage for more options • Up to 20% EECS150 Lab Lecture #10

  20. Project Tips (1) • Design • Get used to debugging • An unverified module is useless • Refer to lab4 and lab5 • Start from SIMULATION • Testing • Multiple boards, different addresses, different orderings, etc. EECS150 Lab Lecture #10

  21. Project Tips (2) • Requirements • Finish these first • Make sure it works well • Shouldn’t depend on a certain N64 controller • Should work on multiple boards • Extra Credit • Finish early, it’s worth 5% • Keep your required version separate • Don’t touch it while you work on extra credit! EECS150 Lab Lecture #10

  22. Project Writeup • Includes • Block diagrams • Bubble-and-arc diagrams • Comments • NO SCHEMATICS (They’re too detailed) • Use your design reviews! • Documentation helps you debug • Also makes it easier for us to help you • More details will be posted later EECS150 Lab Lecture #10

  23. Enjoy your spring break and/or Wireless Tron EECS150 Lab Lecture #10

More Related