Maelstrom (classic Mac game) art?
The 1992 Mac game Maelstrom was really great, and in particular had amazing art. And according to Wikipedia, all that (including art) was released under Creative Commons in 2010.
I've found the current source: http://www.libsdl.org/projects/Maelstrom/source.html
Also available on GitHub, e.g.: https://github.com/richardjs/Maelstrom
But all the sprites were originally stored in the Mac resource fork (I think in 'cicn' resources, though I'm not 100% sure). They're now in this binary file, still in the format of a Mac resource fork. It seems the guy who did the original port to SDL just wrote C++ code to read this format directly, rather than extract the images into some more common format.
Still, that was 12 years ago. Surely somebody has extracted these resources into a sprite sheet or separate little PNGs or something by now? Perhaps my google-fu is too weak to find them. Anyone know of where these resources can be found, short of re-hacking this extracted resource fork?
Hi,
@Joe Strout: "Surely somebody has extracted these resources into a sprite sheet or separate little PNGs or something by now?"
I don't think so. But if I were you, instead of messing around with the resource file directly, I would simply hack the game's source to save the sprites in memory after they are loaded from dragonland.
The sprites are loaded in two places, here and here. After the screen->LoadImage call you can save the sprite. The variables are as follows:
Using SDL_Image it should be trivial to save that SDL_Surface into a PNG file by the name ("%04d-%d.png", baseId, index), or you could merge the frames into a single SDL_Surface and save that.
EDIT: hmmm, it looks like baseID isn't unique at all. So I guess you should write a function "SaveSpriteasPNG(BlitPtr *aBlit, char *pngname);" and call that in LoadBlits() like this:
/* -- Load in the thrusters */
if ( LoadSmallSprite(spriteres, &gThrust1, 400, SHIP_FRAMES) < 0 )
return(-1);
SaveSpriteasPNG(&gThrust1, "ghrust1.png");
EDIT2: I've attached a modified init.cpp (I had to rename it to png, just rename it back to init.cpp). If you compile the game with this, then when you run the game it will save the sprites into BMP files (I've chosen BMP over PNG so that you don't have to mess around with SDL_image linking, as SDL_SaveBMP is supported by the base SDL library). Check out the "SaveBlitasBMP()" function that I've added, and modify it to your needs if you want to.
Hope this helps,
bzt
@Joe Strout: Well? Did it work for you? Were you able to save the sprites with my init.cpp hack?
Cheers,
bzt
No, for me it was substantially easier to just pull them out of the resources file.
But thank you anyway! It was generous of you to look into it.
@Joe Strout: "for me it was substantially easier to just pull them out of the resources file."
I've thought you don't know how to do that.
"But thank you anyway! It was generous of you to look into it."
You're welcome! I'm glad you managed to get the sprites. Well done!
Cheers,
bzt
Original Maelstrom in not arcade it is strategy game in space.
https://www.myabandonware.com/game/maelstrom-1gh
..extremely brutal fight in space in Dune movie stile. But for that time it has some heart, I don't know why Mac developer use this name. In parallel, I also played Supremacy aka Overlord on C64. Thank1`s God, name is not used by Mac in some asteroid hunt.
The Mac game came out first.
If anyone still needs original sprites from the game I do have them. They are freely available with a bit of searching as well.
Just wanted to mention here that Maelstrom2 is in development and progress on it has come a very long way. M2 features the original game in it's own mode, with new graphics and added optional features and sounds, as well as Maelstrom2 which the Sequel in 3D. There will also be support for multiplayer base in the M2 Universe and builds are planned for MacOS Intel + Apple Silicon, Windows, Linux, and iOS in the future.
I am working very closely with the original sprite artist Ian Gilman on the project and he is very excited to see where M2 development leads. Of course it is just a few developers on the team right now, but we do have a working demo of the Original Mode of the game.
The project can be found on Discord and I would be happy talk to anyone interested in working on the project.
As far as art goes. Here is a sneak peek.
screen_recording_2024-01-29_at_10.04.57_am.gif 17.8 Mb [0 download(s)]
demo1.png 1 Mb [0 download(s)]
demo2.png 1.1 Mb [0 download(s)]