Test my Standalone DMOD Packager!
Hello everyone, I have finally gotten around to starting a program I have always wanted to make.
A Standalone DMOD Packager.
What this does is it allows you to make a self-extracting file containing a distributable version of a DMOD so that other people can play it without having to install Dink Smallwood. This means that you can put it up for download on your own personal site so that your friends and admirers can play that ultra cool game you just made.
If you would like to try it out, it's available here. What you have to do after decompressing it, is you run dinkpacker.exe and hopefully it should tell you what to do. If it doesn't then tell me if it throws up an error or if it's unclear what you must do. If you can't decompress dpacker.7z, you must download WinRAR or 7-zip. It may be unstable and it might not work at all, so be warned.
If you're not using Windows, you might be able to get it working by installing the necessary libraries (easygui and Pillow/PIL) using pip or easy_install if you have a Python interpreter. It will only be able to generate a standalone release for Windows because of current technical limitations.
Planned features
----------------
Multiple DMOD support
Sound file compression
Save cleaner
Customizable launcher options
NSIS support (possibly)
A Standalone DMOD Packager.
What this does is it allows you to make a self-extracting file containing a distributable version of a DMOD so that other people can play it without having to install Dink Smallwood. This means that you can put it up for download on your own personal site so that your friends and admirers can play that ultra cool game you just made.
If you would like to try it out, it's available here. What you have to do after decompressing it, is you run dinkpacker.exe and hopefully it should tell you what to do. If it doesn't then tell me if it throws up an error or if it's unclear what you must do. If you can't decompress dpacker.7z, you must download WinRAR or 7-zip. It may be unstable and it might not work at all, so be warned.
If you're not using Windows, you might be able to get it working by installing the necessary libraries (easygui and Pillow/PIL) using pip or easy_install if you have a Python interpreter. It will only be able to generate a standalone release for Windows because of current technical limitations.
Planned features
----------------
Multiple DMOD support
Sound file compression
Save cleaner
Customizable launcher options
NSIS support (possibly)
Hell yeah, sounds awesome. A long time coming too, I'd say.
Doesn't really work for me.. First of all, after I enter the path for the Dink data folder (which I believe I got right on the second try with Dink Smallwood\dink\ - could be clearer on that, I tried just Dink Smallwood\ at first) the program just stops there and nothing else happens. The next time I ran the thing, however, it asked for the dmod I want to package, so no big deal, I thought...
However, since it copied stuff from the folders 000\, 1screen\, 4towers\ and aaw\ instead of graphics\, sound\, story\ and tiles\, I'd guess it used the wrong dir after all. (How do you change the dir in hindsight?)
Doesn't really work for me.. First of all, after I enter the path for the Dink data folder (which I believe I got right on the second try with Dink Smallwood\dink\ - could be clearer on that, I tried just Dink Smallwood\ at first) the program just stops there and nothing else happens. The next time I ran the thing, however, it asked for the dmod I want to package, so no big deal, I thought...
However, since it copied stuff from the folders 000\, 1screen\, 4towers\ and aaw\ instead of graphics\, sound\, story\ and tiles\, I'd guess it used the wrong dir after all. (How do you change the dir in hindsight?)
Hrm, that's no good. It sounds like it may have attempted to copy your entire installation as well as dmods instead of just data. The data folder is the one that contains the STORY, GRAPHICS etc folders. The next release will have a "sanity check" in which it looks to check if you're copying a proper data folder, and I may include a data collection just to be safe.
If you delete the "dink" folder it has copied over and try running it again and select the data collection, it may work properly.
If you delete the "dink" folder it has copied over and try running it again and select the data collection, it may work properly.
Oh yes! This is excellent! When I was finishing college I tried to get an intern position at a game developer here in Belgium. I gave them my d-mods as part of my portfolio, but it was apparently too much to have to install Dink first xD
This will make it very portable to test it wherever I am as well. Wonderful, truly.
This will make it very portable to test it wherever I am as well. Wonderful, truly.
This is such a fantastic idea! How has nobody come up with this before?
A lot of people have come up with the idea, butnobody has bothered (or had the skills) to make it! Good work
I was quite surprised nobody else has given it a go yet. I used Novashell a couple of years ago to make a game for a friend's birthday. It was really easy for it to get up and running because Novashell has a packager built right into the main program meaning it would just zip up the game and give me a file to I could take anywhere. In fact you could package up multiple games and it would auto-detect them and give you a fancy list you could run them all from. I plan to implement such a thing in the near future . It's a shame Seth didn't have the foresight to make something as comprehensive for Dink.
Anyway, I have made a new version, 0.1.1 which includes <u>EXCITING NEW FEATURES</u> including the beginnings of an interactive command line mode and proper checks for things so that it hopefully won't screw up as much. The link is in the original post, which I have updated.
Anyway, I have made a new version, 0.1.1 which includes <u>EXCITING NEW FEATURES</u> including the beginnings of an interactive command line mode and proper checks for things so that it hopefully won't screw up as much. The link is in the original post, which I have updated.
Now all we need is for it to run in a browser window!
... We can all dream right? xD
... We can all dream right? xD
Hey, Toast! While you're at it, make Online Dink, will ya?
It's been done, but not for the main Dink engine.
redink1's old engine improvement reDink (of which most features are incorporated into 1.08) included a file called reDmod.exe which could be placed in a D-Mod directory, and it'd run that one. This was so that people who'd want to use fancy engine features could include that .exe and the players wouldn't have to change their main Dink engine.
As far as I know, nobody published a D-Mod making use of those engine features before 1.08 came along.
redink1's old engine improvement reDink (of which most features are incorporated into 1.08) included a file called reDmod.exe which could be placed in a D-Mod directory, and it'd run that one. This was so that people who'd want to use fancy engine features could include that .exe and the players wouldn't have to change their main Dink engine.
As far as I know, nobody published a D-Mod making use of those engine features before 1.08 came along.
What about Dink Goes Boating? Didn't that use it at some point?
Oy, it did . Wow, I completely forgot about that D-Mod. Thanks for the reminder
I don't think a lack of foresight was Seth's major problem. To hear him talk about the game's development, it's astounding it was finished at all.
By the way, I downloaded your file, Toast, and 7zip won't even extract any files from it at all. Is this because I'm using Windows 7 32-bit?
Edit: Nope, it's because I was using a three-year-old version of 7zip. Funny, I never had a problem until now.
Edit 2: It wouldn't work until I removed 7zip.exe as you suggested. Once I did, however, it made a lovely little .tar.bz2 archive out of redink1's Alliance Command (it was about 16MB). When I extract it, it does indeed run by itself when I execute play.bat. Quite well, I might add! It only seems to run windowed, though.
I liked your readme, by the way.
By the way, I downloaded your file, Toast, and 7zip won't even extract any files from it at all. Is this because I'm using Windows 7 32-bit?
Edit: Nope, it's because I was using a three-year-old version of 7zip. Funny, I never had a problem until now.
Edit 2: It wouldn't work until I removed 7zip.exe as you suggested. Once I did, however, it made a lovely little .tar.bz2 archive out of redink1's Alliance Command (it was about 16MB). When I extract it, it does indeed run by itself when I execute play.bat. Quite well, I might add! It only seems to run windowed, though.
I liked your readme, by the way.
I don't believe you! Nobody reads the readme file. Anyway, thanks for testing it. I use the newest Alpha version of 7-zip here so it may have problems with older versions. I didn't think that anyone still bothered to run Dink in fullscreen. I might add that as an option in a later release.
C'mon, how immersed can you feel if Dink's world is confined to that little window? I always run games fullscreen if I can help it. Feels more cinematic.
I can fix it myself by just taking the -w out of the batch file, of course, but it'd be nice to put the option in "Babby's First GUI."
I can fix it myself by just taking the -w out of the batch file, of course, but it'd be nice to put the option in "Babby's First GUI."
Oh hell no, no more fullscreen Dink for me. The game aged pretty well, but only in windowed mode. The resolution just makes the pixels stand out too much otherwise
Psh, I play Genesis games fullscreen, and that's like half the resolution of Dink.
Gimme them big pixels!
Gimme them big pixels!
Well said Cocomonkey. Dink fullscreen forever. I should make a Dmod with that name. Dink Fullscreen Forever. Yeah. No.
But really. Dink on fullscreen is much better than windowed.
As long as the music tracks are good.
But really. Dink on fullscreen is much better than windowed.
As long as the music tracks are good.
This newest release includes a feature that converts all your tiles to JPG. This works due to Freedink using SDL_image meaning it supports loads of different file types. However unlike Dink 1.09, Freedink specifically looks for the ".BMP" extension meaning it must rename all the JPG files back to "*.BMP" even though it's a JPEG file. Obviously don't use this release if you require palette changes in 256 colours as it won't work.
I read somewhere that one of the greatest final determinants of people downloading and playing online games is the time they have to wait for it to download which is why Flash and other instantaneous in-browser games are so popular. What I am now attempting to do is to get the final size of most packages down to something under 10 megabytes. Converting the tilesets on average seems to make them take up about 1/5th of the space they formally did without any noticeable degradation. Converting the sounds to Ogg Vorbis seems to achieve a similar thing sound-wise, although I imagine that the ".BMP" caveat also applies to ".WAV" files in this case.
Alternately, I could just make it so that it deletes all the sounds and music, but that's no fun. The bulk of the final file size is still the graphics collection. JPEG is not suitable in that case because of possible artifacts which interfere with transparency. My tests with PNG have not been fruitful, as the final size of the file ends up being very similar to what it would be in the 7z archive.
I suspect my next step is to figure out how to intelligently scan through Dink.ini and MAP.DAT to see which sequences and tiles are being used in order to determine what may be deleted.
Also, try dragging him around!
I read somewhere that one of the greatest final determinants of people downloading and playing online games is the time they have to wait for it to download which is why Flash and other instantaneous in-browser games are so popular. What I am now attempting to do is to get the final size of most packages down to something under 10 megabytes. Converting the tilesets on average seems to make them take up about 1/5th of the space they formally did without any noticeable degradation. Converting the sounds to Ogg Vorbis seems to achieve a similar thing sound-wise, although I imagine that the ".BMP" caveat also applies to ".WAV" files in this case.
Alternately, I could just make it so that it deletes all the sounds and music, but that's no fun. The bulk of the final file size is still the graphics collection. JPEG is not suitable in that case because of possible artifacts which interfere with transparency. My tests with PNG have not been fruitful, as the final size of the file ends up being very similar to what it would be in the 7z archive.
I suspect my next step is to figure out how to intelligently scan through Dink.ini and MAP.DAT to see which sequences and tiles are being used in order to determine what may be deleted.
Also, try dragging him around!