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).
|#ID||Course Syllabus||Important Topics|
|1||Unity production basics: Lighting, materials, effects, etc. Creating a simple game||Mobile Game Makers|
|2||C# in game development||Styncyl|
|3||Game Design 101: Balancing games, analyzing games, the MDA framework||PlayMaker+Unity|
|4||Game Programming 102||Fusion 2.5|
|5||Game Design 102: Choice, agency, aesthetics, and more||Game Editor|
|6||Game Programming 101,102,103,104||Game Engines|
|7||3D Characters: Animation & control||Unreal Development Kit|
|8||Intermediate Game Production Topics||Corona SDK|
|9||2D Game Jam, 3D Models||Marmalade|
|10||applications Algorithms & Trees||JMonkey Engine|
|11||Networking intro & JSON,Creating non-Unity C#||Cocos2D-x|
|12||Connecting games to services Databases||ShiVa3D|
|13||Advanced programming topics (TBD)||Libdx|
|levels||Start on||Lecture||Duration||Class Size||Course Fee|
|Beginner||01-03-2017||36 Session||72 Hours||20 Person||20,000/=|