2013 - 6 - 5 / 1:14 pm / tools
As I've been messing around with C# and SFML, one of the major benefits is the support for shaders! I've been crawling the internet trying to find examples of shaders, but for awhile all I could find were types like this that created entire images, or produced super elaborate effects that I wasn't really interested in.
After a quick trip to Twitter I realized that what I was looking for were post processing shaders. I want to be able to adjust an image that I've already drawn for the most part, instead of creating new imagery. A lot of people gave me suggestions (mostly Sven) so here's a quick list of what was found!
There's a handful of post processing shaders here that all look pretty neat, but unfortunately I can only get some of them to work with SFML right off the bat. Others throw errors that I don't yet know how to diagnose. They also have some software you can use to demo the shaders in, which is pretty rad! A couple of them worked right off the bat, like Thermal Vision, Dream Vision, and Pixelation, but the rest I have to mess with to figure out.
nVidia Shader Library
It turns out the nVidia site has a bunch of shader examples but unfortunately none of them seem to be in GLSL. The CgFX shaders should be able to compile into GLSL though. I haven't personally tried any of the shaders here, but it seems like a good sampling.
hunterk GLSL Shaders
Somewhere a mysterious mediafire folder full of shaders exists. This one was pointed out to me by Loren, and I haven't dug too deeply into this yet. It's a lot easier to browse the sites that have previews of all the shaders, but it looks like there's a lot of cool stuff to be found in the depths of these files.
Shaders for Game Programmers and Artists
This book was recommended by Sven, and the fact that it might be also geared toward artists is interesting. This was published in 2004 and I'm not sure how much has changed in the world of shaders since, and I'm also unsure on how much focus there is on post processing vs. other types of shaders in here, but maybe worth a look!
Pixel Art GLSL Shading
I was also pointed in the direction of this beautiful piece of work which uses shaders to light pixel art in an incredibly good looking way. I haven't checked out the real time demo yet, but just that preview image looks absolutely delicious!
Photoshop Blend Mode Math
Of course there is this classic post about Photoshop GLSL shaders that I first started looking at in the early days of Snapshot development. I really wanted Photoshop blending modes since I do all of my art in Photoshop anyway. I haven't tried these out in real time yet in SFML, but it looks promising!
That's all I got so far! I'll see what happens in the coming weeks in shader town. I've had some fun just pixelating and blurring and warping stuff so far. One of my next game projects in C# will be having a lot of special effects (I hope) so I need to become a shader master as soon as possible. If you know of any awesome resources not featured here please let me know!
Oh also here's a pro tip for writing shaders: don't use Visual Studio C#. It seems to be adding funky white space characters that causes the shader compiler in SFML to fail. So on that topic, what is an awesome shader IDE?
2013 - 5 - 8 / 11:41 am / tools
Since my last post about trying out a bunch of different engines and coding languages, a bunch more options were pointed out to me by various people through the comments and through facebook and twitter, so here's a quick rundown of these things I've never even heard of or considered until last week! read more6 Comments
2013 - 5 - 3 / 4:05 pm / tools
I'm not really sure what I'm doing right now. I'm kinda going all over the place if you can tell from my past two or three weeks of blog posts.
I got back from GDC and I saw what people were working on and I felt kinda crappy about putting all this effort into yet another AS3 game with Adobe AIR. The problem is performance. Flashpunk has a hard time maintaining 60 frames per second because of weird Flash things... it's just not that super stable. Offspring Fling is a relatively simple 2d game and for whatever reason some people with modern computers have a hard time running it at 60 fps and this is extremely frustrating for both them and me.
One day I went through some of my old prototypes. I took a look at Gaiadi, my Ludum Dare game from three years ago (WHAT THE HELL HOW IS IT THREE YEARS OLD ALREADY.) One of the most disturbing things about it was how smooth it ran. The Game Maker run time is actually pretty dang impressive and it runs at a solid 60 fps, especially when compared to flash. This made me actually feel pretty bummed because Offspring Fling isn't nearly as stable (at least in my eyes.) It's one of those moments where I asked myself "am I somehow getting worse at making games?"
So I want to learn something new... but then I've already put all this work into this AS3 framework that I'm using. The amount of friction to start on something new is really tough, because right now in AS3 making things is extremely fast and efficient because I've solved a lot of my issues and have a bunch of helper classes with super fast solutions to common problems across my projects. AS3 just also has a ton of useful libraries that I make use of like TweenLite and AS3Crypto. read more
2013 - 3 - 11 / 2:27 pm / tools
Last week I posted a quick NineSlice class that I wrote to work in Flashpunk. It was a little clunky, so this past week I cleaned it up and integrated it with Flashpunk's graphic system. The new version now extends Image, so you get all the awesome Image effects like color tinting, rotation, scaling, and more. Check out the new version!
As a quick example, here's how I'm using it in my current project. Check out this screenshot of a menu:
Thanks to the handy dandy nine slice object, most of this menu is just drawn with a couple of simple source images. I scaled them up 4x so you could see them a little better.
Just using these images as sources means I don't have to make a new image every time I want to change the size of one of the widgets. I can also do some cool animations with tweening the width and heights of the panels over time.
Feel free to use the NineSlice.as class however you want. If you use it or improve it in anyway, let me know!
2013 - 2 - 13 / 11:00 am / tools
Since I posted the time lapse video of me making a game for Global Game Jam 2013, I got a couple of questions regarding the exact tools I'm using for my game making needs. This is a pretty long post, so I'm going to put it all behind the jump tag. If you want to know my secrets, then click read more! read more2 Comments
2013 - 2 - 5 / 7:16 am / tools
As I set forth to try and jam out the rest of this metroidvania game before GDC 2013, I've been trying to think of ways to make content generation as fast as possible. One of the big hurdles that I run into with AS3 when making a lot of content is constantly having to embed assets into the code. FlashDevelop makes this incredibly easy though. Right click a file, click generate embed, and there you go. However this still takes a lot of time when I'm talking about a game that is going to have nearly a hundred level files and who knows how many image assets, and I'm constantly switching assets around.
After a quick consultation with Twitter I got a crash course on Python and spent a couple hours making assetGenerator.py.
Download assetGenerator.py 1.0, along with an example project right here. You can also just view the code. All the files in the example project are blank files just to use as an example, and keep the download size tiny. Here's an example of the code it spits out. If you want to know more, then read the rest of the post! read more
Hi there, my name is Kyle, and I'm a kid disguised as a grown up. I'm making video games and living the indie game developer life in Tempe, Arizona. Here you will find my thoughts, games, websites, doodles, and other stuff like that. I worked on Snapshot, Offspring Fling, and a whole bunch of other games. I also created and maintain Otter, a 2d game making framework. If you want to get a hold of me use the form on the bottom of the page, leave a comment, or just tweet at me. I try to post three times a week. Thanks for stoppin' by! You're the coolest.
- alec holowka
- bill pullman
- dev log
- game jam
- good times
- kings men
- ninja slash
- offspring fling
- screen sat
- space sushi
- november 2014 (7)
- october 2014 (14)
- september 2014 (14)
- august 2014 (11)
- july 2014 (10)
- june 2014 (13)
- may 2014 (13)
- april 2014 (13)
- march 2014 (14)
- february 2014 (15)
- january 2014 (15)
- december 2013 (14)
- november 2013 (15)
- october 2013 (13)
- september 2013 (14)
- august 2013 (15)
- july 2013 (10)
- june 2013 (14)
- may 2013 (14)
- april 2013 (15)
- march 2013 (13)
- february 2013 (15)
- january 2013 (3)
- december 2012 (1)
- november 2012 (2)
- october 2012 (1)
- september 2012 (4)
- august 2012 (1)
- july 2012 (1)
- may 2012 (1)
- april 2012 (1)
- march 2012 (1)
- february 2012 (1)
- january 2012 (1)
- november 2011 (2)
- september 2011 (1)
- july 2011 (1)
- june 2011 (1)
- may 2011 (1)
- april 2011 (2)
- march 2011 (4)
- february 2011 (4)
Do you want to make a Let's Play of one of my games, or a just a video featuring footage of my games? You have my full permission to do so! Even if you are monetizing your videos, you still have my full permission to use any footage from any of my games. Go for it!