[SDL] Mac: Primate Plunge finished

David Olofson david at olofson.net
Thu Nov 6 05:45:01 PST 2003

On Wednesday 05 November 2003 17.55, Joseph Humfrey wrote:
> >> Nice screenshots. Any plans on releasing the source and/or
> >> porting it to other platforms, such as Win32 and Linux?
> >
> > All entries for the uDG contest must release their source code at
> > the end of the contest.
> True, except that we can choose the licence for it, and I've chosen
> the uDevGame licence, which entitles users to use my source for
> education purposes only.. so while you could go and build it
> yourself you could hardly release it to the public under your own
> name.

Well, sounds OK to me, although if the uDevGame license doesn't allow 
derivate works, you'll have to maintain the ports yourself. That 
might not be much of a problem though, as "ports" of SDL applications 
are often just minor tweaks to the build scripts and/or some #ifdefs. 
The biggest issue is getting new binaries compiled for all supported 
platforms when you update the game code, but the only way around that 
is coding the whole game in a scripting language, and/or compiling it 
for a VM.

Anyway, there are many other licenses that have similar restrictions, 
but still make the code more useful to others. The GNU GPL would be 
one example - although it does allow people to release modified 
versions of the game. The new releases must still be under the GPL, 
though, so there's no legal way to hide your code inside some closed 
source project.

Also note that you don't *have* to use the same licence for the code 
and the data. (Unless the contest rules prevent using certain kinds 
of open source licenses, of course.) You could use the GPL, or even 
LGPL or an MIT/BSD style license for the code, and a more restrictive 
license for the data.

> But yes, I would like to port it to Win32 and Linux if possible.
> Problem is, I have no experience with compiling on any platform
> other than MacOS X/Project Builder, so have no idea where to start
> with either of them.

A good place to start would be to use a somewhat portable build system 
- like GNU autotools or something. You can have project files, 
scripts and stuff for each supported platform of course, but although 
autotools can be a PITA to deal with, it does sort out lots of stuff 
automatically once you get it going.

> On the plus side, the code is completely cross platform, except for
> perhaps changing some paths so they don't try to look in the .app's
> Content/Resources/ directory etc.

Some simple #ifdefs... autotools would figure out what compiler to 
use, how to use it, how to link with libs etc etc - so except for 
some minor platform specific details like paths, file name 
convensions, endian dependent code and stuff like that, you'll get 
most platforms supported by SDL "for free", once you get it to build 
on the development platform.

> Would appreciate any help in porting to Windows and Linux!

Well, if the source was available, I could have had a rudimentary 
autotools build already, just to have a look at the game... :-)

//David Olofson - Programmer, Composer, Open Source Advocate

.- Audiality -----------------------------------------------.
|  Free/Open Source audio engine for games and multimedia.  |
| MIDI, modular synthesis, real time effects, scripting,... |
`-----------------------------------> http://audiality.org -'
   --- http://olofson.net --- http://www.reologica.se ---

More information about the SDL mailing list