Mini Project- Games Hardware Development
Author: University of Hertfordshire
Date created:
Date revised: 2009


Abstract
T...
Mini Project- Games Hardware



Section 1. Project Introduction
1. Learning Outcomes assessed (as taken from the DMD)
All ...
Mini Project- Games Hardware

   •   Demonstrate game and answer questions to demonstrate understanding


8. Day 2
Expecte...
Mini Project- Games Hardware



Section 2. Project Day 1 Brief
You will create a version of the classic video game Space I...
Mini Project- Games Hardware



Section 3. Project Day 2 Brief
Day 2 Game Requirements Specification

The level should con...
Mini Project- Games Hardware



Section 4. Basic PlayStation2 Game Editing Instructions
Introduction:

The best way is to ...
Mini Project- Games Hardware



Credits
This resource was created by the University of Hertfordshire and released as an op...
Upcoming SlideShare
Loading in...5
×

Mini Project- Game Hardware Development

2,148

Published on

The following resources come from the 2009/10 BSc in Games and Graphics Hardware Technology (course number 2ELE0074) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes.

The objectives of this module are to demonstrate, using the PlayStation® 2 SDK:
• Knowledge of PS2 registers, graphics, sound, IO architecture, EE, GS and VU’s
• Graphics programming.

This project will investigate the PlayStation® 2 through use of the Linux SDK. The project will involve the completion of a 2D game to explore the architecture of the PS2.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,148
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Mini Project- Game Hardware Development"

  1. 1. Mini Project- Games Hardware Development Author: University of Hertfordshire Date created: Date revised: 2009 Abstract The following resources come from the 2009/10 BSc in Games and Graphics Hardware Technology (course number 2ELE0074) from the University of Hertfordshire. All the mini projects are designed as level two modules of the undergraduate programmes. The objectives of this module are to demonstrate, using the PlayStation® 2 SDK: • Knowledge of PS2 registers, graphics, sound, IO architecture, EE, GS and VU’s • Graphics programming. This project will investigate the PlayStation® 2 through use of the Linux SDK. The project will involve the completion of a 2D game to explore the architecture of the PS2. Contents Mini Project- Games Hardware Development.....................................................................................1 Section 1. Project Introduction.............................................................................................................2 Section 2. Project Day 1 Brief .............................................................................................................4 Section 3. Project Day 2 Brief..............................................................................................................5 Section 4. Basic PlayStation2 Game Editing Instructions....................................................................6 Credits...................................................................................................................................................7 In addition to the resources found below there are supporting documents which should be used in combination with this resource. Please see: Mini Projects - Introductory presentation. Mini Projects - E-Log. Mini Projects - Staff & Student Guide. Mini Projects - Standard Grading Criteria. Mini Projects - Reflection. © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License.
  2. 2. Mini Project- Games Hardware Section 1. Project Introduction 1. Learning Outcomes assessed (as taken from the DMD) All Learning Outcomes specified in the Definitive Module Documentation are assessed as part of this miniproject, the specific Learning Outcomes are: Knowledge and Understanding • Be able to analyse and breakdown problem tasks into manageable steps. • Integrate previous and concurrent learning and to use it to solve technology-based problems. • Be able to describe the project life-cycle appropriately. • Be able to select appropriate Games and Graphics Hardware Technology and techniques for a given situation. Skills and Attributes • Produce a solution to a defined Games and Graphics Hardware Technology problem. • Carry out a simple critical evaluation of their solution. • Demonstrate an ability to work effectively in a teams, small groups and individually. • Demonstrate an ability to manage time and resources effectively. 2. Project Title: Games Hardware 3. Project Objectives: (technical, specific to this project) Demonstrate, using the PlayStation® 2 SDK: • Knowledge of PS2 registers, graphics, sound, IO architecture, EE, GS and VU’s • Graphics programming 4. Project Summary: (50 words max) This project will investigate the PlayStation® 2 through use of the Linux SDK. The project will involve the completion of a 2D game to explore the architecture of the PS2. 5. Introductory Lecture (2hrs) Content: i. PS2 architecture ii. Linux and the PS2 SDK iii. PS2 development (C and assembly overview) 6. Preparation Session (3hrs): i. PS2 SDK familiarisation 7. Day 1 Expected Outcomes for the day: The students will be given skeleton game code, providing the complete infrastructure for a basic PS2 game. They will be required to modify the code to construct a working game which meets a given specification. As the project progresses, students will be encouraged to edit function code to investigate whether performance enhancements are possible by altering the code to make better use of the PS2 hardware resources. Assessment criteria: How methodically the work has been planned, implemented, and tested; the extent to which the game functionality meets the given specification; any alterations made to the code to enhance performance. Key Tasks: • Construct game to meet specification Page 2 of 7
  3. 3. Mini Project- Games Hardware • Demonstrate game and answer questions to demonstrate understanding 8. Day 2 Expected Outcomes for the day: Students will be given extensions to the Day 1 game scenario following on from the basic game achieved on day 1. Once correct functionality has been achieved, students will be encouraged to enhance the performance of the game by structuring the code to maximise usage of the underlying hardware eg small loop structures, correct texture sizes. Assessment criteria: How methodically the work has been planned, implemented and tested; the extent to which the functionality of the game meets the given specification; any alterations made to the code to enhance performance. Key Tasks: Extend game to achieve functionality of complex scenario (basic game will be given to any who have not managed to complete this yet so that they are not disadvantaged today) • Investigate whether performance can be enhanced and if so, make alterations to code • Demonstrate game and answer questions to demonstrate understanding 9. Facilitator guidance (key ideas to draw out from students): Day 1: Value of a methodical approach, game i/o structure, relationship between software and hardware resources Day 2: texture cache thrashing, instruction cache limitations. 10. Required Resources: Laboratory Facilities and Teaching Support. Laboratory Resources: For each student: PlayStation® 2 with SDK networked to single PC, Monitor. Page 3 of 7
  4. 4. Mini Project- Games Hardware Section 2. Project Day 1 Brief You will create a version of the classic video game Space Invaders, based on the example code provided. This game, released in the late 1970's was one of the first arcade games to come widely popular, and is still used as a programming exercise for new programmers joining games companies. If you are unfamiliar with the game, a Flash based version can be played here: http://www.freespaceinvaders.org/ The idea of the game is that you control a small space ship or laser canon at the bottom of the screen, and are required to shoot the invaders coming down from the sky, while trying to avoid their missiles/lasers coming down at you. The invaders move sideways across the screen together, and when one reaches the edge, the invaders all move down a space and then move back across the screen in the opposite direction. Eventually the invaders will get to ground level and you will lose. A single hit on an invader will destroy it. A single hit of an invader missile/laser on you will cost you a life. Small shelters which are gradually destroyed by alien (and your) missiles help you evade the invaders’ missiles. You gain points for destroying the invaders, and the speed of movement of the invaders increases during the game. You can gain additional lives by scoring points, but initially have 3 lives. In the original game, an additional red ship occasionally traverses the top of the screen, and is worth further points if destroyed. Once all invaders are destroyed, the game starts again, but with the alien ranks starting lower each time. Your task is to implement a copy of this game, using the available tools, and extending it to include further variations (the original game has many later variants). You are not required to implement sound. Day 1 Game Requirements Specification The level should contain at least three rows of nine aliens each at the start of the game, one space ship at the bottom and at four shelters/bunkers. Aliens must move correctly in the way described above, gradually descending to the bottom of the screen The game pad left and right buttons should move the space ship left and right across the bottom of the screen, but not off the screen (i.e. its movement should be limited). The space ship should not be able to move in any other direction. One of the buttons on the right hand pad should be used to fire missiles vertically up at the aliens. Only one bullet at a time can be fired at the aliens (i.e. the next missile cannot be fired until the last one has disappeared/exploded). If the missile hits an alien, both should be destroyed, i.e. disappear and add to the points score. Hits on the shelters should gradually destroy them, and missiles should not pass through until the shelter is destroyed. Aliens should fire missiles vertically down at the space ship. This should use random numbers to decide when. If an alien missile or an alien hits the space ship it should be destroyed, and a life taken off. Page 4 of 7
  5. 5. Mini Project- Games Hardware Section 3. Project Day 2 Brief Day 2 Game Requirements Specification The level should contain at least three rows of nine aliens each at the start of the game, one space ship at the bottom and at four shelters/bunkers. Aliens must move correctly in the way described above, gradually descending to the bottom of the screen The game pad left and right buttons should move the space ship left and right across the bottom of the screen, but not off the screen (i.e. its movement should be limited). The space ship should not be able to move in any other direction. One of the buttons on the right hand pad should be used to fire missiles vertically up at the aliens. Only one bullet at a time can be fired at the aliens (i.e. the next missile cannot be fired until the last one has disappeared/exploded). If the missile hits an alien, both should be destroyed, i.e. disappear and add to the points score. The lives of the spaceship should be displayed as in the example. Additional Hits on the shelters should gradually destroy them, and missiles should not pass through until the shelter is destroyed. Aliens should fire missiles vertically down at the space ship. This should use random numbers to decide when. If an alien missile or an alien hits the space ship it should be destroyed, and a life taken off. PS2 Brief – Day 2 Specification Further requirements: Alien movement should accelerate during the game. An additional occasional alien traversing the Screen worth a large number of points Display the number of lives left as pictures of the space ship. Add variations to the alien missile movements: 1) a zig-zag pattern as they descend. 2) a following mechanism where alien missiles move sideways towards the space ship as well as downwards. Page 5 of 7
  6. 6. Mini Project- Games Hardware Section 4. Basic PlayStation2 Game Editing Instructions Introduction: The best way is to work almost exclusively from the PC, using two different Telnet sessions (or more if you like, e.g. for two different files being edited). The steps: 1) Login on the PS2 (i.e. on the PS2 keyboard). From now on do everything on the PC (apart from playing the game on the game controller). 2) On the PC: Run.. (from the start menu) then type cmd. In the command window, type telnet 192.168.0.2 and then login as assigned user name and password 3) In Telnet: navigate to the required folder using the cd command. 4) In Telnet: change to SuperUser mode (type su) 5) You may need to change the width of the command window on the PC - click on the top left menu, select properties and the layout tab. Change the Window Size width (e.g. to 150). 6) In this Telnet session run vi to edit a particular file (e.g. vi main.cpp) - see vi help below. 7) Launch a second command window from the PC (i.e. Run.. from the start menu), and also Telnet into the PS2, cd to the same folder and type su to change to SuperUser mode. 8) In this second telnet session, enter make to compile. If you have errors, a list of error messages will appear on the screen. If you have lots of errors, type make 2>&1 | less which allows you to scroll up and down to see errors with (e =down, y = up, q to exit). 9) If you get errors after typing make, you must not run the program before correcting them. Use Vi to correct only the first error on the list, don’t worry about the other errors as this first one may be causing the errors lower down. 10) Remake immediately (by typing make in the second telnet session) otherwise you could waste hours looking at an error that doesn’t exist anymore. 11) Once you have got rid of all of the errors, type ./main in the second telnet window to run. Page 6 of 7
  7. 7. Mini Project- Games Hardware Credits This resource was created by the University of Hertfordshire and released as an open educational resource through the Open Engineering Resources project of the HE Academy Engineering Subject Centre. The Open Engineering Resources project was funded by HEFCE and part of the JISC/HE Academy UKOER programme. © University of Hertfordshire 2009 This work is licensed under a Creative Commons Attribution 2.0 License. The name of the University of Hertfordshire, UH and the UH logo are the name and registered marks of the University of Hertfordshire. To the fullest extent permitted by law the University of Hertfordshire reserves all its rights in its name and marks which may not be used except with its written permission. “ ”, “PLAYSTATION”, “PS2”, “PlayStation” and " " are trademarks or registered trademarks of Sony Computer Entertainment Inc. The JISC logo is licensed under the terms of the Creative Commons Attribution-Non-Commercial-No Derivative Works 2.0 UK: England & Wales Licence. All reproductions must comply with the terms of that licence. The HEA logo is owned by the Higher Education Academy Limited may be freely distributed and copied for educational purposes only, provided that appropriate acknowledgement is given to the Higher Education Academy as the copyright holder and original publisher. Page 7 of 7

×