Lostcast 144: Grosscast


  • LDG



  • Hi great podcast as always(I am a long time listener but first time in this forum). After i listened to this cast i wrote a small Plugin for Paint.Net to have the effect you guys talked about. I called it LDGAverage and can be downloaded here (i hope you enjoy this fun plugin): https://sleeplessgaming.files.wordpress.com/2015/10/ldgavarage1.zip

    It basicly works like this:
    Add a layer in paint.net with only transparent pixels
    Try draw the shape you want free hand (with alot of lines)
    Execute the plugin (it will average out all x values for non transparent pixels)

    How to install the plugin look here: http://forums.getpaint.net/index.php?/topic/1708-how-to-install-pluginsgeneral-plugin-troubleshooting-thread/

    And please dont sue me i used your logo for the plugin!

    Now a shameless plug from my site, check out my first game http://parttimeindie.com/2015/10/13/4smile/

    Keep up the great work Regards PartTimeIndie (or KeySam in the comments of past episodes ;) )


  • Tiger Hat

    Hey @richtaur and @geoffb! Awesome podcast as always! Had a question. You mentioned using HTML5 canvas getImageData() and putImageData() for doing a grayscale effect. This is slow because video cards are not designed to pull pixels back off the hardware buffer and send them back to RAM. Have you considered a CSS filter instead? Meaning, just add this attribute to your canvas tag:

    style="-webkit-filter: grayscale(1);"

    The Chromium powering NW.js should support this. Chrome has supported it since v18. There are a bunch of other available filters too, and they should all be hardware accelerated (one would hope). Cool demo page here:

    http://html5-demos.appspot.com/static/css/filters/index.html

    Anyway, hope this helps!

    - Joe


  • Tiger Hat

    I feel compelled to say that a good black and white conversion should not simply be a desaturation - the red, green and blue values provide different luminance values.

    You really want to split out the RGB channels, and adjust the exposure/contrast individually, and do an additive blend.

    But I agree with jhuckaby, filters seem like a quick way to do the work - there’s some colour correction functionality too, which would give you even more flexibility, however, this doesn’t appear to be supported well yet.


  • Jammer

    I’m halfway into this podcast, and I want to make an observation- maybe I’m projecting my own desires, but you guys just sound happier and free’er now. I love this podcast, and just hearing you guys sound so in the swing of things is just great. Hope all is going well with development, and I can’t wait to see each iteration as it comes.

    Thanks for all you guys do.


  • LDG

    @jhuckaby @salmonmoose Good suggestions about using CSS filters, I’ll check that out. The only downside to that approach is that it wouldn’t let me selectively filter game entities. For example, I wanted to filter everything in the “game world” but leave the UI layer untouched. Since we only use 1 visible canvas, using CSS means that everything would get the filter.

    I’ve thought about the idea of using layered canvases (one for game world, one for UI, etc), but that seems like a big can of worms. :D

    @salmonmoose I know very little about adjusting colors, sadly. But, it should be easy enough to replace my quick and dirty grayscale with a better approach.


  • Tiger Hat

    @geoffb Ah, I see, I forgot you were compositing everything into one single onscreen canvas. Well, it was worth a shot ;)


  • LDG

    @PartTimeIndie hey welcome to the forum! Cool plugin :)

    @jhuckaby those filters are fun to play with – reminds me of Canvas Cycle!

    @vox haha that’s great to hear. We might be happier, and a bit freer. Utilizing the Djinn/AWL engine has put us on a fast track to working on the fun stuff – content! So we might both be in better moods than we were when we were a few months ago.


  • Tiger Hat

    @richtaur Hahaha! Now if only that thing was fast enough for a game engine! Too bad it kills the CPU. Plus there aren’t any modern tools for creating color cycling art… yet… ;)


  • Tiger Hat

    @geoffb yeah - you’d have to split out the GUI, but I suspect that extending to a multiple canvas architecture would give you many more advantages beyond splitting out the GUI from the game, you could mess around with portals for instance (viewing from multiple cameras on the same scene).

    Personally I think you’re both nuts, engine building is where it’s at :) I’m curious if you tried dropping Djinn into unity at any stage - without knowing the code it’s a bit hard to know how it’d turn out, but I had some success porting my ImpactJS project that way - most of the parts that were specific to my game fell into line with very little massaging.


  • Tiger Hat

    cough webgl cough really you should prolly just use Phaser so you don’t have to worry about jamming in Pixi yourself…

    anyway, great cast guys, super gross! actually multiples of 12 are interesting to me (dunno why, don’t judge)

    If you want me to sign an NDA and do some video playthroughs of AWL2 I will.


  • Jammer

    cough webgl cough really you should prolly just use Phaser so you don’t have to worry about jamming in Pixi yourself…

    Honestly pixi isnt worth jamming into any existing engine. You probably already have your own scene graph and way for managing things on screen. So long as you have abstracted your canvas draw calls pretty well, writing a webgl renderer isn’t that challenging. That said we’ve been running into some webgl crashes at work (using pixi). Not sure what the cause is yet


Log in to reply