i7 / kerkerkruip

Kerkerkruip - the interactive fiction roguelike game
kerkerkruip.org
82 stars 13 forks source link

Media tasks #41

Open curiousdannii opened 11 years ago

curiousdannii commented 11 years ago
curiousdannii commented 11 years ago

I've tried various png optimiser options but I can't get the jpegs smaller than they are already. The pngs can be optimised considerably, but they don't count for too much. I'm going to look for jpeg optimisers too. This looks awesome, but it's mac only. http://imageoptim.com/ Want to give it a try Erik?

ektemple commented 11 years ago

That image optimizer is a great find, Dannii! It really gives the lie to Photoshop's supposed optimization. Basically, we are saving:

5-7% on each monster card 50-80% on each PNG in the interface UI 17-20% on each movie frame

Overall, we've probably cut only 10% off the compiled size. But it's nice to know the tool exists.

curiousdannii commented 11 years ago

Thanks for doing that Erik!

Would it be possible to align the ground grid to proper pixels? They look uneven currently, but I also predict that they'd compress better as well. Don't worry if it'd take too much effort to change.

Do you know if the .anme files can be edited by anything other than Anime Studio? It's fine if they can't be, it'll just mean you'll be the only animator :P

ektemple commented 11 years ago

I doubt that anything else can edit .anme files. But there's nothing to stop folks from using another animation program that can export JPEGs.

I don't know exactly what you mean by align to proper pixels, but whatever it is it wouldn't be worth the effort. ;)

ektemple commented 11 years ago

I've added some more source files to the repo. Most important are the original exports from Illustrator of the characters in the minimovies. This will allow anyone with animation software capable of producing JPEGs/PNGs to produce animations.

https://github.com/i7/kerkerkruip/commit/b2e5a424144d98b06ae43d6fcbfbce267694e347

curiousdannii commented 11 years ago

Is the ground made out of equals symbols? That explains why they're not rectangular!

ektemple commented 11 years ago

Of course! Everything is type! (Well, everything except blood...)

curiousdannii commented 11 years ago

I noticed a number of the frames are repeated. If we just referenced the same image then the file size would be cut down a little.

VictorGijsbers commented 11 years ago

Moving to milestone release 9.

curiousdannii commented 11 years ago

I moved the image sources to a separate branch (image-sources). This makes the master branch much smaller, which is needed if I can get a compiler server running.

curiousdannii commented 10 years ago

There's an odd blue smudge on the bottom of title_00017 and title_00018. I could remove it but Erik would need to put them through the compressor again.

ektemple commented 10 years ago

I can't see any smudges in those images, even adjusting levels to a place that should make them very obvious. I wouldn't worry about it.

curiousdannii commented 10 years ago

Really? They're very obvious to me, and it notice it every time the movie plays. It's on the left of the sword, where the bottom of the g would be. For title_00017 it's 20px from the left, 50px from the bottom. For title_00018 it's in the middle of the sword.

ektemple commented 10 years ago

Wow, your monitor must be very bright. I found it, but only by jacking the levels really high:

image

They are absolutely invisible on my monitor.

I can rerun the compression if you want to remove them!

curiousdannii commented 10 years ago

I don't know what to say! Maybe my screen's gamma is off?

The RGB is 2,15,21, which in HSL is 5% lightness, so regardless of whose screen is badly adjusted we would have to expect it to be visible to some people. I'll remove the colours and commit them. :)

ektemple commented 10 years ago

