Sign in to follow this  
mewse

The Muncher's Labyrinth

Recommended Posts

I've been experimenting with following the "Experimental Gameplay" development model on and off for a little while, as a creative exercise; effectively, randomly selecting a topic at the start of the week, and completing a game on that topic by the end of the same week. It's produced some interesting results, but this is the first one that I've really felt like telling people about. The topic for this one was simply "Muncher". Produced in two marathon 12 hour sessions over a 30 hour period (and finished within five minutes of the self-imposed deadline), "The Muncher's Labyrinth" is a maze game where you play as the invincible denizen of a subterranean maze, protecting your hoarde from a band of virtuous knights, and is rendered almost entirely in classic vector graphics. "The Muncher's Labyrinth" (along with most other things on the site) is entirely free, binaries are available for Windows and MacOSX, the code is cross-platform and available under the GPL, the subversion repository where I work is publicly readable, and the data is available under various Creative Commons licenses. For those who care about such things. Obviously there are a number of sharp corners that could be polished off, but for what was effectively a day-and-a-half effort, I think it's looking pretty good. :) Download "The Muncher's Labyrinth" mewse

Share this post


Link to post
Share on other sites
I'd like to try this (I'm using OS X), but it looks like it needs the GLEW framework.

Do you know if the framework is available online in binary form? Or do I need to build it? I Googled, but the only binaries I found were libraries (.a, .dylib).

Share this post


Link to post
Share on other sites
Hm.. I'll have to double-check; I thought I'd set up the glew framework to be copied into the OS X app bundle.

I do have a build of the framework that I can put up for download. I'll investigate tonight and put up a fix or a link to a prebuilt universal glew framework (or both).

[Edited by - mewse on January 31, 2008 5:46:54 PM]

Share this post


Link to post
Share on other sites
FYI, here's the crash log:

**********

Host Name: jyk-Dual-G4
Date/Time: 2008-01-31 15:33:49.807 -0600
OS Version: 10.4.11 (Build 8S165)
Report Version: 4

Command: Munchers
Path: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Parent: WindowServer [60]

Version: VectorStorm version 0.1 (1.0)

PID: 2131
Thread: Unknown

Link (dyld) error:

Library not loaded: /Users/trevor/Library/Frameworks/Glew.framework/Versions/A/Glew
Referenced from: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Reason: image not found
**********

Host Name: jyk-Dual-G4
Date/Time: 2008-01-31 15:33:59.244 -0600
OS Version: 10.4.11 (Build 8S165)
Report Version: 4

Command: Munchers
Path: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Parent: WindowServer [60]

Version: VectorStorm version 0.1 (1.0)

PID: 2134
Thread: Unknown

Link (dyld) error:

Library not loaded: /Users/trevor/Library/Frameworks/Glew.framework/Versions/A/Glew
Referenced from: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Reason: image not found
**********

Host Name: jyk-Dual-G4
Date/Time: 2008-01-31 15:34:02.977 -0600
OS Version: 10.4.11 (Build 8S165)
Report Version: 4

Command: Munchers
Path: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Parent: WindowServer [60]

Version: VectorStorm version 0.1 (1.0)

PID: 2136
Thread: Unknown

Link (dyld) error:

Library not loaded: /Users/trevor/Library/Frameworks/Glew.framework/Versions/A/Glew
Referenced from: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Reason: image not found
**********

Host Name: jyk-Dual-G4
Date/Time: 2008-01-31 15:34:18.355 -0600
OS Version: 10.4.11 (Build 8S165)
Report Version: 4

Command: Munchers
Path: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Parent: WindowServer [60]

Version: VectorStorm version 0.1 (1.0)

PID: 2143
Thread: Unknown

Link (dyld) error:

Library not loaded: /Users/trevor/Library/Frameworks/Glew.framework/Versions/A/Glew
Referenced from: /Volumes/Muncher-1.0.3-OSX/Munchers.app/Contents/MacOS/Munchers
Reason: image not found

Share this post


Link to post
Share on other sites
Ok, I got it to run :) The framework is in Contents->Frameworks - it just looks like it's not linked in correctly. I moved it to my Library->Frameworks folder, and that fixed it.

I'll post back once I've tried it out...

Share this post


Link to post
Share on other sites
I got it to run, but you might try it on some other OS X machines (if you can), because of the aforementioned framework issue, and also because it seems to looking for the options file in the wrong place (I had to move it to the folder where the app resides).

My experience is that you have to take some special steps when distributing your app to get it to look in your resources/data folders. I've handled this by modifying SDL_main.m, but there may be other ways to solve the problem...

Anyway, I couldn't seem to modify the sound settings (I could change them in the options menu, but the sound effect volume stayed the same). The graphics are very nice though, and the game plays very smoothly :)

Share this post


Link to post
Share on other sites
Just FYI, I've uploaded a fixed OSX build, which correctly runs using the embedded Glew framework, and is properly set up to load data resources from inside the application bundle (previously it had trouble if you changed the name of the application bundle). Finally, I located the cross-platform bug that changing the sound effect volume level didn't do anything, except in very limited circumstances.

While I've done my best to test it, I'd be very grateful if someone else would download it and test the new 1.0.3.1 OSX build and verify that it runs happily on a Mac that isn't mine! :)


I actually had it changing the volume level only of sound effect channels that had already been used during that run of the game, which meant that if you set the option immediately after launching the game (or if the preferences system itself set it from a saved preferences file), then it wouldn't actually change the volume level of any sound channels.

Share this post


Link to post
Share on other sites
I still had to move the preferences file into the folder where the app was, but otherwise everything seemed to work (including changing the sound effect volume).

Share this post


Link to post
Share on other sites
The code's pretty clearly trying to read and write the global.prefs file into Resources/Data/Preferences/, inside the application bundle..

I wonder whether the problem is one of permissions; can you check whether once you removed the existing global.prefs file from that directory, the game just created a new one in that position, and has been updating the new one? I can't see any way that it'd be accessing the file from the same directory with the app bundle; the game will assert if it can't change its working directory into the app bundle.

Share this post


Link to post
Share on other sites
Sign in to follow this