Once I had my theme set, I started going deeper into coding, I found those two very nice Libgdx tutorials :
The code is slightly outdated because of the newer version of libgdx but still VERY useful. I had a go at it, learned a bunch of stuff and reworked a lot of my code.
I try not to get stuck on details at first, work out the base gameplay and iterate, I would say that I have trashed about 70% of the code I have wrote while working on my game. So now I test gameplay ideas and don’t get too attached. I will iterate through, and throw them out if necessary. My first iterations were usually not good enough but some ideas stick and other may pop up to be reused later.
Emerging gameplay : similar to the emerging Architecture trend we have in the lean/scrum methodology. Don’t get too hang up on your ideas, they might look good on paper, but it’s a whole different experience when playing. Set up something simple at first and see where it takes you – what works and what doesn’t -, try out your new ideas, keep the ones that works and throw out the others. Keep doing it until you get something that you feel is good enough. Only then should you start polishing your game. You should probably follow the same route when you want to add new features.
I kept on working on my game for some time before I was ready to show it to friends/family. It was hard for me (and I guess so for many people) to show my game to others. I kept thinking that it wasn’t good enough to show. But try not to let that thought block you. It’s very useful to discuss your game and get feedback early on.
It is very hard to find good testers and get good feedback, but it is a very valuable resource to have available and will easily make your game much better, what they can do for you:
- Find bugs (obviously)
- Feedback on gameplay mechanism (not fun, unfair, unplayable etc…)
- Feedback on controls
- Feedback on graphics and usability
- Brainstorm with you when you are stuck, give you ideas
You have to shift through lots of ideas, some goods, some bads (or simply not adapted to your situation). I try not to be negative with my testers when they give me feedback, I let them talk, note their ideas. I also learned not to dismiss their ideas straight on, even if they sound bad, they can hint to deeper problems within the game.
If this is hard for you, you should try to find other indie game devs, their feedback is often very useful and they are also very supportive of other game devs. I have been lurking reddit’s gamedev community and I love it :)
Have a thick skin: It doesn’t help that some people will simply not be interested in what you show to them, friend or family alike. In this case, just move on, you can maybe show them a better version later, but for now, look for other testers. Learn to accept criticism even if you don’t like it, some people will be very direct, sometime even in a rude way, don’t get hung up, get the meaningful information and work on it.
Keep looking : Congratulation, you found some testers ready to try your game and give you feedback, great, use them, listen to them but don’t stop looking! More eyes on your product means more feedback, more bug reports, more devices (if you are targeting android). It’s also useful to get some fresh eyes on your product once in a while, testers will become better players after a while, skewing their vision of the game. They will also probably be among the early adopters and spread the words about your game once it is out, free marketing!