Hey Julian,
I like your idea of putting Scheme in games! I did this on my last pet-project,
Cocoscheme. I'm doing what you're suggesting: I wrote bindings to C/C++ functions that manipulate the game-state. Except I used existing C/C++ libraries to do the hard work for me :) More precisely, in the case of
Cocos2Dx, I manipulate the visible "scene graph", and with
Chickmunk, I manipulate the virtual physical world. Both of those libraries are relatively easy to manipulate with Scheme bindings.
The
Chickmunk bindings are the most mature, and might be worth looking into. They follow the
Chipmunk C API very closely (I should rename it ... the names are confusing, I know!).
Are you planning on using any established game-engines or libraries? What will probably become very interesting is where your C++-code ends and where your Scheme begins.
So I have a crazy idea, how about writing all of it in Scheme? So instead of exposing a function to add a message to the UI, you can expose functions to draw the UI, and do your game in Scheme. Then as you move along and things settle, you can port the slow/critical parts to faster C-code if you need to. Just a thought. There are several
eggs for graphics available that might suit your drawing needs, like cairo or opengl.
Do keep us updated on your progress, we'd love to hear how this turns out! I'll sign up for alpha testing :)
Cheers,
K.