I have created a template for the OS X "installer" (really a disk image, as the new Apple preference for installing software). Basically, I'll just need to insert the real files when we're ready to release. (I'll probably create a make file to do this automatically.) This also involved creating an icon for the app-- but not a very exciting one!

Here's what the disk image and icons look like: https://imgur.com/C6zntkv

curiousdannii commented 10 years ago

Do disk images make it hard to upgrade apps?

I like the Icon!

ektemple commented 10 years ago

Not at all, installing apps is the easiest thing in the world--just drag the app to the Applications folder (symlinked on the disk image so you don't have to open your own directories). Unfortunately, Kerkerkruip isn't an app, and Gargoyle doesn't provide control over where the data files are saved, so things have to be more complicated for Kerkerkruip...

curiousdannii commented 10 years ago

For the Windows installer I'm just including Gargoyle in it. Could the same be done for OSX? What would it take to turn Kerkerkruip into an app?

ektemple commented 10 years ago

Gargoyle is already included on the image, you can install it or not as needed (see the file I linked).

Tweaks to Gargoyle would be needed to allow Kerkerkruip to be an app. Here's what Ben Cressey said back in 2010(!) when I pitched him the idea of Gargoyle as a cross-platform vehicle for standalone apps:

On the Windows side it ought to be straightforward - I could just remove the launcher and figure out a way to pack the interpreter, game file, and library into one exe. Really the challenge is getting the build scripts to make one massive static binary instead of multiple DLLs and config files. Then finding a way to incorporate a game file into that same executable. Windows allows you to put secondary resources into a file (like icons) so presumably there's a way to shoehorn an arbitrary binary in there as well. The Mac side would be a little more convoluted. Most of the contortions with the Gargoyle build have been to get it to support many interpreters and many game files running simultaneously. I was actually much closer to the solution the first week I worked on the Mac project! Back then I could run one game perfectly - it wasn't until I realized I couldn't run a second game that the scope of the task became clear. Macs have it a bit easier because a Mac application bundle is really just a folder structure with everything in particular places. I would need to lobotomize the launcher (so it didn't offer to open any other files) and have it invoke the game file automatically. Then offer a way to strip out the unnecessary interpreters to cut down the file size. The other wrinkle is allowing the icon and application title to be customized, so that authors could distribute a game with their own branding and credits. The ideal would be to have the Gargoyle engine run the game more or less invisibly. There's no reason that players should care, really, and no reason the author should need to advertise Gargoyle. One of the things I like about indie games outside the IF context is that they usually come as standalone executables with their own icon. It makes the game seem like an independent creation and lends a more professional veneer.

But still, it's certainly doable. I actually see it as a good way to get more potential programmers contributing to Gargoyle - if it's the preferred desktop delivery system, it encourages people to tinker with the defaults to get it just right for their game. Some of that tinkering could translate into new feature patches for the core code.

curiousdannii commented 10 years ago

FYI it's possible/likely that in the future I'll want to include a Python launch script (for my external URL links idea).

OSX is a unix, so I'm sure it would be possible to run a launcher script to call git directly. I'm guessing the tricky thing would be to get the libraries working from within the disc image? If specifying where to save data files is an issue perhaps the gblorb could be symlinked into the home folder, like the debian package does.

But as I said I don't really know the conventions for OSX so if what you're doing is the normal thing, then great!

curiousdannii commented 10 years ago

@ektemple, what do you think about the remaining tasks here? Can we use the icon you made for the mac installer for the others too?

ektemple commented 10 years ago

Icon: I'm not terribly happy with the icon, but sure, we can use it for the other installers, and for the gblorb file. (We can always change it if/when someone comes up with something better!) Is there a good spot for it in the repository? I'll push it tonight if so.

Installers: OSX can definitely do installers, but Apple took down their documentation in order to discourage them. That said, I think you're probably right that an install script is the way to go, even for OSX. With just a plain disk image, new installs are easy but upgrading makes things complicated enough for the end user (see my screenshot above) that it probably is best to use an installer, which can be run from a disk image. I'm probably not the guy to do it, though :(

New cover image: I assume that this is for the textual main menu. How about this: We use the Kerkerkruip logotype from the graphical main menu. But since that really needs to be on a black background, we also display the textual main menu on a black background. Now that you have enabled Flexible Windows to open + close the main window (and thus also change the styles associated with the window), we could do this without any hacks.

Typing sounds: This isn't something I'm very motivated to do. If somebody else wants it badly enough to implement it, go for it!

mciul commented 10 years ago

What's involved with adding keyboard sounds? I'm very comfortable with Audacity and I have iMovie - would that be enough to do them?

Oh dear me! The minimovies are actually stored as individual images!? I don't know if that makes it easier or harder to sync sounds with them.

ektemple commented 10 years ago

You just need a sound or sounds in ogg or mp3 format, and a plan for syncing them to content whose animation speed is widely variable on different machines and interpreters, and whose inherent length can also vary greatly (we may have texts as short as ">roll" or as long as ">throw morphean grenade east").

mciul commented 10 years ago

Looking at the code, it looks like it types one character per frame. Can we just start a new sound every frame?

ektemple commented 10 years ago

The cursor blinks once per frame, I think, and characters are typed at an interval of every other frame after the first 6 (or something like that). My feeling is that you'd need to use at least two sound channels (so that sounds can overlap each other if need be), and that overall the typing is slow enough that the sound effect will just be annoying. Like listening to an incompetent yet regular typist.

But feel free to give it a shot if you like! I could well be overly pessimistic.

mciul commented 10 years ago

I tried setting up a little test project to just play the movies and not get bogged down with all the other Kerkerkruip stuff. It didn't go well. Too much code coupling!

ektemple commented 10 years ago

No project that contains Glimmr animations will be tiny. I don't think there's really a reason to make a tiny project in this case, though? The "typing" is the very first thing that happens in a runthrough.

mciul commented 10 years ago

Fair enough.

curiousdannii commented 10 years ago

@ektemple, the upgrade complications are mostly to do with keeping your datafiles right? Could you use a launcher script like I do for Debian to copy/symlink the gamefile into a hidden folder in the user directory and run it from there? If that works then it could be kept as a simple disc image (which I know I keep calling an installer, sorry!)

The windows installer has two images, so I might just update them from some of the newer cover art.

Good ideas on the other ones!

ektemple commented 10 years ago

Yep, that's what I meant--use an installer to deal with the datafiles somehow. I assumed that you symlinked the datafiles from the user folder, though, rather than the game file... Anyway, I've never done that sort of thing, so I'm not sure what would be involved.

(The user would also have to enter their password, I think, which might make some security-conscious folks nervous.)

Do you want to use the icon? I don't plan to try to come up with anything better anytime soon--icon design is definitely not a strength of mine!

curiousdannii commented 10 years ago

I figured it is easier to symlink the game file and ini file, so that the interpreter will leave the data files in the user folder where they belong. It's also more straight forward as we might add data files more frequently than other files.

If disc images don't ever prompt for the password then that's not ideal, though writing files to the user folder should be okay I would think. I haven't looked at docs about that but I can.

Can you upload the icon you have so far? It's certainly a better place to start that what I tried before!

ektemple commented 10 years ago

You can open any file from a disk image, but if it triggers an executable (or could, e.g. a PDF or an Excel file), there will be a security message. And if the executable tries to make changes that require a password, there would also be a password warning. There is also (as of Mountain Lion) something called Gatekeeper that is supposed to prevent users from installing undesirable content. I don't know much about that (I don't run Mountain Lion or later), but apparently it stops all scripts from running unless they are properly signed.

Apparently there is a way to create installers that will pass the Gatekeeper, but it seems they must be created from an Xcode (official development tool) project. The man page is gobbledegook to me: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/productbuild.1.html#//apple_ref/doc/man/1/productbuild

I think the right way to do this on OSX is not to put hidden files in the user's home folder. There is an Application Support folder in home that apps are supposed to use for any files that need to live outside of the .app package. It would be best to put the data files there and symlink them to the user's Kerkerkruip folder. (Second best would be to put the game and ini files in Application Support.)

I don't feel qualified to set this up. Is there anyone on the dev team who has Mountain Lion or later and does feel able to take this on?

I'm pushing the icon files now. They are icns packages. They can opened by applications listed here, or I've also heard that you can grab files from inside the package with 7Zip.

curiousdannii commented 10 years ago

Thanks for the info, it's quite thorough. I'm definitely not qualified either. We should ask on the intfic forum, maybe someone might be able to help.

curiousdannii commented 10 years ago

I converted Erik's icons and uploaded them to https://github.com/i7/kerkerkruip/tree/master/packages/cross-platform%20images

@ektemple there seem to be some jpeg artefacts... are the originals like that, or is that the fault of the converter I used? Also, could you put the updated Card Factory.ai into the image-sources branch (or put it on dropbox or something and I can put it into git) Also also, I may be getting an iMac at work, and if so I'll take a stab at making an .app. Maybe not in time for the version 9 release, but that's okay.

@VictorGijsbers do you prefer the black or red icon?

ektemple commented 10 years ago

They're not jpeg artifacts. Basically, you have to manually fix the auto-scaling of the icon. I only did that at certain key sizes.

I'm added the image-sources branch, but I'm not sure what's going on, so here's a Dropbox link that's always up to date: https://dl.dropboxusercontent.com/u/947038/Kerkerkruip%20Art/Card%20Factory.ai

VictorGijsbers commented 10 years ago

At first sight, the black icon, but my preference isn't strong. (It's just the red icon might be ugly on some backgrounds, whereas black always fits.)

