At the end of last weeks diary, I said that I was going to talk about how I designed and coded the UI for Skein, but I'm afraid to say I lied... I'll leave that for next week, as this week I think it would be a good idea to take a moment to talk about the tools that I use to make my games, since I constantly see questions from people asking what is the “best” art program, or where can they source sound effects, etc...
The other day someone commented to me that they were a “bit disappointed” that I'd used licensed sprites in my game instead of making them myself. Now, this actually made me feel a little bad as in all honesty the sprites I've licensed only make up about 20% of the final graphic package, and even then they form a base that I have then adapted and animated and built on. Why do I mention this? Well, it's because licensing art or using free resources is a valid direction to take when you are deving a game, especially when you either don't have the skill or the time or the budget to make them yourself or get an artist. In my case, it's a bit of all three! Here are the main complaints in my opinion about using free/licenced art:
However, none of these issues is really a game breaker! If the art isn't the most beautiful then adapt your game to fit the constraints and “cherry pick” the best bits of art you can find that fit together. If they don't fit your game's vision, either look elsewhere or change that vision to suit if you love the art that you've found, keeping in mind that a game will change many times in the course of development anyway, so learn to design around these limitations. If the set is incomplete then be creative and use the sprites you have as a base on which to work from – think of it as a way to improve your artistic skills – even if it's only colourizing a green orc to make him blue and calling him a liche in the game. Finally, just because other people have used the graphics in another game does not mean that the people playing your game will know this! In fact the vast majority will not and if the game is good then those that do won't really care.
You could always contract an artist to work on your game with you, but this can be expensive and will usually entail a share of any final profits, which, for a small game with an expected audience of thousands rather than hundreds of thousands, is a bit off-putting, especially as you also have to pay a share to the publisher and the distribution network that hosts the game! That's not to say you shouldn't do this - and I would in fact recommend that you try to form some kind of bond with an artist and create a team as your games will benefit from it in the long run - but it's not always possible, especially if the game is a small one for mobile or a niche concept with a limited audience.
Note that you have a third option open to you... Use free or cheap licensed art in your game and then when you have an audience and a few sales you can use any money earned to “upgrade” the graphics. If the game is moderately successful, then you'll have the funds and the recognition to make this a worthwhile approach to take. Remember, it's often more important to get your game “out there” and generating feedback than it is to have perfect game art.
So, like I said, licensing or using free sprites is a valid option, but you shouldn't just licence sprites and then drop them into your game. It's rare that you'll find a set of sprites and backgrounds that all “fit” into your vision and so you should choose the art you use carefully and edit what you finally choose to make sure that it is coherent with your gameplay and market. But what tools to use?
There are a bazillion tools out there for creating art. So many in fact that I'm not even going to try to list them, but rather I'm going to talk about what I use and why. My main tool for all my artistic needs is Photoshop. This appears to be an unpopular choice around the indie scene, mainly because of the misconception that you can't do pixel art in Photoshop, but I can honestly say that this idea is false! There are a number of incredibly handy tools Photoshop to make pixel art easy, and I recommend this tutorial here if you want to get started.
I've also recently started to use a program called Pyxel Edit, which is a sort of Photoshop exclusively for pixel art. I'm slowly switching over to this as my main art program for one very important reason... it's got an amazing colour picker! When making pixel art, the idea is always to have a limited palette of colours, and to choose the shading and highlighting carefully. In Photoshop this can be a bit of a chore, but with Pyxel Edit I've found it to be a breeze, thanks to the fact that it shows a selection of different hues, values and saturations for any given colour right inside the colour picker tool. Apart from that it also permits layering, the creation of tile sheets in a really easy to edit format, and the playing of animations within the editor itself. All good reasons to give this a go if you are a pixel artist.
I have one final graphics tool in my arsenal that I use for creating the game icons – IcoFX. This is a small program that generates icons for Windows and Mac applications. It can be used for the art itself, but I've found that it's just not up to the task when compared to the two programs mentioned above, and only use it in the final stages of making a game.
Now, the programs mentioned above are not free, but both Pyxel Edit and IcoFX are very cheap for what they do and well worth the investment. Photoshop however is most definitely not free, and if you want an alternative that is more accessible then I can also recommend Gimp or Paint.NET. There are loads more though, so check out this article to get some other ideas.
One of the toughest challenges that a small dev team (or single developer) will face is finding music. With Skein, I'm having a real issue with this, as good music is very expensive and requires a high degree of collaboration between the developer and the musician. It can also require a lot of time as most composers are working on various things and need to fit you into a schedule (and good music takes time to make), so it's worth thinking about this aspect of your game at an early stage.
Prices for composers vary wildly, and you can expect to pay anything from $50 a minute of music, to $200 a minute (and upwards!) - from my own experience, most people will also request a share in any earnings that you make, and rarely will a composer make you music that is royalty free. This share can be anything between 5% and 20% of the final profit, and as with contracting an artist, this can be quite off-putting when you are a single dev or a very small team - so it's worth considering either making your own music or using some of the free and royalty free stuff that is available. Again, this can always be swapped out at a later date and replaced with something better or more appropriate!
For Skein I dabbled with making my own music, since I have experience in this field, but it's a very time consuming task and I quickly stopped as I really didn't want to take a month or two off of development to go and make the music - especially since I tend to lose interest in a project if I leave it for too long. However, for those interested the tools I started working with were LMMS and Audiotool - both free to use, both very different and both also very accessible so worth looking at if you are wanting to make your own music.
I still haven't decided what I'm going to do about the music in Skein, but I think that in the end I'm going to go with some Royalty Free music that I find on the internet. There are loads of sites with free and royalty free music around (and not just Incompetech!), some of which is great... it's just a question of sifting through it all and finding things that all "fit" together and that come with a licence that is acceptable. I should also mention that for ambient games or puzzle games it may be a good idea to look at procedural music, as some of the tools available for generating it are pretty good now-a-days.
As with art and music, you can hire someone to make your sound effects for you, but there are so many tools available for this and so many resources to get sounds from that for a small developer like me it's a lot easier and cheaper to make your own. I have three main tools that I use for creating sound effects, and I'm using all three of them for the effects in Skein. The first is my sound effects library, which I have built up over a long period of time from free sounds downloaded from the internet. There are millions of free sounds of varying quality available for downloading from sites such as Sound Bible or Freesound, and with a bit of editing they can be used in your games - just remember to check the licence agreement before using them, as many may only be for use in free games but not commercial ones.
My second tool is the fantastic BFXR. This can be downloaded and used as a standalone app, or it can be run from a browser and uses different oscillators and filters to generate effects. It can be tricky to get the sound you need using it as there are a number of controls you can tweak, but when you get the hang of things it creates some great effects! I also love the fact that it comes with its own mini-mixer that permits you to store a couple of simple effects then layer them on playback. note that if this is too much for you, you can always test the "little brother" app, SFXR.
Finally I use an audio editing tool called Goldwave. This editor has been around for a long time now, and is still being updated on a regular basis. It looks a bit dated by modern standards, but don't let that put you off, as it has great tools for editing and also permits the use of VST plugins to expand it. The main editing tools I use are the noise reduction, compressor and obviously the crop and trim tools. One thing I hate in video games is when the sound effects are not all of a consistent volume, which is a major issue when using free sounds or those you create yourself, so with Goldwave I generally crop and trim out the silences, then use the compressor to lower the waveform peaks to smooth the sound, and finally the noise reduction to get rid of the hiss, hum and pop that some cheap/free samples can have.
There are other great audio editors out there - a lot of people swear by Audacity, for example - but I've been using this for years and it does exactly what I need it to. I also like that it has a massive amount of export options and quality settings so I can author a sound in various formats depending on whether I'm making a game for HTML5, mobile or desktop.
So, there you go - a small peek into my working environment! I hope that this article is of use to you all, as I know how dificult it can be sometimes to find the right tools for the job at hand, and it's taken me a long time to get used to those that I know use regularly. I've tried to provide links to everything mentioned to help you check things out, and as always, Google Search is your friend! Next week I'll be getting back on track with the dev diary, and I I'll finally get around to talking about the HUD and GUI elements in Skein. Promise...