ICT Development and Research Foundation

Game Development

IDRF Game Development


This purpose of this course is twofold: to provide a strong foundation in software engineering, programming, and the C# language; and to work on all major aspects of developing video games using the Unity engine. These two purposes are closely tied: a large part of video game development centers on programming and software development, and to be a game developer requires a high level of knowledge in a modern, object-oriented language like C#. Through this course, students will learn programming by working on games, and will learn to write code to run every part of their game, from physics to AI to game servers. Rather than focusing narrowly on topics needed to make games, this course will teach you to be a programmer with a solid foundation. This course will allow you to be able to enter any programming field you'd like,from mobile apps to web servers.(This is actually a common path for game developers they spend a few years in a related field.


This course will be using an approximation of the Khan Academy method.In essence: as much as possible,lectures will be given outside of class - as videos,articles,and more and class time will be used for hands-on instruction, discussion,review,and working on projects.I feel this method is better than class lectures because with videos you can pause and rewind me at any time.You can also take notes at your own pace, and don’t have to worry about getting lost if you don’t understand something the first time. And of course you can go back and review old lectures at any time. You can expect 3 hours of outside work and lectures per hour of class. You can expect a very hands-on, skills- and project-focused course. There will a mix of general concepts and of skills specific to game design, along with learning the Unity engine. You'll be working alone on some game designs, and in teams on others.


Students will work on nearly all aspects of game design and production: storyboarding, level design, texturing & materials, programming, terrain, physics, animation, 2D & 3D rendering, and user interface, among others. Students will learn the Unity game engine and the C# programming language, and create multiple games for their portfolio. Other topics may be introduced, for instance shader generation, game server development, VR, and other advanced topics. The course will focus heavily on making actual games and writing software. Students will create 4-5 games through the course, with 2 major game designs that will be demoed publicly to members of the local game dev community. More than half of the course focuses on programming, software development, and the C# language, which is a major component of game development. The course introduces advanced C# topics like polymorphism, generics, and reflection. It also introduces general software engineering topics like design patterns, algorithms, data structures, memory management, serialization / JSON, and more. The course includes an introduction to server-side architecture (C# server applications, RESTful interfaces, SQL databases, and more), which is a critical part of most modern game development and can also be a career outside of games. By the end of the course, if you've kept up with all materials, you can expect an intermediate mastery of the Unity engine and the C# programming language, with some knowledge of advanced topics. You will have the foundation to become an advanced game developer. You will also have the foundation to pursue other careers in programming, from PC and mobile applications to web servers. You will have both knowledge (of ideas, terms, programming topics, and game design topics) and practical skills, and should be well on your way to being prepared for an entry job in the field (or related fields).


#IDCourse SyllabusImportant Topics
1Unity production basics: Lighting, materials, effects, etc. Creating a simple gameMobile Game Makers
2C# in game developmentStyncyl
3Game Design 101: Balancing games, analyzing games, the MDA frameworkPlayMaker+Unity
4Game Programming 102Fusion 2.5
5Game Design 102: Choice, agency, aesthetics, and moreGame Editor
6Game Programming 101,102,103,104Game Engines
73D Characters: Animation & controlUnreal Development Kit
8Intermediate Game Production TopicsCorona SDK
92D Game Jam, 3D ModelsMarmalade
10applications Algorithms & TreesJMonkey Engine
11Networking intro & JSON,Creating non-Unity C#Cocos2D-x
12Connecting games to services DatabasesShiVa3D
13Advanced programming topics (TBD)Libdx


levelsStart onLectureDurationClass SizeCourse Fee
Beginner01-03-201736 Session72 Hours20 Person20,000/=