emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [BABEL] literate Lisp games development questions
@ 2010-07-02 12:46 David O'Toole
  2010-07-02 22:33 ` Dan Davison
  2010-07-02 22:48 ` Eric Schulte
  0 siblings, 2 replies; 5+ messages in thread
From: David O'Toole @ 2010-07-02 12:46 UTC (permalink / raw)
  To: emacs-orgmode Mailinglist


[-- Attachment #1.1: Type: text/plain, Size: 2775 bytes --]

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.

See  http://github.com/dto/org-babel-lisp/  for my very basic code. Feel
free to use this, I already have FSF papers, and I will keep you updated on
progress.

The document I'm working on is at http://dto.github.com/notebook/void.html
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?

[-- Attachment #1.2: Type: text/html, Size: 3168 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-07-04 13:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-02 12:46 [BABEL] literate Lisp games development questions David O'Toole
2010-07-02 22:33 ` Dan Davison
2010-07-03 21:34   ` David O'Toole
2010-07-04 13:34     ` Dan Davison
2010-07-02 22:48 ` Eric Schulte

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).