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
Scotland UK
07 February 2004