Games Programming - Electronic games are currently, and will continue to be, major drivers in the development of computer hardware and software. The latest in graphical processors, 4D modelling techniques for virtual reality, real-time systems and control, animation tools, user interfaces and sensory feedback have all been heavily influenced by the demands of game designers. In turn, the technology from the gaming industry is finding and driving countless other fields including digital image processing, audio and visual modelling, flight simulation, military training, design prototyping, architectural visualization and animation.
Entirely new fields outside engineering, such as interactive arts and digital music, are being made possible by the technology. New areas of research,such as computationally efficient mathematical models to accurately simulate physical environments, are emerging.
From a commercial point of view, computer games have become one of the bright lights in the software industry. Developers are also porting the technology to countless other new products, such as surgical simulators for the training of medical doctors, remote control (with sensory feedback) of remote mining operations, and simulation of life-threatening or catastrophic crises. All these will help extend the commercial reach of gaming software technology.
Programming for Games Devices covers game development for web and mobile platforms such as Android and iOS devices. Students use appropriate Software Development Kits (SDKs) and tools to design and implement games that incorporate a variety of features that make for fun and interesting gameplay. For example, this may include use of device specific hardware (multi-touch screen support, accelerometer, gyroscope), persistence (saving of game data locally and to cloud-based services) or additional software libraries that provide functionality such as Physics simulation. Students also learn about Network Programming which enables the creation of game servers to host multiplayer games. For example, a game running on an Android device could have a multiplayer match against the same game running inside a web browser on a PC, where both games connect via a common game server.