• No results found

Bachelor of Software Engineering (Game Programming)

N/A
N/A
Protected

Academic year: 2021

Share "Bachelor of Software Engineering (Game Programming)"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

The Bachelor of Software

Engineering is a three year

program which gives graduates

the skills to be employed

as a Software Engineer with

a particular focus in Game

Programming. The aim of

this qualification is to provide

graduates with a highly

developed skill-set in Software

Engineering, as well as a

strong command of specialised

technical and scholastic

knowledge. Game Programming

and Game Development are

the two areas of Software

Engineering that receive primary

focus.

In the first year curriculum,

students are taught the

essential theories, principles,

and knowledge needed for

Game Programming and Game

Development. This includes an

overview of C++ programming

and practical mathematical skills.

Students also gain experience

constructing, testing, and

debugging simple computer

games. This gives them a

comprehensive foundation on

which to develop the knowledge

and skills that are taught in the

second year.

Theories and

the depth of knowledge that

is studied become significantly

more complex in the second year

curriculum. More fundamental

techniques that were not

covered previously are looked

at also. Students consider the

management strategies that they

will need to take in preparation

for the collaborative game

production in the third year.

The third year curriculum

focuses primarily on creating a

major game production. This

production is a chance for

students to apply all of the skills

and knowledge that they have

learned. Students also create

a post-mortem to identify the

strengths and weaknesses

that they encounter during

the production process. This

experience as a whole gives

students sufficient knowledge

and skills to become a

professional and valued member

in the industry, or to enter

postgraduate study.

Bachelor of

Software Engineering

(Game Programming)

(2)

GD1P01:

INTRODUCTION

TO SOFTWARE ENGINEERING FOR

GAMES

LEVEL 5 | CREDITS: 16

---Students learn how to construct, test, and debug simple computer games. They begin by solving easy problem-based tasks with C++ programming. Lecturers provide modern theoretical perspectives and demonstrate approaches to the tasks with examples. When students have mastered basic programming skills they move on to constructing simple games. Students are given a brief to create a text-based game using the skills and knowledge that they have gained in this component.

GD1M01:

FUNDAMENTAL

MATHEMATICAL AND

ENGINEERING PRINCIPLES

LEVEL 5 | CREDITS: 12

---Mathematics is a fundamental building block of game development. Core mathematical skills that are needed for solving games problems are taught, and then built on throughout this component. The mathematical games problems become increasingly complex, so the teaching approach is to use gaming analogies wherever possible to explain mathematical concepts. Teaching generally consists of theoretical elements, a demonstration, and then the lecturers allow students to put these skills into practice. The students collaborate and share mathematical problem-solving approaches during frequent in-class discussions, and are expected to provide these solutions for class reviews.

GD1P02:

ALGORITHMS

AND DATA STRUCTURES

LEVEL 5 | CREDITS: 8

---Students learn the fundamental data structures and algorithms that are needed to solve common gaming problems. Wherever possible, lecturers show examples of data structures and algorithms, and use analogies to explain. Students improve their learning throughout this component by working on a large number of projects. They will solve common gaming problems by designing, developing, implementing, testing, and enhancing a collection of data structures and algorithms.

GD1S01:

THEORETICAL

AND PHILOSOPHICAL

FOUNDATIONS OF SOFTWARE

ENGINEERING

LEVEL 5 | CREDITS: 12

---Software engineering is introduced from the perspective of the Institute of Electrical and Electronic Engineers (IEEE) and the Software Engineering Body of Knowledge (SWEBOK). Students will also learn how SWEBOK relates to the Project Management Body of Knowledge (PMBOK), which is a project management guide and an internationally recognised standard. PMBOK the fundamentals of project management for construction, software, engineering, and automotive. These theories and concepts will be examined in greater detail throughout other components. Students are also introduced to elements of software engineering professional practice, ethics, issues, and professional dilemmas.

GD1M02:

MATHEMATICS

FOR GRAPHICAL GAMES

LEVEL 5 | CREDITS: 12

---Students learn how to construct

mathematical solutions to common gaming problems. They design, develop, test, and enhance a game that requires a significant degree of mathematics. Trigonometry is used to solve problems for 2D games, and as students progress they solve more advanced 2D physics problems. Software engineering models and notations are used to represent mathematical problems, and students learn to write these for all mathematical code. The more challenging problems are solved as a team, and in-class discussions assist students in their understanding of the concepts.

