Bachelor of Science Degree in Game Design & Development
This Program is accredited by the MFHEA
Degree Overview for Game Development
A career in video games industry is not only entertaining but also rewarding. AUM’s Game Development degree program is intended for people interested in game programming at the highest level, including computer science and graphic professionals that wish to retool for the game industry. The program provides the knowledge of how to use and combine powerful multimedia platforms and animation techniques to implement the designer’s vision into complex virtual realities.
Admission to any AUM level 6 programs will be based on the following criteria:
- Completion of application.
- Submission of official transcripts showing that the student will have successfully completed a course of study of MQF level 4 (e.g. US or international high school or equivalent course of study) by the time he or she enrols at AUM.
- High school or MQF level 5 course of study GPA (minimum GPA required 2.5 out of 4.0).
- Personal essay, addressing personal goals and expectations.
- Scores on standardised test (ACT and/or SAT). AUM may consider eliminating this requirement moving forward, once a substantial body of faculty has been established.
4 years / Full-Time.
GPA needed to earn the degree:
2.0 or higher
Credits needed to earn the degree:
134 US credists / 268 ECTS
MQF Level 6
Overall Course Objectives
OVERALL COURSE OBJECTIVES
Game development isn’t a stand-alone program; rather, it is made up of intersecting, complementary disciplines. Students will be exposed to:
- software engineering,
- computer graphics,
- artificial intelligence,
- software architecture
Covering both emerging trends and proven knowledge, the program’s content is always relevant and current. This “best of both worlds” combination allows students to understand the connection between realized applied systems and issues they’ll likely face professionally in years to come.
Students will become proficient with real-time C++ Programming Language.
- Students will demonstrate programming language C++ concepts: class invocation, overloaded operators, STL containers, pointers and templates.
- Students will demonstrate understanding of optimized C++ programming techniques such as data caching, SIMD instructions, return value
optimization, proxy objects and implicit conversions.
Student will be able to design and implement real-time networking for Games.
- Students will demonstrate serialization of game data transmission by TCP/UDP socket programming.
- Students will demonstrate bandwidth compensation techniques for slow and intermittent network connection using dead-reckoning estimation technique.
- Students will create deterministic data driven flow in game applications.
- Students will be able to create and design software architecture systems using Design Patterns technique.
- Students will demonstrate the ability to identity design patterns used in a program and be able to select an appropriate design pattern to apply to a given problem.
- Students will demonstrate the ability to design/implement a system using one or more design patterns.
- Such as Factory, Singleton, Observer, Flyweight, Null Object, State, Commander, Composite, Iterator, Object Pool, Visitor and Strategy Patterns
- Students will demonstrate the ability to communicate software designs using UML diagrams.
Student will understand real-time polygonal video Graphics.
- Students will demonstrate a thorough understand of real-time polygonal graphics covering backface culling, camera, texturing, lighting, and transformations.
- Students will be able to use 3D Math (Matrix and Vector) and collision primitives to solve Graphics and simulations problems.
- Students will be able to implement an efficient graphics rendering system using data friendly buffers, such as Vertex Buffer Objects.
Students will be able to design and implement a real-time Game Engine.
- Students will demonstrate the ability to design/implement an end-to-end game engine, include game system libraries and full graphics pipeline.
- Students will demonstrate the ability to design/implement real-time game system components such as Memory, File, Object, Graphics and Math.
- Students will demonstrate the ability to create asset conversion tools for 3D models and animations.
- Students will demonstrate the ability to design/implement a 3D keyframe animation system.
Students will be able to develop software projects in a local and global environment.
- Students will demonstrate understanding issues relating to geographic, time related, cultural, economic and management issues of global software development.
- Students should understand Global software project management, including scheduling, estimating, coordinating, and monitoring of global
- Students will understand culturally based leadership and conflict resolutions with direct and indirect reporting.
- Students will be able to coordinate and communicate with distributed developers through asynchronous communication.
- Students will be able to evaluated and implement different software project management models such as Agile, SCRUM, Test-Driven
development and Waterfall.
- Students should able to use Software configuration management (SCM), including version control usage in a large scale project, including merging, branching, release and bug tracking.
Students will be able understand fundamentals of computer science
- Interpret the informal description of an algorithm and translate the description to a program and write tests to determine whether a program
solves the intended problem.
- Analytically determine the running time of a program and validate the analysis experimentally; select an appropriate combinatoric or statistical
technique to solve an analytic problem; analyze and select an algorithm based on systems effects.
- Solve a specific problem by using proper object oriented techniques and selecting appropriate data structures and algorithms and customize them
to the problem.
- Correlate the input of a compiler and its assembly language output.
- Criticize a program on the basis of its maintainability and suggest
improvements; interpret new APIs and use them in developing computer applications.
Students will be able to participate in the game development process from initial concept to finished product
- Understand game mechanics: Determining how specific play mechanics will be perceived by the player.
- Understanding of the Game Narrative design: Creating the individual narrative experience
- Design and constructing 3D levels in a Game Engine.
- Script and program behavior of interactive objects and characters in a level.
- Combining the editor and programmatic controls (scripting, software) to control behavior.
- Work in a collaborative team environment: Design, prototyping, recursive development.
- Modify or extend an existing 3D game level for effect.
- Collaborate with a team to develop a medium size computer game from ideation to implementation
- Be responsible for planning, and implementing a medium size computer game
- Create all necessary components of a medium size computer game
Learning Outcomes for Communication Skills for the whole course,
The learner will be able to:
- Discuss game development issues within a structured team.
- Effectively communicate project needs within multicultural and diverse development teams.
- Effectively document in writing one’s own coding.
- Effectively communicate with team members utilizing asynchronous tools.
- Articulate orally and in writing the main issues involved in global software development
Learning Outcomes for Learning Skills for the whole course,
The learner will be able to:
- Proceed to graduate work in game development
- Study independently new emerging game related technologies, using the frameworks and tools acquired in the program
General Pedagogical Methods used for this Program
In general, the game development program addresses the real-world needs of industry through special, topic-based classes. Courses are taught with a mixture of theory and applied practice.
However, pedagogical approaches vary substantially form module to module and are described in detail in the description of each module.
GENERAL ASSESSMENT POLICY AND PROCEDURE
Students are required to maintain a minimum GPA of 2.0 throughout the course. Failure to maintain such standard results in academic probation.
A student in academic probation can continue to enrol in new modules for two semesters, while the student is strongly encouraged to retake modules in which grades were unsatisfactory. If the GPA does not reach the required threshold after two semesters of academic probation, the student may be dismissed from the program.
Students are required to obtain a grade of C- or better in each of the course modules outside of the General Education Component. If a student receives a grade below C-, the students must retake the module in order to graduate.
Assessment procedures vary substantially form module to module and are described in detail in the description of each module.
RELATIONSHIP TO OCCUPATION/S
- Telecommunications engineering
- Computer science engineering
- Consumer electronics engineering
- Electronics circuit design engineering
- Electronics test and maintenance engineering
- Electronics and communications research engineering
COURSE STRUCTURE SAMPLE