Game Development Fast Track

Game Programming Course
265 ratings

Crafted for QA/IT professionals eager for a career transition in game development. Upskill in Unity and programming patterns and work with gaming giants like Ubisoft, Sumo, Zynga and MPL.

Tailored for QA/IT professionals
Duration - 9 months
1-on-1 online mentorship
Download Brochure

124 Enrolments

Available Seats: 14

Statistic

2000+

Unique games built by learners

Statistic

95%

Graduation Rate

Statistic

150+

Hiring Partners

Statistic

+$25k

Avg. Salary Increase

Work 1 on 1 with game development mentors

Get the guidance you need to get a top job in game development. Mentors are professionals working at top game development studios

Who is this course for?

Experienced Game Developers

Game developers looking to switch to Unity Development

Working Professionals

QA, Testing, Software Development, and IT professionals aiming to pivot their careers to game development.

Entrepreneurs

Individuals interested in creating their own game development studios.

Skills you’ll gain

C++C#OOPsUnity Game EngineUnity Game Engine Advanced conceptsCode ArchitectureProgramming PatternsModel View ControllerObject PoolingObserver PatternState MachineSingleton2D3D

Designed to work with your schedule

Duration: 5 - 10 months based on your prior experience
Lifetime Access to the program's course content
Schedule weekly 1-on-1 mentor sessions with mentors
Unlimited async code reviews with senior developers
Active discord community for doubt solving
Dedicating six hours daily is recommended
Game console
Pencil

Complete Game Development Curriculum

Intro to Game development with C++ (4 weeks)
C++ Fundamentals - Text based adventure game(1 Week)
  • Make a text-based adventure game while learning the fundamentals of C++ and OOPs concepts
  • Data & Data Types - Get a complete understanding of different data types in C++ and the best scenarios to use them in programming
  • Size of Data Types - Learn how different data is stored in C++ by understanding the size of different data types
  • Functions - Make use of functions in C++ to avoid writing complete blocks of code again and again
  • Conditions and Operators - Start adding selection options in your game and program a complete game by using if-else conditions and operators in C++
  • Loops - Complete your game loop by using loops like for, while, and do-while in C++ programming
  • Basics of Classes & Objects - Understand the basics of Object Oriented programming by learning fundamental concepts of classes and objects
  • Constructors - Initialize your Objects by implementing constructors for the different classes that you program
C++ Intermediate (2 Weeks)
  • Learn SFML and Intermediate OOPs concepts by making a game complete with 2D art assets like Sprites and Textures
  • SFML Introduction - Get introduced to SFML (**Simple and Fast Multimedia Library) basics and how to use them for making games in C++**
  • Setting Up SFML - Set up SFML in your C++ program so you start importing art assets
  • Creating Game Window - Complete your setup by opening your project in a game window
  • Making a Game Loop - Make a playable game by completing your game loop
  • Textures, Sprites & UI in SFML - Import Textures, Sprites, and UI elements in your C++ SFML project
  • Movement & Collision Detection - Allow movement to your C++ project by making your character move and adding physics to your game by adding collisions
  • Animations in SFML - Add life to your player by learning how to add animations in SFML
  • Understand the fundamentals of Object Oriented Programming and start using them in your C++ project
  • Classes and Objects - Start implementing Object Oriented Programming in your game by setting up Classes and creating Objects using the same classes
  • Get a complete understanding of intermediate Object-oriented programming (OOPs) concepts in your game
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation
  • Pointers
  • Friend Function
  • Friend Class
  • Abstract Class
  • Interface
  • Constructors and types
  • Struct vs Class
  • Static variable keyword
  • Namespaces in C++
C++ Advanced -2D Brick Breaker Game (1 Week)
  • Learn advanced C++ concepts like memory management by making a Arkanoid style Brick Breaker Game
  • Exception Handling - Handle different errors that a player might run into in your game by getting a complete understanding of exceptions in C++
  • Learn the fundamentals of Memory Management in C++ and learn how to make the best use of memory in your Brick Breaker game
  • Memory Management in C++
  • Memory Allocation
  • Memory Deallocation
  • Memory Leaks
  • Learn how to use memory allocated to different classes by understanding the fundamentals of pointers completely
  • Pointers
  • Smart Pointers
  • Types of Smart Pointers
  • Use the C++ Standard Template Library (STL) and learn how to make template classes of your own
  • Templates
  • Iterators
  • STL in C++
  • Learn how to find issues in your game by understanding how to find issues in your project in Visual Studio
  • Debugging
  • File Management