GD1P03:

2D GAME

PROGRAMMING

LEVEL 5 | CREDITS: 12

---More advanced programming concepts are introduced. This includes a rudimentary introduction to user-interface design and software engineering management methods. Students follow a predetermined plan and track their progress throughout this component. The experience that they gain here will assist in the development of future projects. Teaching approaches incorporate theoretical lectures and practical project-based learning. Lecturers provide game frameworks for students to read and understand, which they follow to solve progressively more complex problems. Ultimately students will develop simple games with effective user-interface design strategies.

Year One

Components

GD1P04:

3D GRAPHICS

PROGRAMMING

LEVEL 5 | CREDITS: 28

---Students are introduced to 3D graphics programming using the fixed function rendering pipeline. This includes topics such as the transformation pipeline, device states, primitive rendering, basic camera systems, lighting, texturing, alpha techniques as well as software engineering design principles and testing strategies.

GD1J01:

GAME DESIGN

PRINCIPLES

LEVEL 5 | CREDITS: 12

---Students learn to analyse games from a non-technical viewpoint as well as getting an overview of social issues and the role of ethics. They learn about various target platforms that support games and to identify real-world game design problems. Lecturers teach this with in-class demonstrations and lectures of design and game design principles. The class collaborates to produce a game design document that justifies decisions made across a broad range of design and game design elements. This document will be used to assist in the development of the Mini Project I.

GD1J02:

GAME MINI

PROJECT I

LEVEL 6 | CREDITS: 28

---Student teams of Artists and Programmers work together to plan, manage, design, develop, test, and enhance a moderately complex 3D game with a project management strategy based on PMBOK or SWEBOK specifications. This project requires the Game Design Document created earlier. Students develop more management autonomy and greater understanding of tools and techniques to create effective productions. Lecturers assist students to overcome technical problems and interpersonal problems as they arise, but the aim is to the class like a game studio environment. This approach allows students to gain more knowledge of their colleagues’ requirements.

(3)

GD2S01:

SOFTWARE

ENGINEERING PRINCIPLES AND

PRACTICES

LEVEL 6 | CREDITS: 12

---Students produce game management approaches for simple projects using the PMBOK framework. The knowledge that they gain in this component will be applied to produce and manage their second year project. Lecturers present a range of software project management methodologies and contemporary methods, as well as effective/ineffective planning and effective/ineffective management examples (using case studies). Students learn to separate project management considerations from the wider context of game development. They will be given Game Design and Technical Design documents to review in terms of project management, task allocations, stakeholders, roles and responsibilities.

GD2S02:

SOFTWARE

ENGINEERING FOR GAMES

LEVEL 6 | CREDITS: 12

---New concepts build on students’ knowledge and skills in software engineering. Students learn a theoretical modelling system for formal analysis of correctness and quality. They also learn about software product assurance and experiment with a variety of product assurance strategies. For each defect, students ascertain the cause and attempt to prevent similar scenarios in future projects. Once they have enough experience, students create defect prevention strategies for a sizeable project. The economics of software development will be considered too. Students solve problems in multiple ways to ascertain the value and cost implications of various strategies.

GD2S03:

ADVANCED

SOFTWARE ENGINEERING AND

PROGRAMMING FOR GAMES

LEVEL 6 | CREDITS: 16

---This component teaches students how to create a collection of game asset tools for artists and development teams. Lecturers provide theoretical and practical examples of hardware and software technologies for the speedier development of games. Contemporary technologies are used and student learning is facilitated with in-class debates regarding the usefulness of each technology. Students will design, construct, test, evaluate, and enhance an integrated game asset export-tool for use by non-programmers. Then they evaluate

their own software development processes and implementations with widely accepted software engineering principles and practice.

GD2P01:

ARTIFICIAL

INTELLIGENCE

LEVEL 6 | CREDITS: 12

---In this component students learn to build artificial intelligence systems for games. They evaluate and discuss various software engineering strategies, chiefly by identifying the strengths and weaknesses of each strategy. This teaches students how to identify the right tool for the right job. Lecturers provide case studies and theoretical foundations of various contemporary software engineering practices. They also facilitate in-class discussions, debates and critiques of the contemporary software engineering practices. Learning is achieved through debating how real world problems should be approached.

