Title: Software Engineering for Computer Games
1Software Engineering for Computer Games
- Introduction
- Course schedule
2Software engineering
- Application of engineering concepts to software
production design
3Software engineering
- Application of engineering concepts to software
production management
4Software engineering
- Application of engineering concepts to software
production budgeting - Application of engineering concepts to software
production quality control - Application of engineering concepts to software
production operations
5Learning software engineering
- There are at least three different approaches to
learn software engineering
6Learning software engineering
1
7Learning software engineering
- At least 180 hours attending courses on software
engineering and related issues, e.g. in four
specialised disciplines containing about 45 hours
in class each. - Good theoretical background and training
8Learning software engineering
2
9Learning software engineering
Self esteem
Classify SE as second class knowledge (when
compared e.g. with hard sciences)
Complete degree
Get job
Get lost
Get fired
Get drunk
Get back to school
10Learning software engineering
3
11Learning software engineering
- One semester (45 hours) this is what we get!
- Some theoretical material (attempting to optimise
balance between depth and coverage) - practical experience while still at the
university
12Learning software engineering
- Two parallel tracks
- Theoretical track lecture material software
engineering in general, focusing on software
construction. Textbook Steve McConnell. Code
Complete (2nd. edition). Microsoft Press. 2004. - Practical track project development, from start
to end.
13Learning software engineering
- Practical track team work to
- Build a software tool to help the development of
applications of a certain type - Build at least two different applications using
that tool
14Learning software engineering
- Practical track
- Teams 5 or 6 students
- Students in each team must organise themselves
and deliver the requested products of each
project phase obeying the corresponding deadlines
15Learning software engineering
- Theoretical track synchronised with practical
track, in order to provide the necessary
theoretical background for each phase of the
project.
16Learning software engineering
- Practical track deliveries
- Lecture 2 names of students in each group
- Lecture 6 requirements elicitation general
architecture allocation of tasks within group - Lecture 10 detailed architecture detailed
project management methodology
17Learning software engineering
- Practical track deliveries
- Lecture 16 unit testing
- Lecture 22 integration testing
- Lecture 26 applications
- Lecture 30 complete documentation of tool and
applications
18Learning software engineering
- What do computer games have to do with all this?
19Learning software engineering
- Answer the software tool to be built is a tool
to develop and implement computer games, namely a
Game Engine.
20Learning software engineering
- To keep things relatively simple, we will stick
to 2D game engines and games (a relevant issue in
itself, considering the expanding market of games
for mobile phones)