Game Development with Unity (3 weeks)
Unity Fundamentals - Mr.Blocks Game (1 Week)
  • Learn C# and Unity fundamentals by building a block-style 2D Mr.Blocks game
  • Setup Unity using the Unity Hub and setup your project environment
  • Learn the fundamentals of Memory Management in C++ and learn how to make the best use of memory in your Brick Breaker game
  • Downloading & Installing Unity
  • Downloading & Installing VS Community
  • Creating a Project in Unity
  • Familiarize yourself with Unity fundamentals and learn how to use the various components of Unity to start building your game
  • Game Objects
  • Components
  • Transform
  • Learn the basics of C# and how to use it to script different behaviors in your game
  • C# Scripting
  • Unity Mono Behaviour Lifecycle Methods
  • Serialized Fields
  • Walk through the different tools that Unity gives you to set different fundamental components in the game.
  • Add UI to your game by adding buttons, start screens along with different texts
  • Layout Overview
  • Basics of UI
  • Unity Canvas
  • Event System
  • Buttons
  • Text
  • Text Mesh Pro
  • Anchoring
  • Add music and sounds to your Mr. blocks game and learn how to trigger the same using C# in Unity
  • Learn how to make different scenes in your game and the scenarios in which you should use them using Unity’s Scene Management tools.
  • Add movement to your player and create designated play areas using walls by using Unity’s 2D Physics system
  • 2D Physics
  • RigidBody
  • Triggers
  • Colliders
  • Add polish to your game by using Unity’s particle systems to add collision effects, etc.
  • Create a playable game build in Unity that you can share with others so they can play the game
  • Creating a game (Mr. Blocks)
  • Making a build
Unity Intermediate - 2D platformer Game (2 Weeks)
  • Learn Intermediate Unity concepts while making a 2D platformer game
  • Unity Prefabs and Variants - Use Unity Prefabs and Variants to create multiple types of platforms which in turn will help you build levels
  • Add complex physics to your 2D platformer by using intermediate 2D Physics concepts
  • Collision Matrix
  • Types of Rigid Bodies
  • Raycasts
  • Understand the complete Unity script execution order and the different scenarios in which Unity’s internal C# functions can be used
  • Fixed Update
  • Time.deltaTime
  • Time.fixedDeltaTime
  • Time.timescale
  • Add 2D animation to your game by animation to your player using sprites and spritesheets, and manage different animation states of the player like Jump, Crouch, Attack, etc.
  • Sprite sheet Animations
  • Slicing a Sprite Sheet
  • Mecanim
  • Animation States
  • Animation Transitions
  • Animator Controller
  • Simple Enemy AI - Add enemies to your game that will cause damage to the player by making a simple patrolling Enemy AI
  • Tilemaps - Use Unity’s tilemaps to quickly make multiple levels in the game
  • Intermediate UI concepts - Handle complex device resolutions completely by using Unity’s intermediate-level UI tools
  • Layout Groups
  • Scaling for any device/resolution
  • Different UI Controllers instead of one UIManager
  • Coroutines - Use Coroutines to suspend the execution of a function. Ex Delay in the game
  • Player Prefs - Save player preferences locally ex. Settings in the game using Player Prefs
  • Saving and Loading the game - Save player progress ex. Levels Completed when user closes the game and load the same when user comes back to the game
Unity Advanced - 3D Game (2 Weeks)
  • Make a 3D game as you learn advanced game development concepts like 3D Math and Advanced Unity Concepts used for optimisation
  • Setup
  • 3D Character Movement - Setup character movement in your 3D game by using 3D Math
  • Quaternions
  • Rigidbody in 3D
  • NavMesh
  • 3D Animation - Add life to your character by seamlessly blending 3D animations using Unity’s Animation Tools
  • Blend Tree
  • Sub State Machines
  • Layers
  • Advanced Unity Scripting Concepts - Learn how to use Unity’s Advanced concepts to add more complex features to your game
  • Scriptable Object
  • Asset Bundles
  • Async await
  • Serialization and Deserialization (to save game data)
  • Testing and Debugging - Use Unity and Visual Studio tools to find the best ways to test and optimize your game
  • Profiler ⇒ Deep Dive
  • Unit testing
  • Debugging ⇒ Logcat & Android Debug Bridge (ADB)
  • Remote Debugging
  • Advanced Unity Rendering Concepts - Understand how lighting works in Unity, how it affects performance, and how to optimise 3D games
  • Basics of Rendering Pipelines ⇒ HDRP & URP
  • Light Probes and baking
  • Post Processing effects
  • Occlusion Culling
  • Level Of Detail
  • Terrain System - Learn how to quickly build scalable worlds using Unity’s Terrain System
  • Timeline and Cinemachine - Create cutscenes, cinematics for your game using Unity Timeline and Cinemachine
  • Making Android builds and monetizing your game - Make a playable Android build of your 3D game and integrate in-app purchases and ads
  • IL2CPP Build
  • How to make Android builds
  • IAP / Unity Ads
