Title: Game Engine
1Game Engine
- EECS150 Spring2006
- Lab Lecture 10
- Guang Yang
2Project 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
3Checkpoint 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.
4First thing first
5Game Setup
6Game 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
7Game Board (2)
- For each point on the board, use 2 bits to
represent its status
8Wireless 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 115
- 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
9Initialization Phase
Send Acknowledge with (random) ch115
Receive an Invitation
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
10Initialization 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.
11Wireless 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.
12Administrative 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
13Administrative Info (2)
- Project grade breakdown
- Checkpoint 1 10
- Checkpoint 2 15
- Checkpoint 3 30
- Checkpoint 4 / Final Checkoff 30
- Report 15
14Administrative 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.)
15Game 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
16Game 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
GameIndex0 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
17Game Playing Phase
18VideoRAM
- 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
19Extra Credit
- Some extra credit options
- EARLY CHECKOFF (5)
- Week of 4/10 to 4/14
- Multiplayer (gt4) 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
20Project 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.
21Project Tips (2)
- Requirements
- Finish these first
- Make sure it works well
- Shouldnt depend on a certain N64 controller
- Should work on multiple boards
- Extra Credit
- Finish early, its worth 5
- Keep your required version separate
- Dont touch it while you work on extra credit!
22Project Writeup
- Includes
- Block diagrams
- Bubble-and-arc diagrams
- Comments
- NO SCHEMATICS (Theyre 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
23- Enjoy your spring break
- and/or
- Wireless Tron