MVC, Games, and a message bus
It seems to me that many approach the use of MVC in games with skepticism, but the more I develop a game in MVC, the more I am reassured in my decision to do so. I operate by the principle that models should absolutely not know about their view(s) (or controllers) -- models should be completely standalone chunks of state and logic that can only reference other models. However, this can present us with a few problems.
Game ideas?
Well, another day, another quest for game ideas. An online game would be fun to make, but my problem is always I think too damn big. My last idea was a Utopia clone, and I got so far as to create a scripting language that compiled into Ruby, but I just never got around to finishing it. What would be nice is a game that's fun in its simplicity -- simple to play, simple to program, just something you spend half an hour or an hour on a day, tops. There'd be a way to interact with other people easily; there'd be chat rooms and forums, and discernible "hot spots" where a lot of people were chatting or posting messages. But the most important thing is core gameplay: unique, rewarding, and fun. I'll get right on that...
Partial success!
For a good chunk of yesterday, I was trying to ""port"" my exceedlingly simple Ruby application to Windows. The hitch? It uses Gosu (game engine), Chipmunk (physics engine), ImageMagick (popular graphics tool), and RMagick (wrapper for ImageMagick in Ruby). With the help of RubyScript2Exe it almost, almost worked. Gosu and Chipmunk had no problem, as they had no-strings-attached .so files and apparently were programmed well. ImageMagick, despite trying to be a pain in the ass by making me include an extra dozen DLLs in my project folder, actually did end up working. But RMagick...when moving the generated app to a new computer that didn't have ImageMagick installed freaked out with a weird "address not accessible" error or something. After some fiddling I gave it up as a lost cause and dropped support for ImageMagick+RMagick. The only reason they were there in the first place is because I wanted to load SVG files whenever possible, and possibly have some dynamic graphic generation, but...the former isn't that great anyway, and the latter will have to be done other ways, if at all.
So, yes, Ruby+Gosu+Chipmunk play just fine with RubyScript2Exe on both Windows and Linux.
Distributing Ruby Apps
So I'm pondering the idea of writing a game...but I want it to be playable on Windows and Linux, and I want it to be available on Linux without much trouble. I've made a couple interesting discoveries, in terms of applications to help me do this.