
This project was the result of a deep investigation about the latest technologies used in videogames, it was my final thesis for my electronic engineering degree and I get an Honours Degree for it. The project analyses evolution of videogames and technology since its beginning, focusing on graphical technologies and its future. As part of the study, a small application was programmed to show how shaders work and how can they be so useful for future videogames. This project was developed in 2006, just when started the revolution of new powerful GPUs in videogames.
To develop the prototype, various technologies where analyzed and finally OpenGL+Cg Shaders where chosen. The game developed was a Pong clone, making honour to the first videogame ever and showing how, even in the apparently simplest videogames, Shaders can be useful.
The following results where obtained:
-- Game Engine based on OpenGL with a solid, intuitive and scalable arquitecture.
-- Camera rotations based on quaternion technology.
-- Multiples bitmap textures support.
-- Procedural textures generation (checked, spot, gradient, Perlin noise).
-- Cg Shader system with some basic shaders.
-- Basic collision detection and resolution, based on Bounding Spheres/Boxes.
-- Basic IA system with three levels of IA.
-- Complete GUI system for the HUD.
Some articles were written for students as result of my investigations (in Spanish):
Breve Historia del Videojuego – Brief Videogames History
Evolución de las GPUs – GPUs Evolution
OpenGL vs DirectX – OpenGL vs DirectX
Todo lo Necesario sobre OpenGL – Basic OpenGL Knowledge
Texturas desde Cero – Textures, types and formats
Quaterniones...don't Panic! – Quaternions
Introducción a los Shaders – Intro to Shaders
Programando Cg Shaders – Programming Cg Shaders