<<

DEREE COLLEGE SYLLABUS FOR: ITC4417 GAME PROGRAMMING : 3/1,5/3

(Updated Summer 2017) UK LEVEL 6 UK CREDITS: 15

PREREQUISITES: ITC1070 Information Technology Fundamentals – or – CS1070 Introduction to Information Systems ITC 2088 Introduction to Programming ITC 3234 Object Oriented Programming MA 1008 College Algebra

CATALOG The conceptual framework of interactive environments. Game DESCRIPTION: programming approaches. Techniques and tools. Manipulation of visual effects and sound. Object animation. Movement control. Worlds. Interactivity.

RATIONALE: The course exposes students to software development through the techniques used in one of the largest fields of computing. Control and interactivity of both 2D and 3D environments is discussed and analysed at various levels. Proficiency in the Java programming language is required.

LEARNING OUTCOMES: As a result of taking this course, the student should be able to: 1. Compose object movement, animation and modification techniques 2. Develop interactive objects using a variety of techniques including geometry and artificial intelligence 3. Compose 2D or 3D dynamic worlds enhanced with special effects including sounds, and evaluate game performance in those worlds

METHOD OF TEACHING AND In congruence with the teaching and learning strategy of the LEARNING: college, the following tools are used:  Classroom lectures and occasional laboratory practical sessions.  Office hours held by the instructor to provide further assistance to students.  Use of the Blackboard Learning platform, where instructors post lecture notes, assignment instructions, timely announcements, as well as additional resources.

ASSESSMENT: Summative : Project: Design and develop a complete but simple game or independent gaming components in a 100% programming platform

Formative: In class analysis, synthesis and implementation 0 exercises

The formative assessments aim to shape teaching along the semester and prepare studen ts for the summative assessment .

ITC4417 - 1 of 3

The project tests learning outcomes 1, 2, 3.

(Assignment instructions and assessment rubrics are distributed on the first day of class with the Course Outline.)

INDICATIVE READING: REQUIRED READING: Albahari, J. & Albahari, B. (2017). C# 7.0 in a Nutshell: The Definitive Reference (7 th edition). Sebastopol, CA: O’Reilly, ISBN: 978-1491987650

Instructor notes and slides.

RECOMMENDED READING: Dunn, F., & Parberry, I. (2011). 3D math primer for graphics and game development (2nd ed.). Boca Raton, FL: A K Peters/CRC Press. Eberly, D. (2010). Game physics (2nd ed.). Amsterdam: Morgan Kaufmann. Eden, R. (2014), jMonkeyEngine Cookbook , Packt Gregory, J. (2009), Game Engine Architecture , A K Peters/CRC Press, Kusterer, R. (2013), jMonkeyEngine 3.0 Beginner’s Guide , Packt Lake, A. (2010), Game programming Gems , Cengage Learning Lengyel, E. (2011), for 3D Game Programming and Computer Graphics , 3rd Edition, Cengage Learning Rabin, S. (n.d.). Game AI pro²: Collected wisdom of game AI professionals .

INDICATIVE MATERIAL: REQUIRED MATERIAL: (e.g. audiovisual, digital material, etc.) Vector Math for 3D Computer Graphics: http://programmedlessons.org/VectorLessons/vectorIndex.html#0 9

Jmonkey tutorials: http://hub.jmonkeyengine.org/wiki/doku.php

RECOMMENDED MATERIAL: Game Developers Conference: http://www.gdconf.com / Course on Game Development http://tuftsdev.github.io/GameDevelopment/ Courses in Game Development http://soshable.com/5-cool- totally-free-game-design-and-development-courses / Procedural Content Generation http://larc.unt.edu/ian/research/content/ Jmonkey video tutorials: http://hub.jmonkeyengine.org/wiki/doku.php/sdk ACM Computer Graphics Conference http://s2016.siggraph.org / OpenGL: https://www.opengl.org/

ITC4417 - 2 of 3

COMMUNICATION Daily access to the course’s site on the College’s Blackboard CMS. REQUIREMENTS: Use of word processing and/or presentation graphics software for documentation of assignments.

SOFTWARE A 3D game engine like REQUIREMENTS: jMonkeyengine ( http://jmonkeyengine.org/downloads/ ) or Unity ( www.unity3d.com )

WWW RESOURCES: Hellenic Gamers Association: http://www.hgda.gr/ Game Programming : http://www-cs- students.stanford.edu/~amitp/gameprog.html Art assets for game programming: http://letsmakegames.org/resources/art-assets-for-game- developers http://www.blender-models.com Game Development Stack Exchange: http://gamedev.stackexchange.com Game developer net http://www.gamedev.net/page/index.html Artificial Intelligence for Game Programming: http://www.gameai.com http://www.raywenderlich.com/24824/introduction-to-ai- programming-for-games Steering behaviour for characters: http://red3d.com/cwr/steer / : news, ideas: http://www.gamasutra.com / Research in games: http://game.itu.dk/index.php/About Research in games: http://game.itu.dk/index.php/About Unity game engine: https://unity3d.com/ Cry game engine: http://cryengine.com/

INDICATIVE CONTENT: 1. Introduction to game programming 2. Geometric transformation of objects: translation, rotation, scaling 3. Game scene creation 4. Characters and Animation Techniques 5. Interaction 6. Computer Graphics 7. Collisions 8. Physical properties 9. Artificial Intelligence in Games 10. Software issues: controls, application states, best practices 11. Advanced topics in game programming 12. Deployment 13. Network game programming 14. Sound, and various other effects

ITC4417 - 3 of 3