Game Development Advanced - Programming Patterns using Unity (6 Weeks)
Programming Patterns, Service Locator - Tower Defense Game in Unity (1 Week)
  • Get Started with programming patterns by implementing Service Locator pattern in a Tower Defense Game called Angry Monkeys in Unity
  • Learn what is Singleton Pattern and why it's important in game development
  • Discover how to create and manage single instances of game components.
  • Learn the Service Locator pattern and understand how it acts as a central registry for services in your Unity game.
  • Learn how it enables you to centralize your game's services, making them easily accessible and adaptable across your entire Unity Game.
  • Learn what is a dependency and how you can resolve dependencies in your Unity project using Dependency Injection (DI)
  • Different types of Dependency Injection
  • Learn to inject dependencies effectively, enhancing code maintainability and unit testing.
Programming Patterns, MVC - Skins in 3D Battle Tank Game in Unity (1 Week)
  • Setup Skins in a 3D Battle Tank Game using MVC programming pattern and Unity
  • Build Battle Tank with the implementation of Tank movement in 3D
  • Learn how skins in games are implemented using MVC Programming Pattern
  • Make code architecture scalable with the proper use of scriptable objects
  • Understanding what is Model
  • Understanding what is View
  • Understanding what is Controller
  • Implementing Tank Skin Selection, Spawning and Tank Movement using MVC Programming Pattern
  • Make a basic UI to select one tank among the three
  • Each tank will have a different rotation speed and movement speed
  • Implementation of different skins for each tank
Programming Patterns, Observer Pattern - 3D Horror Game in Unity (1 Week)
  • Setup a 3D Horror Game with Unity’s Event System while implementing Observer programming pattern
  • Understand what Observer Pattern is and why it is needed in game development
  • Learn how to setup and use Unity's Delegates
  • What is an Event?
  • What is a Listener?
  • How to setup Events?
  • Power up your Event system by using interfaces
Programming Patterns, State Machine - 2D Top Down game in Unity (1 Week)
  • Make a 2D Hunter Assassin Game in Unity while learning the need for State Machine and how to implement them
  • Identifying problem with implementation of complex enemy behavior
  • Understanding how state machines can solve this problem
  • Implementing a Finite State Machine in Unity
  • Expanding Finite State Machine for different kinds of enemy AI
  • Generic State Machine and its advantages
  • Implementing Generic state machine
  • Creating more complex enemies using generic state machine
  • Advantages and Disadvantages of state machines
  • Types of state machines:
  • Finite State Machines
  • Hierarchical State Machines
  • Concurrent State Machines
  • Behavior Trees
Programming Patterns, Object Pooling - 2D Space shooter Game in Unity (1 Week)
  • Learn how to optimize a 2D Space Shooter Game by implementing Object Pooling in Unity
  • What is Object Pooling? - Understand the fundamental concept of Object Pooling
  • Implementing Object Pool for Bullets
  • What are Generics? - Understand what generics and how they can help you in game development
  • Creating a Generic Object Pool - Use Generics to enhance the capabilities of your Object Pool?
  • Sub-Types in the object pool
  • Creating a Power Up Pool with types
  • Types of Object Pools - Complete your Object Pool setup by understanding different types of Object Pools
  • Pre-Created Object Pool
  • Lazy Initialized Object Pool
  • Generic Object Pool
  • Dynamic Object Pool
  • Object Pool with Sub-Types
  • Hierarchical Object Pool
Programming Patterns, Command Pattern - Turn Based Strategy Game (1 Week)
  • Use the Command Programming Pattern and its types to setup character behavior in a turn based strategy game in Unity
  • Explanation of command pattern - Learn what command pattern is and how it is fundamentally different from Observer
  • Different Components involved with the command pattern
  • Abstract Command
  • Concrete Command
  • Command Invoker
  • Command Registry
  • Client
  • Receiver
  • Implement Undo functionality in your Unity Game using command programming pattern
  • Implement Replay functionality in Unity using command programming pattern
Capstone Project (4 Weeks)
  • The Capstone project is going to be the final project in the course, you will be showcasing everything you learnt during the entire length of the course here
  • The project is going to be a unique project only made by you
  • Use and implement everything you learned during the course. From Data structures to Programming patterns to Advanced Unity Concepts.
  • Choose among multiple Game Design Documents presented to you and make a full-fledged playable game under a month
  • This should be the highlighting project pinned at the top of the portfolio

Placement Process

Dedicated Placement Team

Dedicated Placement Team

With over 150+ partner companies, our placement team works tirelessly to match your skills with the best game studios that align with your career goals.

Game Development Community

Game Development Community