curiousdannii commented 10 years ago

@ektemple would it be possible for you to share your whole art folder on dropbox? I'm asking now because I'd like the Illustrator format of the icon for Linux, but if you're willing, having the others available in advance will probably help again for something else in the future.

ektemple commented 10 years ago

Sorry for the long delay, I've been out of the country for three weeks! There's been quite a flurry of activity the past few days!

I don't want to share my art folder in its current state; it's a total mess, without any organization at all, and almost certainly contains copyrighted material.

I don't seem to have the Illustrator files for the large K icons any longer. I'll look through my backups this morning and pass on the files if I can find them.

On Sat, Mar 29, 2014 at 3:43 AM, Dannii Willis notifications@github.comwrote:

@ektemple https://github.com/ektemple would it be possible for you to share your whole art folder on dropbox? I'm asking now because I'd like the Illustrator format of the icon for Linux, but if you're willing, having the others available in advance will probably help again for something else in the future.

Reply to this email directly or view it on GitHubhttps://github.com/i7/kerkerkruip/issues/41#issuecomment-38990239 .

curiousdannii commented 10 years ago

Hey Erik, no worries. I understand mess!

I've decided I may end up reimplementing some of the images you've done, even with illustrator access now it's hard for me to use it. I'll leave all the game's images alone, this will just be for the installers and extra materials. I've started reworking the K icon so that the text is on a 32px alignment (to make it resize better), so if you can't find the source file it's not very important.