Bachelor of Software Engineering (Game Programming)

Ready to become the games industry rock star?

When becoming a Game Programmer, you’ll learn best while doing. You’ll code, you’ll craft and, in the end, you’ll graduate with a portfolio like no other.

Thanks to the partnership with Sony Computer Entertainment Europe (SCEE), you will develop games for PlayStation® platform through the PlayStation® First Academic Development Program. You will learn C++ and other coding languages and work with Unity and Unreal – the two main engines for game development. By the time you are ready to graduate, you will have collaborated with fellow programmers and game artists to create a commercially viable game.

A game programmer is a specialist software engineer who develops solutions and computer programs to activate computer game interaction. In essence, programming is the math and logic that makes the game happen. This may include Artificial Intelligence programming, engine programming, tools programming, mathematics and physics programming, and network programming or graphics programming.

The Bachelor of Software Engineering (Game Programming) blends academic theory, research, and practice with advanced programming skills as applied in the game development industry. Throughout the course the integration of theory and hands-on practice through to industry-standard productions will complement the development of investigative skills, and analytical, creative and critical approaches to problem solving. In addition to practical skills, knowledge and design capability, the Bachelor of Software Engineering (Game Programming) also has a holistic approach to developing your individual attributes and abilities in ‘soft skills’ such as communication, commercial acumen, and understanding of business realities.

This course was designed collaboratively with subject matter experts from Media Design School (Auckland, New Zealand), one of the top 3 digital design schools in the world.

CRICOS CODE
093341J

Key Study Outcomes:

About the School

This course is provided by Media Design School at Torrens University Australia. RTO 41343 CRICOS 03389E

Read more about Media Design School

Media Design School

Course Delivery

Can’t find what you’re looking for? Contact a Course Advisor

Workload and Assessment

No. of timetabled hours per week:

Each subject involves 10 hours of study per week, comprising 3 hours of facilitated study and 7 hours self-directed study.

Typical assessment includes:

Practical assignments, research projects, presentations.

Subject Information

Students are introduced to an object oriented programming language and when they have mastered basic programming skills they move on to constructing simple projects. They begin by solving easy problem-based tasks with OOP and progress on to learn how to construct, test, and debug simple programs. Lecturers provide modern theoretical perspectives and demonstrate approaches to the tasks with examples.

This subject introduces students to foundational mathematical concepts necessary for specialisation subjects in their degree. Main topics covered are – Linear Algebra, Discrete Maths and Geometry. The delivery 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.

Students learn the fundamental data structures and algorithms that are needed to solve common software engineering problems. Lecturers show examples of data structures and algorithms, and use analogies to explain. Students improve their learning throughout this subject by working on a large number of projects. They solve common problems by designing, developing, implementing, testing, and enhancing a collection of data structures and algorithms.

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. Analytic geometry, matrices, transformations, quaternions, fractals, curves and splines as taught to cover the entire spectrum for 3D games. Software engineering models and notations are used to represent mathematical problems and students learn to write these for all mathematical code. Mathematics used in 3D games are introduced (vectors and matrices) and the more challenging mathematical problems are solved as a team. Lecturers encourage in-class discussions to assist students in their understanding of the concepts.

In this subject advanced programming concepts are introduced including a rudimentary introduction to user-interface design and software engineering management methods. Students follow a predetermined plan and track their progress throughout this subject. 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 2D games with effective user-interface design strategies.

Game Design Principles introduces students to game design foundations, techniques and paradigms through a series of lecture-led and student-led activities. Students will explore game design principles through the analysis of existing game artefacts, applying those findings to the development of their own games. Students are introduced to a variety of analysis, development and presentation techniques encouraging discussion, creation and dissemination of their design choices through prototyping and documentation.

Students are introduced to the fundamental topics of core computer graphics, 3D graphics programming and the rendering pipeline. Topics included are the transformation pipeline, device states, primitive rendering, basic camera systems, lighting, texturing, alpha techniques as well as software engineering design principles and testing strategies. By the end of the subject, students create a game utilizing 3D graphics concepts as introduced in the class.

