You don’t have to be in game development long to realize the need for a good level editor. For my 2D game, I experimented with quite a few tools. There are definitely some great 2D level editors out there, like Tiled, which I still use for simple things like static collision detection and tile types. However, like usual, I wanted a little more power. Here are a few features that I really wanted, but are difficult to find in most 2D level editors:
- Non tile-based
- The ability to resize/scale/flip/crop sprites
- The ability to re-color/tint/erase portions of a sprite
- Supports drawing paths (for moving npcs)
- Can preferably set per-node or per-segment data (for defining wander radius, speed, loiter time, etc)
While there are a few solutions that come close, such as GLEED2D, for my needs, I felt it was still lacking. I spent a good chunk of time trying to find the perfect level editor, and then I had an epiphany – Photoshop does all of this already!
When I was trying to create a logo for my blog, I stumbled across this cool Photoshop tutorial. It produced the effect I was looking for, but being the coding geek that I am, I wasn’t satisfied. I wanted to try out different colors, and possibly create a colorized header for each blog post. I needed automation!
In Part 1 of this series, I gave a brief overview of the various font formats, kerning data, and how they are handled in XNA. In Part 2, I’d like to talk about my solution, and what was required to make it work.
To reiterate from my previous post, the basic goal of my font kerning project was to extract horizontal kerning data from font files of various formats, and save it in an organized, easily usable format.
Although I’m no longer using XNA, I dabbled in it for quite some time, and learned a great deal. For me, one of the trickier parts was implementing custom fonts. Although I’ve since moved on to developing in Unity, I wanted to make a quick write-up for my old FontBuilder project. It was a pretty cool tool at the time, and it taught me a lot about scripting for Photoshop.