Game state is usually quite a good way to go for complicated games... I found that making a game without procedures or functions (only one big main begin end. statement) with no records or anything is impossible. I got around 2,260 lines in and then found sustainability was impossible. And that without graphics since it was meant to be like nethack (hehe).

Reading this thread though, makes me want to step back out there and get to game coding once again though. Maybe more work on the libraries I made for RPGs? Or perhaps on the one I started for Mario style platformers? Oh, and of course I'll keep throwing more lines at prometheus. Although now I think of it, you aren't Lazarus or Delphi are you? From those that use it I hear it's really great. As for my Prometheus suggestion, although its quite new, its event handling is (I find) quite useful. I've just started writing the documentation for it, so you would probably be able to either use the full core unit, or just svn the source code and take what you need. Thats what its there for after all.

Sorry for the long post, but hey, hope it helps.
code_glitch.