RAGE: A programmable shader-based OpenGL renderer and scene graph

by Albaladejo Raymond Rivera

Institution: California State University Sacramento
Year: 2017
Keywords: Graphics; Java; Framework; Computer games; Game engine
Posted: 02/01/2018
Record ID: 2222107
Full text PDF: http://hdl.handle.net/10211.3/190561


The college teaches a game development course at the undergraduate level (CSc-165). Computer game development is a complex and time-consuming process that requires combined knowledge of multiple specialized disciplines including real-time graphics, networking, physics, sound, artificial intelligence, and operating systems, among others. They also need to run in different platforms.Software engineers address these problems by decoupling the game clients from the functionality they all have in common. This functionality is built into libraries and frameworks, called "game engines", which are then used by game developers. Game engines make it easier for game developers to more quickly build the cross-platform games that they want, without having to master all the different sub-disciplines before getting started. They integrate this technical knowledge into common, documented, and simplified sub-system modules that can be re-used across different game genres.While such frameworks already exist, most are aimed at professional software engineers. This makes their scope, licensing, complexity, and cost, prohibitive factors in the context of a single semester for an undergraduate course. The framework currently being used to teach the course is also based on deprecated technology and in need of replacement.This master project demonstrates a new framework that is based on current technology, significantly simpler than professional suites, available free of cost under a freedom-respecting license, compatible with Microsoft Windows and GNU/Linux, and promotes student access, contributions, and collaboration.Advisors/Committee Members: Gordon, V. Scott.