- Functional programming (e.g., CS 1101
or CS 1102).
- Object-oriented design and programming (e.g., CS 2102)
- Systems programming concepts (e.g., CS 2303)
- Software engineering (e.g., CS 3733)
- Basic technical game development skills (e.g., IMGD 3000), including
- iterative technical game development process
- game engine architecture
- scene management and triggers
- user interface and input controls
- simple scripting
- simple illumination and texturing
- simple AI
- Students should be able to participate effectively
as technical developers in indisciplinary teams
with artists to produce games.
- Students should be able to quickly become proficient
in any new game engine, regardless of the programming language
- Students should expand their technical game development skills beyond those listed under 5 in Assumed Background above, including game physics, steering and multi-player networking.
- Students should be conversant with some of the more important advanced and emerging technical concepts
in game development, such as shader programming, advanced camera control, and novel game controls.
- Each student will be a member of a team consisting of 2 or 3 technical developers
and 1 or 2 artists (from IMGD 4500), which will together produce a game on schedule with deadlines and milestones and using team coordination tools, such as source version control.
- Students will develop C# code for the Unity 3 game engine (as opposed to C++ code in IMGD 3000).
- Students will implement game elements applying each of the new technical skills learned, such
as game physics, steering and multi-player networking.
- Each student will be individually tested on their knowledge of important technical game development concepts presented in lectures.