GD2P02:

PHYSICS

PROGRAMMING

LEVEL 6 | CREDITS: 12

---A variety of additional technologies for game development are taught, and students apply their software process skills, knowledge and modelling techniques to create a simple physics system for a game. Fundamental techniques include, among others, how to apply Newtonian physics for game development; using vectors and matrices to perform 3D transforms; evaluating and applying various collision detection techniques; analysing hardware implementation of arithmetic logic units; and using modelling principles for deterministic physics functions. After students have constructed their physics system, they will then reflect on the usefulness (or otherwise) of the software strategies.

GD2P03:

T

ECHNOLOGY

LEVERAGE FOR GAMES

LEVEL 6 | CREDITS: 16

---A broad range of useful game development technologies are examined in-depth. An existing game framework will be used for students to practice solving simple and complex gaming problems. Students draw on the range of technologies that they are taught in order to implement, present, and justify a collection of technological solutions to gaming problems. They also reflect on the implications of developing software systems with legacy systems and prebuilt assets, and they will integrate these into their implementations as well.

Year Two

Components

GD2P04:

ADVANCED

GRAPHICAL GAMES

PROGRAMMING

LEVEL 6 | CREDITS: 20

---Complex graphical programming topics are explored, and tool construction is introduced. The analysis requirements for tools are discussed to increase the likelihood of designing a useful tool. Students expand on already existing libraries and create plug-ins for pre-existing technologies. This will become progressively more complex and time-consuming as the course progresses. Additionally, students will design, construct, test, and evaluate a 3D scene - drawing on a collection of human-computer interaction, visual design, and game design elements to enhance it. Visual and non-visual elements that enable the creation of the 3D scene are evaluated.

GD2J01:

PEOPLE AND

GAMES

LEVEL 6 | CREDITS: 12

---Examines the non-technical, human issues (societal and cultural) of the game industry. A history of the game development industry is taught, which students critically analyse from a historic and contemporary perspective. Lecturers provide theoretical and conceptual frameworks for game design and investigation. In-class discussions are held around game design and technical limitations, with students debating their ideas and defending their decisions. Students’ abilities to identify key design features will improve, which is used in later components when students propose design features for games.

GD2J03:

GAME MINI

PROJECT II

LEVEL 7 | CREDITS: 28

---Students’ skills and knowledge are used to plan, produce, test, enhance and manage a group 3D game that can be exhibited in a public forum. Self-managing this project with an effective software engineering strategy will enhance students’ design and management skills. In a post-mortem of findings, students reflect on their performance from a variety of software engineering perspectives, including software design, project management, software processes, bug tracking, etc.

(4)

GD3S01:

SOFTWARE

ENGINEERING CAPSTONE

PROJECT

LEVEL 7 | CREDITS: 20

---This project is undertaken at the same time as the production components. Students draw on their production experience to investigate specific software engineering areas of interest. They may also study the interaction between software engineering and its associated disciplines (e.g. computer science, management, mathematics, and systems engineering). A broad range of software engineering principles and practices inform the development of a major project. This gives students the opportunity to integrate much of the material they have learned into a significant project experience. In a post-mortem of findings, students will reflect on their philosophy and approach.

GD3S02:

SOFTWARE

ENGINEERING GAME

DEVELOPMENT CAPSTONE

PROJECT

LEVEL 7 | CREDITS: 20

---This project is undertaken at the same time as the production components. Students select areas of game development to specialize in to enhance the project production. They may select more than one specialization in an area of game development (e.g. game design, game play, mathematical programming, 3D programming, and artificial intelligence programming). The collaborative project will therefore be supported by a broad, well-informed knowledge base. Students evaluate, interpret, and appraise the game development theories and concepts of their chosen field, and produce a synopsis of major game development theories.

GD3P01:

GD3P01: GAME

ENGINE DEVELOPMENT

LEVEL 7 | CREDITS: 16

---Student teams design and develop a game engine collaboratively to facilitate the development of their own game concepts. The game engine must include audio elements, particle systems, and visual effects elements. Re-using elements of work from earlier course components is encouraged, as it speeds up construction (and is an accepted norm in the industry). However lecturers will not recommend this if it impacts on game performance or hinders learning. Students' learning is now advanced significantly to the point where they can start specializing in areas of their own choosing.

