I had always wanted to write a game and get it published but it always seemed so hard. You need to not only be able to code. You have to be good at graphics, music, story writing, publishing, marketing, project management and so the list goes on.
However in the last few years there has been an explosion in the tools available to Indie Developers to make the whole writing a game and publishing easier. Of course there has also been a huge market shift with the likes of Apple, Google and Steam offering a venue for your games.
So what tools am I using and why?
LibGDX – http://libgdx.badlogicgames.com/
One of the first problems I needed to tackle is that I wanted to write a game I could publish on Desktop or mobile. The problem with this is that each platform has its own recommended coding language and its own platform specific issues. To solve this there are tools like LibGDX, Unity and Game Maker that allow you to write once and publish to many platforms.
I chose LibGDX. I took a couple of online courses (with Udacity and Coursera) one which used Unity and the other LibGDX. I preferred LibGDX because I could use Android Studio to develop with and because it seemed to offer me more control over my game. Also I guessed at the time I would only need to use a small fraction of its power and Unity seemed to be overkill for what I wanted.
There is a great community that supports it and I have always found an answer to problems when using it.
Tiled – http://www.mapeditor.org/
My games are Hex based maps. Tiled is perfect for that. Its simple to use, easy to edit the .tmx files it produces and works well with LibGDX.
TexturePacker – https://www.codeandweb.com/texturepacker
For making my sprite sheets I use TexturePacker. Very simple to use and fits my needs perfectly.
I am going to recommend here that if you are not a graphics artist then find someone that is. I started off doing all my own graphics and they were crap. I watched hours of ‘How to do it’ videos just to do the most simple task. It has taken a lot of time away from my actually working on games.
However I have learnt a lot. It gave me a better understanding of why I need a graphics artist. I understood better what it was I actually needed from a graphic artist and I can knock up a prototype of how I want my game to look.
To do all this I use Photoshop. I had used it before for simple photo touch ups and realized that using anything else would mean learning the controls for that particular app. I experimented with Blend for 3D graphics. It just made me appreciate the skill of good graphics designers even more!
At the moment I am still designing my own unit counters because its something I enjoy but really I should hand all creative activities over to my graphics artist.
I have used Microsoft Visual Studio and tinkered with xcode and Android Studio before getting serious with writing games. LibGDX works with Android Studio so it became the natural development tool for me to use.
I am paranoid about losing my work – whether it be a laptop malfunction or a fire that destroys my home. So I back up everything I do to Microsofts OneDrive. I also back my code up using Android Studios built in code Repository which uploads your code to Google servers.
I really like OneDrive and actually extended my subscription to include Microsoft office for my family.
I am using a Mac for development with the main reason being I can build my apps for Android, iOS and Desktop on it. If you are focusing on PC or Android games you can go with a Windows PC.
My one recommendation here is get the most powerful one you can afford. You will find it painful trying to develop a game on a five year old 13″ screen laptop. And get the largest monitor you can afford. The more you can get on screen at the same time the more pleasurable your development time will be.