PlayStation2 in Higher Education
(So you want to be a Games Programmer?)
This article provides an insight into how a modern computer games console such as the PlayStation2 can be used effectively as a teaching and learning tool on Computer Science based courses within University higher education. The examples presented are taken from the “BSc Computer Games Technology” course that runs at The University of Abertay Dundee (UK). The author is intimately involved with the design and management of this course and is responsible for the teaching of console game programming within the University.
Abertay has a long association with the Computer Games Industry and was the first UK University to run a course in Computer Games Technology. In 1997 Sony Computers Entertainment Europe (SCEE) donated a laboratory of PlayStation1 Net Yaroze consoles to the course and this was followed up more recently in 2003 with the donation of a laboratory of PlayStation2 Linux kits.
In this article it will be argued that the use of games consoles on appropriate undergraduate and postgraduate courses is an excellent inspirational and motivational vehicle for the teaching and learning of many aspects of Computer Science to the highest level. Games console programming also provided an excellent in-context teaching tool enhancing employment prospects for student within the games industry.
The Computer Game has a long and distinguished relationship with Computing, Engineering and Science Departments within University Higher Education. It is widely recognised that the first computer game, Spacewar, was developed by a young student at MIT on a Digital PDP-1 minicomputer in the early 1960s. At that time computers were large and expensive, and very few people could obtain access to one. In fact, the only real exposure to computers was from within University Computer Science Departments.
Through the 1970’s and 80’s young entrepreneurs, many of whom were students, successfully produced and published computer games using small personal computers which had become affordable to the individual. The available technology and game content at that time meant that it was possible for small groups of enthusiasts, with very little financial backing, to successfully produce and market computer games. Many of these early programmers, however, still learned their computer programming skills within University Computer Science Departments.
The days of the individual producing a fully featured market topping computer game are now gone. Modern computer games are complex products produced by multidisciplinary teams of people working in a cooperative and creative manner. As a rough estimate, it takes about 20 man-years to develop a new game title, this being well beyond the realistic endeavour and capability of any single individual.
The computer games industry itself is now mature and well established. It is highly unlikely that anyone will gain employment as a professional games programmer simply by learning how to program on their own. Recruitment officers are looking for individuals with a strong University Computer Science Degree coupled with a flair for creativity and a strong portfolio of work. It is to satisfy this demand for high calibre individuals that the “Computer Games Technology” study program at Abertay was developed. The courses equips students with the technical knowledge associated with many of the traditional aspects of Computer Science, set in the creative and entrepreneurial environment of the computer games industry. This scenario is found to be highly motivational and inspirational to the current and new generation of computer science students, is captivating their imagination and nurturing their enthusiasm.
In order to do justice to this new generation of “Computer Games Technology” students, modern equipment must be available to provide exposure to the skills and technology that are current within the industry and this is where products such as the PlayStation2 Linux Kit are invaluable. The kit provides access to a current, modern, market leading console that is rich in both technical design and content and ideally suited for motivating the young, hungry mind.
This section will outline some of the main ways that the PlayStation2 Linux kit can and is being used for teaching and learning on the “Computer Games Technology” course at Abertay.
Students entering the first year do not normally have experience programming in the C/C++ language and introductory modules are provided in this area. At present, Visual Studio running on Windows PCs is used as the programming platform but using the PlayStation2 Linux kits is being considered. One issue raised by first year students relates to a lack of exposure to “games development” equipment within this year of the course and it is thought that learning to program on a PlayStation2 will enhance motivation. It would also allow an early introduction to games console programming, this being of benefit in later years of the course. Programming in the “open” environment of a Linux system also provides many advantages.
Students also study computer organisation and architecture during the first year. The Playstation2 is an excellent machine to consider as a case study for such modules. All aspects of computer architecture and organisation can be investigated using the PlayStation2 such as the CPU, bus systems, memory, co-processors, video systems, assembly language, micro-code, memory caches, to name but a few. The Playstation2 hardware reference manuals supplied with the kit also provide an ideal reference for students. Such detailed references are often hard, if not impossible to obtain for other commercial systems.
In the second year students gain access to the PlayStation2 kits to develop small games programs. This environment is an excellent vehicle for learning many if not all aspects of computer programming. It fact, it is generally agreed that games programming is one of the most demanding areas of programming since it involves the integration of a wide range of high level skills and techniques into one single product. During these modules students study topics such as the structure and organisation of a games program, the internal structure and organisation of the console and the tools necessary to create and import media content for games. By the end of the second year students will understand how consoles are structured and organised and the methods and techniques that are necessary in order to program consoles effectively. Students are exposed to many programming techniques including high level program structure and organisation in C++ classes, through to low level CPU and Vector Unit assembly language.
Students entering the third year have a solid grounding in computer architecture and programming and it is from this background that the PlayStation2 is used to introduce issues surrounding the design and construction of a 3D game engine. During second year, student were exposed to game engines through the use of high level 3D APIs such as OpenGL and DirectX, this mainly being in the context of high level API programming. The PlayStation2 programming theme in the third year is 3D game engine design but at a low level of abstraction. Students will develop and use the mathematical routines that are necessary for implementing a 3D engine and generate code that will interact directly with 3D console hardware such as the vector units. By the end of the third year students will have created a small prototype 3D game engine and will understand the structure, organisation and use of modern 3D game engines that are developed and used by commercial games companies.
Students also undertake a Group project in the third year of the course where they work up a proposal for the design and construction of a prototype game. Students are free to choose an implementation platform for this product and the PlayStation2 Linux kit is an ideal choice for this work.
40% of the fourth and final year of the course constitutes a major Honours project where students propose, undertake and evaluate a research topic which is current within the games industry. Once again, the Playstation2 Linux kit can be an ideal platform for this purpose. The kit provides a current console which can be used for testing and evaluating, algorithms, techniques and ideas.
One final theme that the PlayStation2 Linux kit is well suited to exposing within Computer Science courses is that of network programming and gaming. The Playstation2 Linux kit is supplied with a 10/100 Base-T Ethernet interface network adaptor and a Linux operating system with full network support. Under Linux, the Berkeley Sockets API provides access to the TCP/IP protocol suite that is the backbone of the internet. The PlayStation2 Linux kit can therefore be used in the teaching of network theory and practice and more specifically in the design and implementation of network computer games. Using the kit it is possible for students to design and create network enabled computer games which have global access through the internet.
This final section describes the development configuration implemented within the PlayStation2 teaching laboratory at Abertay. Figure 1 shows a view of the laboratory consisting of 20 development stations with the inset showing the plaque unveiled by Paul Holman, Vice President of Technology SCEE, during the opening ceremony on 9th June 2003. A close-up picture and a schematic diagram of one of the development stations is shown in figures 2 and 3 respectively.
Each station consists of the following equipment: PlayStation2 with Linux kit, Windows PC, two PS2 controllers, dual input LCD monitor, keyboard, mouse, television and a peripheral connection box. The dual input LCD monitor is used to display the video output from either the PC or the PlayStation2. The single keyboard and mouse are switchable between the PC and the PS2 using a commercial interconnection box and suitable leads. Both the PC and the PS2 are connect to the University fast Ethernet network and communicate via the TCP/IP and Server Message Block protocols. Output from the PlayStation2 can be directed to the television when required. This arrangement significantly reduces the amount of equipment needed per station and maximised the utilisation of the laboratory.
Students are free to select a development method that is comfortable for them, but an arrangement found to be successful is as follows. The Linux file system is made available to the PC via a Samba server running on the PS2. Files on the PS2 can be created and edited using a suitable text editor (such as UltraEdit or Visual Studio) running on the PC. From either a Telnet or SSH session from the PC to the PS2, programs can be compiled and executed on the PS2 with graphics output being directed to either the LCD monitor or the television. Debug output from the program is sent via the Telnet/SSH session to a console window on the PC. Students can backup their files to the main University file servers making this arrangement a robust, effective and secure development environment.
This article has demonstrated how the PlayStation2 Linux kit can be applied to teaching and learning on a wide range of topics within Computer Science and Computer Games Technology courses. In practice, the kit has been found to be highly motivational for students and is an invaluable tool for the in-context teaching of Computer Games Technology.
It should be stresses that this article only describes the components of the Abertay course that relate to console game programming.
Lecturer in Computer Games Technology
University of Abertay Dundee