Main Page My Games - Major Projects - | - Brigades - | - Sea of Chaos - | - Barren - Minor Projects - | - RayPong - | - Yarr! My Projects My Music My Art My Literature Links |
RayPong RayPong is a version of pong rendered by a raytracer completely on the CPU in real-time. It primarily serves as a proof of concept for the MPMA Framework, whose goal is to trivialize writing a game that will compile and run on multiple platforms without change (currently Windows and Linux, though others will be added at some point). It's secondary purpose was to give me something to do with my quad core CPU. The app is designed to scale well with the number of CPUs, making it future-proof as well. It is also optionally network multiplayer! To attain real-time performance, the ray tracer is written completely with speed in mind. Flexibility and, in a couple minor cases, correctness, are sacraficed without remorse. There is no recursion in the ray tracer. All objects are directly coded into it, so there is not even looping over objects per-pixel. Additionally, several scene-specific optimizations (early elimination checks) are hardcoded in. The result is a simple ray tracer fast enough for real-time use on a high-end multi-core system. For example, on my 45nm Core2 Quad 2.67GHz, I get roughly 43FPS at 400x400. Screenshot: Minimum Suggested System: - Fast(Core2+) Dual Core CPU (32-bit x86-based that supports SSE) - Keyboard - Windows or Linux (For older systems, making the window smaller will improve performance) - A UPNP-capable router for hosting a network multiplayer game. Download Version 2: Adds network multiplayer support. Windows Executable Linux Executable Source Code (use Makefile for linux, msvc2008 project for windows) Version 1: Initial release. Windows Executable Linux Executable Source Code (use Makefile for linux, msvc2008 project for windows) 1781 total RayPongers.
|