University of Belgrade, Faculty of organizational sciences

Department for e-business

Virtual reality and game programming

STUDY PROGRAMTEACHERSCOURSE STATUSSEMESTERECTS
E-Business TechnologiesMarijana Despotović-Zrakić, Aleksandar MarkovićElective16

Course content

Theoretical classes

Introduction to virtual and augmented reality. Interactive media. Interactive design in virtual reality. Virtual and augmented reality technologies. Virtual reality platforms. WebVR API. Augmented reality. Augmented reality geolocation. Augmented reality and internet smart devices. Virtual and augmented reality as assistive technologies. VR devices. Basics of game programming. Development, design and implementation, testing and debugging of game applications. Paradigms for game development. GUIs, thread programming, event-based programming, and pattern programming. Data structures and algorithms. Application of discrete mathematics concepts in game programming. Mathematical tools for manipulating graphic objects and simulating the physical properties of objects. Application of physical concepts for the realization of system dynamics and visualization of the virtual world. 2D and 3D models for virtual reality in games. The game design process. Managing innovation and creativity in the context of specific games, as well as for world and character design. Examining historical successes and failures, presenting ethical and cultural issues related to the design and development of interactive games. Web technologies and their application in game development. Design and development of Media Rich Internet Applications (MRIAs). Client and server development. Web frameworks for game development. Data management. Data persistence. Data connectivity. Information manipulation. Data presentation and visualization. Mobile game programming. Mobile game development technologies. Design, development and testing of mobile applications using Android Studio IDE. Integration of physical and virtual world, immersive technology. OpenGL. WebGL. Artificial intelligence in VR. Artificial Intelligence Languages (R, Python). 3D programming. Software for VR and game programming OpenGL, WebGL, GLSL shader. JavaScript. Three.js. C ++. HTML5. CSS3. Unity.Unreal engine. VR Applications for different hardware (HTC VIVE, Oculus, Google VR). Augmented reality platforms: Google ARCore, ARKit, Facebook AR Studio, Snapchat Lens Studio, Amazon Sumerian. Game development programming languages.

Practical teaching:

Introduction to virtual and augmented reality hardware and software. Development of 3D models. Development of 3D interactive characters. Web and mobile game development. JavaScript. Three.js. C ++. HTML5. CSS3. Unity. Unity3D. Creating virtual reality scenes and objects. Creating animations. Development of web and mobile applications based on augmented reality concepts. Google ARCore. Vuforia. The application of augmented reality in smart environments.

The aim of the course

The aim of this course is to enable students to develop virtual reality applications and to master the concepts of virtual reality game development.

Outcome of the course

Students acquire theoretical and practical knowledge necessary for the development and implementation of virtual reality applications, with a focus on programming games in virtual reality.

Literature

1. B. Radenković, M. Despotović-Zrakić, Z. Bogdanović, D. Barać, A. Labus, Electronic business, ISBN 978-86-7680-304-0; Faculty of Organizational Sciences, Belgrade, 2015
2. B. Radenković, M. Stanojević, A. Marković, (2009). Computer Simulation, Faculty of Organizational Sciences, Faculty of Transportation, ISBN:
3. B.Radenković, M.Stanojević, M.Despotović-Zrakić, Z.Bogdanović, D.Barać, A.Labus, M.Đogatović, Computer simulation – collection of tasks, Faculty of Organizational Sciences 2019. textbook in preparation.
4. Schmalstieg, D. & Höllerer, T. (2016). Augmented Reality: Principles and Practice (Usability), 1st edition, Addison-Wesley Professional, ISBN: 978-0321883575.
5. Linowes, J. & Babilinski, K. (2017). Augmented Reality for Developers: Build practical augmented reality applications with Unity, ARCore, ARKit, and Vuforia, Packt Publishing; 1 edition, ISBN: 978-1787286436.
6. Godbold, A. (2018). Mastering UI Development with Unity: An in-depth guide to developing engaging user interfaces with Unity 5, Unity 2017, and Unity 2018, Packt Publishing, ISBN: 978-1787125520.
7. Buttfield-Addison, P. Manning, J. & Nugent T. Unity Game Development Cookbook: Essentials for Every Game, O’Reilly, 2019, ISBN-13: 978-1491999158
8. Materials in e-form, from the e-learning portal www.moodle.elab.fon.bg.ac.rs.