To facilitate this within a 16 week schedule, this course will use an existing game engine (Unreal Engine) to enable rapid prototype game development with the C++ programming language. This also allows for the selection of a pre-made game template provided by the engine to significantly decrease the startup time required to make a functional game (templates include first-person shooters, third-person, flying, top-down, rolling, flying, and side-scroller games). This course is broken down into 12 individual modules that provide the foundation required for developing games on an existing game engine:
The objective of this course is to provide a hands-on overview of the game design process and provide enough of a foundation in the various development fields (level design, asset creation, programming, animation, etc.) to complete a prototype of an independent game that will be developed during the last four weeks of the semester.
Course Format This course is an online course, so an extensive amount of content will be referenced online and provided through this course website. Due to the popularity of game design and use of the Unreal Engine, there are abundant resources that are available outside of this course (including both tutorials, video guides, and content). The development of documentation and books related to Unreal Engine 4 are still premature, thus the official documentation and video tutorials (provided by Epic games, the developer of the Unreal Engine) will be used within this course to provide technical guides for using the Unreal Engine.
This course is broken down into three primary graded items: (1) the set of individual homeworks that are assigned for learning how to use the Unreal Editor for game development, (2) your game project proposal, and (3) the implementation of your game project using the Unreal Engine.
For the final game project, project proposals will be evaluated and accepted based on the technical merit, feasibility of proposed game, and other resources used to justify the development of the game (concept art, story, assets, etc.). To facilitate unique projects, several additional research areas can be included within the final game project: procedural generation, virtual reality, augmented reality, mobile development, physical simulation, or rendering techniques (stylized rendering).
|Week 1:||Introduction to Game Development and Modern Game Engines|
|Week 2:||Level Design: 3D Environment Design|
|Week 3:||Computer Graphics and Unreal Engine 4|
|Week 4:||Asset Design: Structure, Objects, Materials, and Content Creation|
|Week 5:||Visual Programming with Blueprints|
|Week 6:||Blueprint Games and Game Project Proposals|
|Week 7:||UE4 C++ Game Programming|
|Week 8:||Sound and Music Composition|
|Week 9:||UI Design and Cinematics|
|Week 10:||Dynamics and Game Physics|
|Week 11:||Character Design|
|Week 13-16:||Game Project Implementation|
Extensive knowledge of game development or the associated set of tools used for content creation is not required; however game development relies extensively on mathematics and programming, therefore these will be used extensively in class to complete some of the later homework assignments and final game project. Being familiar with object-oriented C++ is critical for use of the Unreal Engine.
Please note, address email to Dr. Choi with the header CSCI-4920. By sending it to this address with the header, my mail filters will place your emails in a designated spot so I can ensure the fastest response! Do not forget to identify yourself with your full name and course number.
As a general policy, I will respond to all phone calls and emails within 24 hours. Typically, I can respond to emails within in a few hours.
Because this is an online course, it is up to each student to be sure to address questions, comments and concerns to me in a timely manner. Likewise, I will work to quickly answer your questions and ensure you have the information you need to be successful in this course!
Note: All students are responsible for keeping all contact information up to date with the University. University policy is that email is the preferred form of contact. If you do not update your email address, you will be missing important information from the College.
Game design revolves around the use of high-end graphics engines and other tools that require extensive computing resources. Due to these high requirements of the Unreal Engine, older computers and laptops may not provide adequate specs for modern game development. If this is the case and you have no access to a computer capable of running the Unreal Engine, please contact the instructor immediately. The other software packages (including 3D modeling programs, photo editing, and music composition software) are all freely available to students for this course and can be downloaded from the provided sources.
While a broadband internet connection is not required for this course, it is highly recommended that you access the course with a DSL or cable modem. This is primarily for supplementary online videos.
If for any reason you are having technical difficulties that are limiting or preventing your full participation in the class, please notify the instructor immediately! I will work with you to ensure that your online learning experience is not hampered by technical issues.
| This course does not use a published book as the main source of content for game development within the
Unreal Engine. This course website and the official Unreal Documentation Website are used to provide
all required reading and guides for developing the homework and final project of this course. |
This is due to the newly designed rapid environment of open source game engine development that has been introduced with Unreal Engine 4. Since the engine is now open source on GitHub, the code and engine content fluctuate wildly. Therefore any books that are published with respect to a specific version of the engine will quickly become outdated as the developers continue to refactor and update the existing code-base.
Because this is an online course and most assignments will be related to creating content within the Unreal Editor and programming, the quality of your code, game design, and written content are important. You will be assessed both on the content and the quality of your code, game, and documentation. In general, you will not be evaluated on the length of your writing or expected to deliver commercial quality content. So, excessively more frequent contributions to discussion lists or longer papers will not improve a grade if the ideas expressed are not clear, and high quality content will not drastically improve a grade if the other requirements are non-functional.
Course grades will be based on about 6 programming-based assignments and a final project. For graduate students, a research project will be required and incorporated into the coursework/grade.
Course Grade Distribution:
The total accumulated score in 100 scale based on the above percentages will be used for letter grades as follows:
I will give pluses on the borderline cases. The letter grade guideline can be adjusted slightly based on the curve.
Late Penalty: 10% per day (24 hours)
In an exceptional case that you will not be able to complete work the week it will be due, please contact the instructor to see if other arrangements are possible.
You are responsible for the content of your writing. Please be aware that you have the responsibility to keep your communication civil, friendly and professional.
Academic dishonesty policies established by the University of Colorado System, the University of Colorado Denver, and the College of Engineering and Applied Science apply within the Computer Science and Engineering Department. Faculty decisions on cheating–whether it has occurred, and the severity of the offense–depend on several factors:
Official Honor Code: CEAS Student Honor Code Download (PDF)
Criteria for judging potential cheating incidents include the following:
The determination of cheating in a course is the instructor’s responsibility. The penalty for cheating–wherever or whenever the cheating is determined to have occurred–is failure of the course .