This subject introduces students to core concepts of Networking and Database Systems. Students learn fundamentals of DBMS and network topology including network architecture. They are introduced to various database models at the same time being exposed to networking layers and protocols. By the end of the subject they will create an artefact (in the form of a simulated program) that utilises networking and database skills learnt.

This subject teaches students fundamental concepts of computer architecture and operating systems. Students learn the evolution of computer architecture and related operating systems. It includes computer architectures and their implications to system software design (booting, multitasking, context switching, process synchronization, system kernel, system calls, user mode process and system startup programs).

The goal of this subject is to provide the students with an opportunity to collaborate on a series of projects, enhance collaborative skills working within a team of people across multiple disciplines. Additionally, the assignments in this subject will challenge the student in finding creative solutions to project management and small scale rapid game creation. Students will be asked to create various 3D game prototypes over the duration of the subject and present their work. They will work within a group that will involve Bachelor of Software Engineering students. This will introduce team dynamics where multiple disciplines are involved.

In this subject, students learn to build artificial intelligence & physics systems for games. They evaluate and discuss various software engineering strategies in the context of artificial intelligence and physics, 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 technical solutions. They also facilitate in-class discussions, debates and critiques. A variety of technologies and software development strategies for game development are taught, and students apply their software process skills, knowledge and modelling techniques to create an artefact in the form of a game that has heavy AI and Physics elements.

This subject provides specialised familiarity on Sony’s PlayStation platform, namely PS4 and PS Vita. Students learn about the architecture and pipelines of these two systems. They learn the proprietary PhyreEngine and learn optimised game development techniques for the PlayStation platform. Students will conclude this subject by creating an optimized artefact for the PlayStation platform.

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. 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.

Students will be offered the opportunity to work within a professional design studio experience for an extended period of time. It encourages students to build long-term relationships with the design industry and exposes them to the rigour of applied design practice while building their confidence in adapting to new environments. It also provides a context in which to enhance their communication skills and work collaboratively in a professional arena. Students will be matched to an appropriate mentor at the placement site and monitored by an academic in the discipline of study.

The theoretical base of this subject focuses on developing the students’ understanding of the fundamental contemporary theories of social entrepreneurship and a variety of applicable business models. The course will explore cross discipline material encompassing design, business and technology and how to acquire and combine knowledge and skills in all 3 areas to amplify the potential for success in 21st century society. At the core of this subject will be a focus on customer experience design, both theory and skill, and why user centric principles are increasingly used in business today.

Students will explore the application of entrepreneurship business strategies and apply this knowledge in a philanthropic context and come up with solution to a real world problem they can execute to the pitch ready stage for investment. The project will entail some type of ‘design for good’ aspect in either a profit or non- for-profit business model.

Students will be expected to think critically as they evaluate complex ideas and learn the patterns, frameworks and mechanics or storytelling, behavior design, game design and platform design.

Students will be expected to:

  • Students will banalyse a social problem that needs to be solved
  • Plan and progress an idea through a business development lifecycle
  • Plan and progress an idea through a buutilising a self-constructed questionnaire
  • sSynthesise and visualise quantitative and qualitative data in order to communicate the patterns they discover in the data collected
  • learning the basics of using a business model and value proposition canvas as tools for design
  • Create, present, and communicate a professional-level business deck along with a functional prototype in order to demonstrate their understanding of theoretical and practical concepts
  • Learn and practice lean start-up and design thinking principles in the validation of their business idea along with validation of the prototype for the product or service they create.

Production provides the framework to allow iteration on the team’s design from Pre-Production (PPR301). The team will need to work efficiently and adhere to a schedule to be successful in this subject. The quality of the implementation, and the development processes undertaken will affect the final grade. Students will utilise the best practices learnt during the course.

This subject gives the students the ability to refine, bug fix, and promote their projects, both internally and externally.

Pre-Production focuses on the skills and abilities required to formulate a group and manage the pre-production of a game development project. Areas of attention will be creative thinking and project scope. The team goal is to reach and agree upon an understanding of the strength and weakness of their chosen team. The said team will decide on the game they choose to develop. The team needs to be able to communicate the project, idea and scope through presentation, documents and a playable prototype. The pre-production submissions are designed to gear the students towards the start of future productions.