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
Real-time Ray-Traced Pong


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)


1790 total RayPongers.




(c)2012 Luke Lenhart   -  99481 total visitors