Make use of the community to collaborate, share insights, and exchange feedback in a supportive environment that nurtures creativity and innovation.

Portfolio, LinkedIn, & Resume Prep

Portfolio, LinkedIn, & Resume Prep

Make your portfolio, resume, & LinkedIn profile with training from industry experts to present your skills effectively to potential employers and collaborators.

Build in Public

Build in Public

Create projects across AR,VR, HTML, Android & iOS games and showcase your game development journey to recruiters

Admission process

01
Join the Waitlist

Our admissions team will reach out to you after reviewing your profile

02
Registration Process

Enroll into the program by paying the registration fee

03
Orientation Session

Get an understanding of what is expected from you when you join the program

04
Start the Course

Attend the onboarding session and get access to the course

Fee Structure

Reach out to us at admissions+global@outscal.com to discuss the option that is right for you.

Play games made by Outscal Alumni

Aasish Varma_Baba is you

Baba is you

Baba is You is an award-winning puzzle game where you can change the rules by which you play.\n In every level, the rules themselves are present as blocks you can interact with.

Created By:
Aasish Varma
Yogesh Krishnan Svs_Make New Way

Make New Way

The goal is to move the cubes to the spheres of the corresponding color. Your actions like pushing the blocks while moving the first cube will affect the second cube's path.

Created By:
Yogesh Krishnan Svs
Ravi Kiran Svs_Fireball

Fireball

A Classic Platformer game with 5 challenging Levels. Students make the platformer games while working on their first project.

Created By:
Ravi Kiran Svs

Frequently Asked Questions

Am I eligible for this course ?

Outscal has always been passionate about delivering accessible upskilling opportunities to enthusiasts looking to train themselves and take the next step in their career as a game developer.
Though there are no specific eligibility criteria, learners are required to have the following prerequisite to make this experience one of the best possible.
  • Passionate about making games with a burning desire to become a game developer.
  • You have a creative streak and feel excited about creating new experiences for everyone.
  • You are willing to push your boundaries and you have an attitude of 'whatever it takes'.
  • Ability to dedicate 12-18 Hours towards the course on a weekly basis.
  • A system with a minimum 8 GB RAM, i5 Processor and 1 GB graphic card.

Will my experience in a non game development role matter?

Though game development as a whole is a very unique vertical which comes with its own quirks, some prior experience in a related industry/role might help expedite the transition to a game development role. Here are examples of a few prior work experiences that will make your transition easier.
  • Any software development or related experience will be helpful while getting started with the fundamentals of game development like OOPs and DSA in gaming
  • If you have other software testing/QA/support role experience, it will come in handy with different test cases of your game to write clean code.
  • Overall, any prior experience or training whether technical or non-technical can be leveraged while starting your career as a game developer. How to best use your prior experience to your advantage will be covered in the placement module of the full-stack game development course.

Do I get a job guarantee?

  • Outscal have a 100% placement record on completion of a full-stack game development course
  • If you want to know the success stories of Outscal, please check the Outscal Success Stories content of this chapter.

When does the placement process start?

  • The placement process starts when a candidate becomes eligible for the placement drive, which simply means after acquiring desired skills
  • Placement preparation starts from day 0
  • Be it LinkedIn, C++, OOPs, Unity, DS whatever is getting covered in the full-stack game development program will lead you towards the best placements
  • Each module has placement preparation which covers mock interviews complete with industry professionals and interview questions to practice with

How do I get the job after completing the course?

  • We have over 100+ Partner companies along with the best studios across India.
  • We have already placed talented folks in some of the best companies like SUMO, Ubisoft, Zynga, and many more…
  • We have a dedicated placement team with over a decade of game development industry experience.
  • The placement team helps target the best possible company for the individual.

What is the duration of course?

  • Outscal Full Stack Game Development is a self-paced course
  • The average duration for completion of the course and getting a job is around 8 months
  • The duration of the course is not fixed, if you are hyper-active in doing assignments you can complete the course early as well.
  • The formula is simple - acquire skills early → get placed early.
  • Once we introduce you to any company/s, it usually takes 3-4 weeks to complete the entire hiring process.

How does doubt solving work?

  • Outscal is overpowered with an 8k+ discord community passionate about game development just like you, so we don't just solve doubts there, we destroy them.
  • There are dedicated text and voice channels for unity, unreal, C++, doubts and active members to solve those.
  • Even after all this, if any doubts escapes we have professional mentors and we will give one-on-one doubt-call with them.

Who will review my code and projects?

  • Outscal has game development professionals to review your code and projects.
  • Industry demands Code architecture, code scalability, code flexibility and clean code writing but sadly very few developers have the skills to write code like this.
  • So the ones who have these code-writing skills will be reviewing your code.