Hello orgmoders. We on freenode#lispgames are having the month-long 2010 International Lisp Games Expo, and I'd like to apply literate programming principles, using org-babel, to Lisp game development.
I have several reasons for doing this. The resources for a given game object or entity may be scattered across multiple files. There can be many frames of animation (PNG files), methods defined, functions, sounds (.WAV), music (OGG), extensive in-game narrative text, and PAK data (my own format), all to describe one game object. Manually linking and navigating among these many files and pieces of data has become very time consuming as my asset library grows to hundreds of different objects, and re-using assets between projects becomes difficult just because I have to hunt for all the files and snippets of text. The XE2 game engine source is also becoming harder to manage as it grows because of some of the same issues.
My short term goal is to write a Common Lisp game for the XE2 engine, but with all the code and text in a single .ORG file (with many links to external png, wav, etc as needed.) With a custom tangle setup, it would be easy to export the .lisp and .pak files my engine requires. Not only would the whole project be organized hierarchically, but I am using tags like these to organize data by "aspects":
Presentation Player Structure Environment Controls Combat Enemies Planning Story
Each game object could have its own org heading, with subheads and links to code, png files with inline display, some editable properties data for tweaking. I could add commands to open one of the PNGs in Gimp, play a sound, and so on.
I have gotten some very basic support working, where you can execute Common Lisp blocks via slime, and basic tangling works as well.
My idea is to make a coherent hierarchical design document for the entire game (story, graphics, sound, gameplay) and then embed/link all the required resources/code, bit by bit, filing each link/block in its right place, and tagging everything so i can navigate and search.
And now some questions...
1. the html output fontification of source blocks is nice. the pop-out editing of the blocks is nice too. However, can I get the syntax highlighting to show up INLINE in the begin-src block?
2. has anyone been following efforts to prettify org-mode constructs? i would love to be able to replace certain things (like all the #+BEGIN_SRC lines) with something graphical, like a tiny icon with a horizontal rule. anyone done anything in this area?