So I use the wonderful Atom to do all of my coding.  It’s free, and open source, so if you haven’t looked into it, you definitely should.

Anyway, one of the issues I’m constantly running into is that I want to open an entire folder with Atom, and have the folder show up in Atom’s project explorer.  Typically, I open up terminal, cd to the appropriate directory, and type  atom . to open up my entire project.  I messed around with Services a little bit and wrote a service that lets me right click on a folder to open the entire folder in Atom.  If you want to skip the tutorial and just download the service, check it out on Github:

Mac Developer Services

    1. Open up “Automator” on your Mac, create a new document, and choose “Service” for the type.
    2. In the top part of the right pane, choose “files or folders” next to “Service receives selected” and “” to the right of that.automator-service-1
    3. In the “Actions” panel on the left side, type “open” to search for all actions that start with “open”.  The action you want is called “Open Finder Items”.
    4. Drag the “Open Finder Items” action to the right side and drop it in the blank workflow section.automator-service-3
    5. Under “Open with” choose “” (or or whatever text editor you use).automator-service-4
    6. Save your service and run it to install.
    7. Right click on a folder to open it in Atom.



That’s all it takes to build an Automator service to launch an application from finder.  Let me know if you have any feedback, or suggestions.

As I started to implement the roguelike sprites I talked about earlier into a map editor, I realized CSS sprites might be a good idea.  I was previously using a split up set of PNGs that I exported from unity, and for a variety of reasons that stopped being a viable solution.

I tweaked the JSON data generation script slightly to have it make a CSS file too.  Enjoy!

CSS File


Kenney makes absolutely amazing art, but one of my wishes for a while now was that he would make a roguelike sprite sheet.  Well, he’s released a new donation pack, and it comes with an amazing 2125 sprites for a top down 2D roguelike! Roguelike Preview

Unfortunately, this sprite sheet doesn’t come with a data file (XML or JSON), which makes it difficult to use in some game engines.  I took some code that I previously wrote for my Texture Atlas Converter and hacked it up to generate a JSON data file for this amazing sprite sheet.

The code is a little rough, but it gets the job done.

JSON Data File

PHP Code:


I’ve been trying out a new rendering engine written in Javascript called pixi.js.  It’s supposed to be the fastest one around, and while I can’t tell you if it is or not, I can tell you it’s certainly very cool.  It has some neat features like auto-detecting WebGL support, and failing over to canvas support if the device doesn’t support WebGL.

One of the first things I tried to build with pixi.js is a hobby project a friend and I are working on called “Half Gallon Hat”.  It’s sort of a western themed typing game.  We’re still working on art, animation, and a ton of polish, but I think it’s pretty promising that I could implement the core game mechanics in only a few hours.  Feel free to check it out and test out your typing skills.

Half Gallon Hat

Also, I’m working on separating the game code from the rendering/management code.  I hope to have an engine.js file ready to put on GitHub in the future to make game development with pixi.js a little easier for others.  I’ll post here once I’m ready to commit it.


As a programmer, it’s always really difficult for me to find high quality art to use in games.  Too often there’s not enough of a consistent style, or it’s not cheap enough to use for a hobby project.  Finding was an absolute life saver for me.  He has thousands of royalty free assets you can use in your games.  You can even use them for commercial projects!

His art is really amazing, but unfortunately his sprite sheets don’t come with JSON files.  They come with XML, but several JS game engines (like pixi.js) don’t accept XML files, they only accept JSON.

To solve this problem, I wrote a small PHP script that converts XML files to JSON files for use with game engines.

Take a look at it on my GitHub, and pull requests are always welcome.