Seismic Duck goes Open Source

By Arch Robison (Intel) (30 posts) on August 28, 2010 at 7:42 pm

Now you can read the source code for my Seismic Duck game on Source Forge.  I open-sourced the code for several reasons:

  • My blogs on parallelizing it with SSE and TBB omit details of interest.  The blogs chiefly concern the seismic wave propagation code in Source/Wavefield.cpp .
  • Games about reflection seismology are not runaway best sellers.
  • It's limited to Windows.  I'd like to find volunteers to port it to other platforms.   Mac OS is of particular interest, since it is common in educational settings.   The OS-specific parts are about 600 lines of C++.

The code is my own hobby, not Intel's.   As such, comments are  sparse.  I'll expand them as questions arise.  If you are interested in porting it to new platforms, please contact me and I'll help as best I can.

Categories: Open Source, Parallel Programming, Software Tools

For more complete information about compiler optimizations, see our Optimization Notice.

Comments (5)

August 30, 2010 9:11 AM PDT


Joseph
fwiw, it'd have been significantly easier on both of us if you'd coded it using a cross-platform tooklit (e.g. gtk+, Qt, wxwidgets) from the get-go. You because you'd have saved enormous amounts of time not reinventing the wheel, and us because the port would be significantly easier.

Also, forget the Mac. Go Linux.
August 30, 2010 12:45 PM PDT

Arch Robison (Intel)
Arch Robison (Intel)
Thanks for the pointers. I wrote it against DirectX because I was concerned about getting high performance. The program has to deliver about 60 frames per second. The code does not need any menuing support from a toolkit. It just needs mouse clicks, key clicks, and the ability to transfer full-screen bitmaps to the display at high speed. Do you have any recommendations on which toolkits are best suited for that purpose?

Though not essential, I'd prefer a toolkit that does not introduce big bloat. The current SeismicDuck.exe is only 700 KByte.
August 30, 2010 7:57 PM PDT


Joseph
Your comment system keeps failing and eating my posts. :(
September 1, 2010 7:02 AM PDT


Joseph
Trying this one last time. I am most experienced with GTK+, so I'll go with that. Generally, I'd wager that 2D performance is almost always going to be adequate to your needs, but I'll presuppose you need 3D. I'd use GTK+ or clutter with a gtkglext (widget that is an OpenGL drawing area).
September 10, 2010 4:12 PM PDT

Arch Robison (Intel)
Arch Robison (Intel)
I'm experimenting with a port to Qt, using Qt Creator. So far the only thing I have not figured out yet is how to do double-buffered animation that is synced to the display's refresh cycle. The Qt port is shaking out some subtle platform dependencies. I might try SDL next. No 3D or menu support is required. Simple and fast transfer of a bitmap to the display suffices.

Trackbacks (0)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*