GD3J01:

PROFESSIONAL

PRACTICE

LEVEL 6 | CREDITS: 12

---Students acquire the knowledge, skills, and strategies to undertake a collaborative production that is based on sound management theories and advice. They will use creative and critical thinking methodologies to form a production investigation. Students are taught to plan and manage a project through to completion using project management methods. In the process, they gain commercial acumen and understanding of business realities. There is an emphasis on personal responsibility during production because the knowledge, skills and attitudes that are developed are aimed at assisting postgraduate study.

GD3J02:

PREPRODUCTION

LEVEL 7 | CREDITS: 16

---Students produce a more comprehensive version of design documents for the production of a game. This enhances their skills in the areas of industry procedures and game design principles. Learning of previous materials is drawn on and students will debate and justify the contents of their design documents. Lecturers act as producer and assist in the solution of team dynamic problems when needed. Students should now possess all the skills, knowledge and abilities to undertake this component alone. Assistance is primarily provided to ensure the game is produced within the set timeframe.

GD3J03:

GAME

DEVELOPMENT TEAM

PRODUCTION ALPHA

LEVEL 7 | CREDITS: 20

---Students collaborate on a major production, with individuals specialising in their chosen areas of game development and software engineering. They manage, produce, test and enhance a game that matches an agreed specification and design; the game must demonstrate major in-game functionality. Individual students document their investigatory findings for major problems. This learning gives students the investigatory skills and knowledge necessary for higher study. Again, students are expected to possess the necessary skills to undertake this component on their own.

Year Three

Components

GD3J04:

GAME

DEVELOPMENT TEAM

PRODUCTION BETA

LEVEL 7 | CREDITS: 16

---This is the final phase of the collaborative production. The feature-complete game will be finished to the agreed specification, ready for open testing. By the end of this component, students will have acquired the tacit knowledge to become pragmatic problem-solvers by applying knowledge from all aspects of this programme. Individuals will gain explicit skills-based knowledge in their area of expertise by problem solving while honing the production to the final open testing phase.

GD3J05:

GAME

DEVELOPMENT TEAM

PRODUCTION GOLD

LEVEL 7 | CREDITS: 12

---Students produce a release-candidate game that has gone through several test cycles. In preparing the game for open testing a wide variety of problems need to be solved both individually and as a team. Identifying problems, investigating, discovering solutions, and testing possible solutions throughout the testing phase will enhance students' technical skills. The game will be feature complete and have no show-stopper bugs. During this production period, the environment is studio based, so students will be prepared for industry realities.

GD3J06:

POST

PRODUCTION

LEVEL 7 | CREDITS: 8

---Students produce a comprehensive post-mortem from their experiences during the full production cycle (that is, in the previous components: Preproduction, Alpha, Beta and Gold). The post-mortem reflects on individual and team performance, which in turn provides greater understanding of technical issues, individual work ethic, team work ethic, and team dynamics. Students identify strengths and weaknesses of the production process, and areas for improvement in future productions. They should now possess sufficient knowledge and skills to become a professional and valued member in the industry.

(5)

CONTACT

P:

+64 9 303 0402

F:

+64 9 303 0646

E:

info @mediadesignschool.com

---LOCATION DETAILS

---Media Design School

Media Design Centre

92 Albert St

Auckland

New Zealand

References

Related documents

Channel.When Channel Type is set to PDTCH and the cell does not support EDGE services, the default value is EGPRS Normal Channel.When Channel Type is set to PDTCH and the cell

Similarly, Figure 3 displays the evolution of averaged employment growth from REC–3 to REC + 3 for DV and EM countries and results point to strongly signif- icant

Should Purchaser sell the Practice to any third party, for any reason following the Closing Date, then Seller agrees that Purchaser shall have the right to assign Seller's

For example, the above hedge portfolio that is long stocks with high volatility spreads and short stocks with low volatility spreads earns a weekly value- weighted abnormal return

The authors gratefully acknowledge the contribution made by the sta€ of the National Rehabilitation Centre, the St Giles Medical Rehabilitation Centre, The Cheshire Homes,

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and

The first, in Chapters 4-6, presents studies characterising the psy- chological and neural effects of changes in decision criteria during human perceptual decision-making