Tilak Maharashtra Vidyapeeth
Bachelor of Computer Application (B.C.A)- Game Development
First Year
Semeseter- I
BCA- 171 - Programming Using C# (Pr)
1) Introduction to computers and programming, Operators and data types in C#
History of Computers, Computer Hardware, Different types of Programming Languages,
Introduction to C# programming, Constants and variables, Integers, Floats and Strings,
statements, Identifying keywords, Examining arithmetic operators
2) Working with Arrays and Lists, Functions/Methods in C#
Arrays and Lists, Parameters in functions, Returning values from functions, creating
method in C#, Parameters in methods, Returning data from methods, passing named
arguments, passing optional parameters
3) Using decision statements, using compound assignment and iteration statements
Using if statements, using blocks to group statements, using switch statements, Writing
while statements, Writing for statements, Writing do statements
4) Managing errors and exceptions, Using Collections
Coping with errors, trying code and catching exceptions, writing checked statements,
using "finally" block,
5) Creating and managing structure, classes and objects, working with inheritance,
Defining and using a class, working with constructors, overloading constructors,
understanding static classes, Understanding inheritance, declaring new methods,
Declaring "virtual" methods, Declaring "override" methods. Declaring a structure,
Difference between structure and class.
References
C# (Programming for Beginners in Under 8 Hours)
Learn C# in One Day and Learn It Well
Object Oriented Programming Using C#
BCA- 172- Mathematics (Th)
1) Trigonometry
The Trigonometric Ratios, Inverse Trigonometric Ratios, Trigonometric
Relationships, The Sine Rule, The Cosine Rule, Compound Angles,
Perimeter Relationships,
2) Vectors
2DVectors -Vector Notation - Graphical Representation of Vectors -
Magnitude of a Vector, 3DVectors - Vector Manipulation - Multiplying a
Vector by a Scalar - Vector Addition and Subtraction - Position Vectors -
Unit Vectors
3) Transformation
2DTransformations - 2D Translation - 2D Scaling - 2D Rotation,
3DTransformation - 3DTranslation - 3D Scaling - 3DRotations - Gimbal
Lock
4) Quaternion’s
Adding and Subtracting Quaternion's, Multiplying Quaternion’s, The
Inverse Quaternion, Rotating Points around an Axis, Roll, Pitch and Yaw
Quaternion's, Quaternion’s in Matrix Form
5) Matrices
Matrices, Basic Operations and Properties, Advanced Operations and
Properties, Matrix Decomposition, Eigenvector, Diagonalization
References
Mathematics for Game Developers
Mathematics for Computer Graphics
BCA-173 -Game Design-I (Pr)
1) Game design
Principles of game design,Game Design Theory,MDA,8 type of Fun in
Game,Visual style, Gameplay
2) Generate ideas for a game concept
Idea Development Process, Stimulus, Genre Market Research, Target
platform
3) Creating Prototype
Creating physical Games: Board Game, Card Game, Party Games and etc….
4) Gimp/photoshop Basics
Mastering the effects of the clone and healing brush tools , working with
Layers and the Adjustments Panel, basics of Masking,Transforming and
maximizing Smart Objects, Employing Smart Filters to create interesting
effects, Color correction, Working with text and vector shapes in Gimp, File
formats, resizing, and saving, Actions and Batch Processing
References
The Art of Game Design: A Book of Lenses, Second Edition
Level Up! The Guide to Great Video Game Design
Theory of Fun for Game Design
BCA-174 - Game Development – I (Pr)
1) Introduction to Unity Game Engine
Intro to Tools & navigation, Terrain system in Unity, Camera control
in Unity, Scene Navigation, Project setting / Player setting, Game
publishing using Unity
2) Intro to C# programming in Unity
Constants and variables, Integers, Floats and Strings, Arrays and Lists,
Arithmetical operators, Using if statements, Writing while
statements, Writing for statements, & all Other Basic C# Concept in
Unity
3) Unity Game Engine for Developing 2D Games
Intro to 2D Game system in unity, Sprite Editor in Unity, Sprite
Animation in Unity, 2D Physics in Unity, 2D Components, UI system in
Unity, 2D Game Project
References
Getting Started with Unity 5
Unity 5 From Zero to Proficiency (Beginner)
Learning C# by Developing Games with Unity 3D Beginner's Guide
BCA-176- Human-Computer Interaction (Th)
1) Human-computer interfaces for games
Technology, Interfaces, Human Factors, User interface design
principles
2) Methods of control and forms of feedback in games
Feedback, Information Communication, User psychology, Control
method design
3) Prototype an interface for a game using HCI techniques
(Photoshop/Gimp/Unity)
Game specification analysis, Interface decisions for each mode, User
interface flow chart, Prototype interface design for Game
References
HUMAN COMPUTER INTERACTION IN GAME DESIGN
Human-Computer Interaction (3rd Edition)
Semester- II
BCA-271 - Intro to Java Programming (Pr)
1) Introduction to Programming and Java
Working with variables, Types of variables, Reference types,
Declaration, Initialization
2) Decision making in Java
If, else and Switch statements
3) Loops and Methods
Loops- While loop, break and continue , Do while loops, For loops
Methods- Structure of a method, Modifier
Return type, Parameters, working with method, body
4) Controlling the flow of the program
Comparisons using operators and methods,
Understanding language control
5) Working with arrays
Introduction to arrays, Dynamic arrays,
Multi-dimensional arrays
6) OOP concepts
Introduction to OOP, Classes and Objects, Abstraction, Inheritance,
Polymorphism,
Encapsulation
7) Handling Exceptions and Debugging
Recognizing error types, Exceptions,
Debugging and testing your applications
References
Learning Java by Building Android Games, 1st EditionBy: John Horton
Beginning Java Programming, 1st EditionThe Object-Oriented Approach
By: Aimee Backiel, Bart Baesens, SeppevandenBroucke
BCA-272- Android App Development (Pr)
1) Introduction to Android and Java
Installing JDK, Installing Android studio
2) Getting started with Android
Preparing Android studio, Building the project, Android UI types,
Lifecycle phases
3) Building and Installing
Emulators and devices, Creating and running the emulator, Building
our App, Installing a setup to a device
4) Android and model-view-controller
Benefits of MVC, Updating the View layer and Controller layer,
Connecting and running on a device, Configuring device for
development,
Adding resources to a project, Referencing resources in XML
5) UI fragments and Fragment Manager
Introducing fragments, Fragments and the support library, Adding
dependencies in Android studio,
Hosting a UI fragment, Fragment manager and fragment lifecycle
6) Working with Sound
Loading sounds, Playing sounds, Unloading sounds,
Implement sound in the app
7) Working with User Input
Android Input methods, Keyboard and Keypad
Touch, Custom gestures, On-screen controllers
Accelerometer, Adding user input
8) Physics
Box-2D physics engine, Box-2D concepts,
Setting up Box-2D, Building levels for physics game
References
Android Programming: The Big Nerd Ranch Guide… (Kindle Edition) by Bill
Phillips, Chris Stewart
Learning Android Game Programming: A Hands-On… (Kindle Edition) by Richard A.
Rogers
BCA-273- Data Structure (Pr)
1) Working with nodes
The Node, Building a chain from nodes, The principle of Induction,
Induction on summation
2) Asymptotic Notation
Introduction, The O-Notation, Big omega notation, Theta notation
3) Arrays
Types, Bounds, Bounds check, Declaring array types, Array structures
4) List structures and Iterators
Syntactic sugar, Implementations, Bidirectional lists, Doubly linked
list implementation, Vector implementation
5) Stacks and Queues
Stacks, Application of stacks, Queues
6) Trees & Graphs
Traversal, Binary search trees, Adding and deleting from binary
search tree, Directed & Undirected Graphs, Weighted Graphs, Graph
Traversals
References
Data Structures and Algorithms Made Easy
Data Structures Using C++
BCA-274- Software Engineering (Th)
1) Software Engineering
Introduction, History and Software Engineer.
2) Software Development Activities
Communication, Requirement Gathering,
Feasibility Study, System Analysis, Software Design, Coding, Testing,
Integration, Implementation
Operation and Maintenance and Disposition
3) Software Development Paradigm
Introduction, Methodologies, History, Verb approaches and
Subtopics. Agile Development, Waterfall Model and V Model and etc.
4) Project Development
Planning, Architecture & Design, Implementation, Testing, Software
Quality and Deployment & Maintenance.
5) Re-Engineering
Introduction, Reverse Engineering and Round-trip Engineering.
References
https://en.wikibooks.org/wiki/Introduction_to_Software_Engineering
http://faculty.mu.edu.sa/public/uploads/1429431793.203Software%20Engineerin
g%20by%20Somerville.pdf
BCA-276- Artificial intelligence (AI) (Th)
1) Intro to Game AI
Introduction to AI, Intelligent Agent , Game AI Model and Interactive
Agent, Analysis of Games - AI agent and its features
2) Mathematics and Computer Science
Probability, Statistics, Bayes Theorem, Data Structures - Queue,
Stack, Trees, Analysis of Algorithm, Sorting, Design and development
of a game using Dice (Using Random class and Conditional
probability), Design and development of a Digital Board Game
3) FSM(Finite States Machine)
FSM, Animation cycles, Mixamo Animation, Development of Game AI
using FSM e.g. Crossroad with Traffic signal and vehicles, pedestrians
4) Flocking
Flocking - Concept, Research papers, programming and
Demonstration, Documentation for Game AI system (with ERD Entity
Relationship Diagram, FSMs)
5) Problem Solving
Solving problems by searching, Informed Search, Path Finding , A*
Path finding, Navigation Mesh
References
Artificial Intelligence: A Modern Approach (Third Edition)
Artificial Intelligence for Games Second Edition
Unity AI Programming Essentials
SECOND YEAR
Semester - III
BCA-371- Programming using C ++ (Pr)
1) Introduction to C++ programming, Working with Conditions and
Loops
Declaring variables, Integer constants, Expressions, Character
expressions, The if statement, Nesting if statement, Conditional
expressions, Creating while Loop, Creating For Loop, Breaking and
Continuing
2) Working with Functions, Working with Arrays
Writing and using a Function, Returning values from function, Passing
arguments to function, Function with multiple arguments,
Introduction to Arrays, Declaring an Array, Adding and getting values
from Array
3) Working with Strings and Boolean, Working with Classes
Getting a part of a string, Changing a part of a string, Adding onto a
string, Adding two string, Working with Boolean values,
Understanding Objects and Classes, Describing member functions
and Data, Accessing members, Introduction to pointers, Passing
objects to functions, Using the this pointer
4) Working with Constructors and Destructors
Starting with constructors, Ending with destructors, Sampling
constructors and Destructors, Adding parameters to constructors
5) Planning and building Objects
Recognizing objects, Finding other objects, Encapsulating objects,
Building hierarchies, Establishing hierarchies, Protecting members
when inheriting, overriding member functions
6) Working with arrays, pointers
Declaring arrays, Arrays and pointers, Using multidimensional arrays,
Allocating an array on the heap, Storing arrays of pointers and arrays
of arrays
7) Pointing with pointers and working with references
Pointers to functions, Pointing a variable to a member function,
Pointing to static member functions, Reference variables, Returning a
reference from a function
References
C++ for Beginners
Programming: Principles and Practice Using C++
Object Oriented Programming with C++
BCA-372- Virtual & Augmented Reality (Pr)
1) Fundamentals of AR and VR
What is Augmented Reality, What is Virtual Reality, What is Mixed
Reality, How Human Vision Works, Computer Vision, Stereo vision,
Understanding Depth, Perspective and 3D, Sensors, Input options -
Magnetic Triggers, Gyroscopes, Gaze, Gesture, Voice, Spatial Sounds,
Spatial Mapping, Tools and Technologies.
2) VR Overview
Unity VR Introduction, Enabling VR in Unity Project, previewing VR in
Unity, Hardware, Software, VR Sample Project, Creating your first VR
Project, Frame rate in Editor, Camera Movement & Node, Image
Effect for VR, Render Scale,
3) Interaction in VR
VREyeRaycaster, VRInput, VRInteractiveItem, interaction in menu
scene, Interaction in Maze scene, Interaction in Flyer scene, Gaze,
The Reticle, Rotation & Position of the Head in VR,
TouchPad&KeyBoard interaction during VR GamePlay
4) VR Game Movements
, Fade blink transitions in VR, Flyer VR movement, Maze –Table top
style game movement, Shooter Movement,
5) Optimization for VR in Unity & Project
VR Optimization fundamentals, The Profiler, Geometry, Overdraw,
Level of Details, Draw call Batching, Light Mapping, Light probes,
Reflection probes, Occlusion culling, Anti-Aliasing, Texture, Shader,
Quality Settings
6) Augmented Reality using Vuforia and Unity
Introduction to AR with Vuforia, Managing License, Target Manager,
Creating Targets, Image Targets, Cylinder Targets, Installing Vuforia
for Unity Extention, User-Defined Targets,Multi-Targets, Device
Databases, Cloud Databases, Working with VuMarks, Deploying the
app.
7) Other kinds of AR experiences
Big space AR -
What are they, How does it work, Input options - object detection,
gestures, motion tracking, floor detection. Applications.
Projection mapping based AR -
What are they, Input options - Motion tracking, 3D mapped layouts.
Applications.
References
Unity Virtual Reality Projects
BCA-373- Data Communication & Networks(Th)
1) Data Communication Concepts
Networks and open system standards: the OSI reference model,
Network topologies and the physical layer - Bus/Tree topology,
ringtopology, star topology, The future of data communications
2) Transmission Media and Transmission Technologies
The electrical interface, Metallic media, Optical fiber media, Wireless
media (line-of-sight media),
Baseband and broadband transmission, Transmission bandwidth (link
capacity)
3) Data Transmission
Simplex, half-duplex, full-duplex communications,
Serial and parallel transmission, Synchronous transmission,
Asynchronous transmission
4) Data Security and Integrity
Error detection and correction,
5) Local Area Networks
LAN standards (IEEE standards 802 for LANs), Interconnecting LANs,
LAN Hardware (server platforms, backup devices, LAN adapters,
printers, etc.), LAN system software, LAN application software, LAN
selection criteria
6) Metropolitan Area Networks (MANs) and Wide Area Networks
(WANs)
Network routing, Public data networks, Circuit -switched data
network, Packet-switched data network, Internet protocol, ISDN,
Electronic mail
7) Network Interconnections (Internetworking)
LAN-to-LAN connections and LAN-to-Host connections, Repeaters,
Bridges, Routers, and Gateways, Interconnection utilities
References
Data Communications and Networking, Fourth Edition , by: Behrouz A. Forouzan
BCA-374- Game Development – II (Pr)
1) Lighting & Shading in unity
Material & texturing in Unity, Physics Lighting and Rendering in Unity
2) Audio in unity
Working with Audio Source , Working with Audio Listener
3) Particle system & Sky box in Unity
Working with Particle system, Working with Sky box , Working with
different effects in Unity
4) Developing 3D Game using Unity Engine
Exporting Assets from 3D Software , Different Types of camera in
Unity , Character Navigation, 3rd Person Camera movement, Creating
Enemy characters runtime, Animation control in Unity , Graphic User
Interface in Unity , Assigning Properties & Methods for player, Build
Simple Artificial Intelligence for enemy character
References
Learning C# by Developing Games with Unity 3D Beginner's Guide
Mastering Unity 2D Game Development - Building Exceptional 2D Games with
Unity
BCA-376- Database Management System (Pr)
1) Database Management Overview
Introduction to Database Management
Data processing, Characteristics of database
Data models, Overview of conventional data models and Types of
database systems
2) Data modeling using Entity-Relationship approach
Data Modelling introduction, Entity-Relationship model, Steps in
building data model and Developing the basic schema
3) SQL
Introduction and history, SQL commands
Data manipulation language, Queries
Constraints in SQL.
4) Relational database design and normalization
Introduction, Functional dependencies
Multivalued dependencies, Relational database, Normal forms,
Decompositions
References
http://archive.mu.ac.in/myweb_test/MCA%20study%20material/M.C.A.%20(Sem
%20-%20III)%20Paper%20-%20II%20-
%20Database%20Management%20System.pdf
http://www.ddegjust.ac.in/studymaterial/mca-3/ms-11.pdf
Semester- IV
BCA-471- Intro to Objective C (Pr)
1) Understanding Objective-C
properties and declarations, working with numbers and strings,
Working with arrays, Understanding functions, Using control
statements and loops
2) Object oriented programming
Properties, Methods, Classes and objects,
Methods, Inheritance, Abstraction
Polymorphism, Encapsulation
3) Collection classes in Objective-C
Introducing collection classes, Arrays, dictionaries and sets, Mutable
and immutable collections,
Creating an NSArray and NSdictionary
4) Handling exceptions
Causing an error, Using Try/Catch paradigm,
Throwing an exception
5) Managing Memory
Introduction to memory management,
Manual-Retain release, Automatic reference counting
References
Learning Objective-C Programming, By Jesse Feiler
Learning Cocoa with Objective-C, 4th Edition,Developing for the Mac and iOS App
Stores
By: Tim Nugent, Jonathon Manning, ParisButtfield-Addison
BCA-472- iOS App Development using Xcode (Pr)
1) Introduction to Xcode
Requirements and installing Xcode, Features of Xcode, Live design
and responsive UI,
startingXcode, Creating a new project
2) Interface Builder
toolbar area, navigator area, editor area, creating a basic interface,
Elements on the view, Adding scenes, Navigating between view
controllers
3) Constraints
Understanding auto layout, Building an authentication view,
Manually adding constraints,
Automatically adding constraints, Previewing layout
4) Table and Collection views
Table view composition, Table view styles,
The accounts and social framework, Adding a collection view
controller, Configuring a collection view
5) Frameworks and libraries
Understanding frameworks, Creating the project,
Static Libraries, Adding static library to a project
6) Debugging and Analysis
Setting and using break points, The Debug navigator, The breakpoint
navigator, Compile-time and Runtime errors
References
Xcode 6 Essentials (Kindle Edition) by Jayant Varma
Beginning Xcode (Kindle Edition) by Matthew Knott
Xcode 7 Essentials, 2nd Edition By: Jayant Varma, Brett Ohland
BCA-473- Software Analysis and Design (Th)
1) Introduction
Introduction, analyzing the software, find the Requirements and
finding the modules and parameters. Data Flow Diagram, Structure
Charts, HIPO Diagram, Pseudo-Code, Decision Tables, Entity-
Relationship Model and Data Dictionary.
2) UML
The Use Case Model, Sequence Diagrams, Implementation Diagram,
the Dynamic Model, Activity Diagrams, the Component Diagram, Use
Case Diagram, Activity Diagram and State Machine Diagram
References
http://www.lubancollege.com/phocadownload/system-analysis-and-design.pdf
http://www.uoitc.edu.iq/images/documents/informatics-
institute/Competitive_exam/Systemanalysisanddesign.pdf
BCA-474 - Game Development – III (Pr)
1) Introduction to Unreal Engine
Intro to User Interface, viewport toolbar, Navigating the Viewport,
Creating BSP, Importing Assets , Terrain in Unreal , Camera Control in
Unreal
2) Lighting & Rendering in Unreal
Understanding the Working of Materials, Cascade – a World Made of
Particles, Pre-computed Lights, Dynamic Lights Versus Performance,
Post Processing Effects
3) Intro to Blueprint
Intro to Blueprint Interface ,Post Processing Effects, Blueprint Editor
& Graphs
4) Introduction to C++ in Unreal Engine
Coding with C++, Variables and Memory, If, Else, and Switch,
Functions and Macros, Looping, Creating small 3D Game using Unreal
Engine
References
Game Development and Simulation with Unreal Technology
Unreal Engine Game Development Blueprints
Learning C++ by Creating Games with UE4
BCA-476- Game Design-II (Pr)
1) Prepare game design documentation
Purpose of design documents
Document layout
Level Desing Document
Technical Desing Document
ProductionDocument
2) Present a game concept to stakeholders
3) Sound Design basics
ADR, sound effects, foley, Ambience recording, sampling, synthesis,
4) Audacity software
Recording & editing sounds, creating a flawless loop, laying sounds
on time line, mixing sounds together, inventing new sounds using
sampling, inventing new sounds using synthesis
References
Game Sound
Games As A Service: How Free to Play Design Can Make Better Games
THIRD YEAR
Semester- V
BCA-571- Multiplayer Programming(Pr)
1) Intro to Networking
Protocol stack, TCP/IP, UDP, Latency
2) Saving Data between scene in unity
Carry forward data to one scene to another, Using Singleton method
to save the data
3) Saving Data in local server
saving Game data to local server while exiting , how to retrieve data
from local server
4) Creating Multiplayer Game in unity
Implement server creation & joining an existing host, How to find
active host , how objects can be created on the network, Network
communication, Remote Procedure Calls, Creating multiplayer Game
using Unity
References
Unity Multiplayer Games
BCA-572- Distribution & Marketing (Th)
1) Introduction to Game Marketing
Finding the audience, Addressing your market, Go to market plan-,
Choosing a development platform-Unity, When to begin marketing,
Finding a publisher
2) Pre-release Marketing
Development blog, Beta release/sales, Game Website, Game Trailer-
You Tube
3) Post-release Marketing
Competition’s, PR, Player Reviews, Paid promotions, Networking-
Industry professionals, Game news sites, Game events
4) Social Media Marketing
Podcasts, Development updates-Screenshots/Images, Facebook
Updates & Facebook ad page, Twitter updates
5) Digital Distribution
Steam, Kongregate, multiple store Submission-Digital Stores
6) Mobile App stores
Google Play, Apple Store
7) Specialty Distributors
Sytherine, Facebook
8) Marketing Plan
Preparing a Marketing plan, Devising a distribution strategy
BCA-573- Game Development – IV (Pr)
1) Introduction to Cocos2D-X
2) Adding Scenes
Creating new scenes, Manipulating scenes
3) Scene workflow in Cocos2d
Splash Scene , Game Scene , Game Over Scene
4) Using Sprite sheet in Cocos2D
5) Developing Game using C++ in Cocos2D
Navigation of characters, Collision detection, Physics in Cocos2D
(Box2D), Scene Navigation , Understanding Retina / non-retina image
creation, Adding Sound effect , Loading & Playing Background Music,
Setting up the accelerometer, create custom Cocos2d actions,
Publishing Game for Mobile platforms
References
Cocos2D Game Development Essentials
Cocos2d Game Development Blueprints
BCA-574 - Career Development (Th)
1) Job Role in Game Industry
Developer roles
• game design
• lead designer
• UI Designer
• 3D Artist
• 2D Artist
Publisher roles
• external producer
• marketing director
• production scheduler
• project coordinator
Game tester roles
• game tester
• senior tester
• quality assurance manager
2) Terms and conditions of employment
Working patterns - full-time - part-time – freelance – Casual -
working from home, Recruitment methods - industry-specific
recruiters – advertising – networking - word of mouth
3) Creating Portfolio
References
Game Development Essentials: Game Industry Career Guide by Jeannie Novak
BCA-576 - Project Management (Th)
1) Project Management Overview
The PMO’s Mission, What Is A Project, What Is Project Management,
What Is A Project Management Life Cycle, Elements of Successful
Project Management, Deliverables Typically Produced for Each
PMBOK Knowledge Areas.
2) The Role of the Project Manager
Your Responsibilities as Project Manager, Common Challenges You
Can Expect to Face, Skill Requirements of the Project Manager,
Functional Competencies of the Project Manager, The Project
Manager’s “Unofficial” Job Duties, The Value of Introspection and
Self-Awareness to “The Soft Side”.
3) Building and Maintaining an Effective Team
The Mechanics of Building a Team, Team Leadership Starts on Day
One!, Fostering Teamwork and Synergism, Getting the Most from
Individual Team Members.
4) Preparing a Detailed Project Plan: Step by Step
Identifying What Needs to Be Done, (Scope Management),
Identifying How Long It Will Take to Do Everything (Time
Management), Identifying How Much It Costs to Get Things Done,
(Cost Management), What About Project Management Software?.
References
http://www.free-management-ebooks.com/dldebk-pdf/fme-project-
principles.pdf
http://group27.narod.ru/ucheba/files/McGraw_Hill-Project_Management.pdf
Semester- V
BCA-671 - Internship + Viva
BCA-672 - Elective - I - Final Project / Viva (Game Development )
BCA-673 - Elective - II - Final Project / Viva (Mobile App
Development )