6.111 Final Project 16.111 Final Project 2Something fun………• A third dimensional experience• First person shoot-em-up•Maze based level• Your key objectives are….Game Overview6.111 Final Project 3Block Diagram6.111 Final Project 4Something to look at…..• Simple VGA interface to 320x240 resolution monitor:User Interface• 8-bit colour ID supplied to Colour Palette LUT.• Values scaled by Intensity Value.• Three 8-bit DACs output 24-bit colour to Screen6.111 Final Project 5Something to play with…..• Keyboard control via PS2 interface:User Interface• Controls to move and turn6.111 Final Project 63D Ray-CastingAdvantages, Disadvantages and Limits:• Faster than other 3D methods•Worse quality• Used in Wolfenstein 3D• Has three major geometric constraints• Walls perpendicular to floors and ceilings• Floor and ceiling is flat• Walls made from equally sized cubes6.111 Final Project 73D Ray-CastingHow?• Map consists of a 64 by 64 grid of squares• Each square is subdivided into a 64 by 64 coordinate system• Walls occupy a single large square• Casts a single ray across a 2D map for each column of pixels• Simplify - The ray can only hit a wall at a large square boundary• Check each big square boundary for a wall6.111 Final Project 83D Ray-Casting• Walls are textured – must find which bit of the wall a pixel corresponds to• Have already got which column the pixels are in from Ray-Casting• Vertical texture coordinate is dependent on which pixel is chosen – scales with wall height• Single colour for floors and another for ceilings• Viewing constraint - no looking up or down• The distance a ray travels to a wall sets the height of the wall on the screen in pixels6.111 Final Project 9Separate position data and position update modules:• Player Position Data delivers player coordinates to the other game control blocks.• AIC Position Data delivers each game character’s coordinates to other game control blocks. • Position update calculates new positions of both player and game characters and delivers these to position data, initiated by the game logic block. Moving Through The Maze6.111 Final Project 10• A.I. Block controls the movements of the game characters.• Proximity of characters governs their attack.• Player may shoot at a character attacking them.• Player and all characters have health points which are decremented in the event of an attack.• Game logic coordinates 3D Rendering, Position Update and game start and end. Opponents6.111 Final Project 11Major Obstacles• Amount of on chip ROM – Move it off chip• Too many modules needing access simultaneously –Re-order processing steps so that accesses can be efficiently time division multiplexed• VGA timing requires 25Mhz minimum, with 24-bit colour, DACs not good enough – get better ones6.111 Final Project
View Full Document