Monday, February 24, 2014

Testing, testing...

During the past weekend my target was to finalize "Explopool" flash game. Basically, the game mechanics was working pretty well and the content was also in good shape from my point of view. However, I found some flaws in the first tests and decided that overall gameplay was not on the satisfactory level. Therefore decided to postpone the release date and started to do some major modifications to improve gameplay and overall look&feel. 

Testing your game is extremely important, especially if you are going to make a public release of it. Although your brand new game seems to be finalized on the surface, it is very probable that there is still some polishing to do and in most cases also some bugs to be fixed. Finding those may require very intensive and creative testing. 

Common target for game design and testing is to make a game that will be a positive experience for the end user. If game designer (=you) is the only tester, then it is very probable that the testing experience is not comprehensive. Thorough testing will require multiple testers to get better coverage for different corner cases: You are playing the game your own way, but some other may play it totally different (and possibly unpredictable) way that might cause some unexpected behavior. The more testers, the more likely critical flaws are found before releasing the game.

But where to find testers for your indie game? I have used "family and friends" approach for testing my games, and surely that has helped to get the most critical bugs out from them. However, this kind of testing has not been thorough enough and I have to admit that few nasty "features" have ended up in the released games. Of course you can do bugfix releases, but it is not a good reputation if your game has lots of bugs in released version(s).

Currently, I am trying to find out feasible ways to get more testers for my upcoming games. I am not too sure how to implement this in real life, but one idea is to make some kind of a "limited release" and invite set of individuals to play game and give their feedback about it. Target is to improve the overall quality of released games, so first I have to learn to tolerate smashing feedback. :)


Wednesday, February 19, 2014


How do you get ideas for games? How do you further develop and grow your ideas? Do you consider yourself as a creative person?

Since I have long background on so-called non-creative sector, the concept of creativity is not too familiar for me. I have colleagues who consider themselves as hightly creative persons. But in practice most of them are rather systematic thinkers and great problem solvers, than truly creative persons. Of course there are individuals that differ from the mass, but there are not many of them. 

In my daily work (as SoC specialist), most of my ideas are born because of practical need. There might be a task that no one has done before and there is no ready-made solution for that. Also because I am bit lazy by nature (typical engineer?), I will try to find  the easiest possible way to perform the task. Therefore, I write lots of custom scripts for a wide range of applications. This is commonly called as problem solving, and in many cases it has nothing to do with the creativity.

For game development, I have identified several different ways to get starting points for new concepts. It is quite difficult to describe how my creative process goes because of it's randomness and complexity. I am not a very systematic thinker, and my thoughts are bouncing here and there.

There are lots of expers telling that creativity is not a random process and it can be improved through different techniques. Maybe this is true, but in my case innovation seems to be closer to chaotic process. Anyways, most of my new (and hopefully innovative) ideas for games will appear during not-so-serious discussion with a person at same wavelength. Most of the ideas are not feasible at all, but sometimes there is a hidden gem among all rubbish.

I have to admit that all games published by me (or WestSloth Games) have not been very innovative or unique so far. That's mostly because of the lack of experience: If we had tried to start with too ambitious and complex concept, I would bet that we would never got it finished. Now we have f inished (and published) couple of small flash games, and got even some players for each of them.

I still have a lot to learn in the area of creativity, and commonly used trial and error -method will hopefully lead to better results. Of course, there are plenty of books and online tutorials and guidelines telling how to create new ideas. Nice, but I guess everyone of us has own ways for creating new innovations!


Tuesday, February 11, 2014

Learning process

After releasing my latest game-like work at Mochimedia, I decided it is time to have a small break in game development and evaluate how things have been going in last couple of months.

My goal for the overall quality of my first flash game was not pretty high, but yes: I still was able to fall below that: game idea was not earth-shaking, graphics sucked, there were performance problems, and to top of it all the game had some nasty bugs or unexpected features. But hey: I was able to get something ready and distributed! I think it was the most important thing at that point, and it encouraged me to take next steps forward.

Following game projects were bit easier to implement, and I was able to add some complexity to the game mechanics and graphics. But more complexity means also more work and to a certain extent also higher probability to errors. Couple of my projects have ended up in deadlock situation where I was unable to figure out how to fix them.

I would say fledgling game developer should start with a simple game project with few features. Too complex mechanics and/or content will increase the likelihood of failure exponentially, and that should somehow be kept under control. It is always good idea to aim high, but too much ambition in wrong place may cause total disaster. And remember: complexity can be added gradually with increased experience.

And how game development experience can be increased? In my opinion only way to get experience is to create different games and learn from the mistakes that are made during the process. Unfortunately, there is no shortcut available (please let me know if I am wrong!). :)

But if, despite everything, a disaster occurs and your game project runs to the dead end, do not worry: you can always go few steps back, rethink the scope, and try again. And in extreme case you can even throw the project to trashcan and start a new one with greater experience.

That's called learning.


Thursday, February 6, 2014

Open-source drawing tools

Since I am interested to use open-source software for game development, my drawing tools can be found from that category also. Currently, my development work is done on Linux laptop, so it also causes some restrictions for the available software.

I started sprite creation with a tool called Aseprite. It is quite simple and easy-to-use free software for creating sprite sheets. (edit: Aseprite is nowadays paid software). There are no complex drawing tools included, but with steady hand and patience you can create almost anything. In my case, the only major problem with Aseprite was the low performance on my Linux laptop if  not started at separate XServer (Run "xinit aseprite -- :1" command in tty1, or something like that). 

I have been using Gimp for simple image processing even before starting game development activities. However, I thought it was too complex and difficult to use with multiple windows and confusing menus. But then I "found" the single-window version of Gimp (v2.8?) and started seriously using the tool. In fact, I have created >90% of my game graphics with Gimp, even if it is sometimes bit difficult to use. It just happens to have all the required tools in one package. 

I would be interested to learn using Inkscape, because I have heard that it is easy to use and has lots of useful features for game graphics. If I find nice and compact tutorial, then I surely give it a try. 

There are plenty of other graphics/animation tools for Linux, and it might be a good idea to have a more complete review on them at some point. 

Artistic skills - or the lack of them...

The visual appearance is an important part of the video game. Just take a look to the most successful games in any category, and you will notice that very few of them contains low-quality graphics. 

I am not saying that fun and interesting game (whatever is the definition for that) cannot be done with simple and even low quality graphics. But well-finished graphics makes it easier to market a game to the players. And don't forget the marketing materials, like thumbnails, screenshots and gameplay videos, just to mention some.

Unfortunately, I am not very good in creative drawing and I find that one my biggest obstacles when trying to develop better quality games. I am able to draw straight lines and geometric patterns such as engineer (which I am), and that's quite about it. But when I should draw cartoon-like characters or complex background for a game, then I'm in trouble. I just don't know where to start! And if I get started, I will soon get frustrated and do the job quick&dirty way. And that is not pretty...

Anyways, I have tried to learn the basics of game graphics. I believe in learning by doing -method, so I have challenged myself to draw any kind of a game graphics. My skills are (hopefully) improving little by little, so I believe each new project cat be a bit more complicated than the previous one.

Ah, I almost forgot to mention that I have some existing skills in 3D graphics: I can model machine parts and other stuff reasonably well in 3D, as long as I am not supposed to draw any cartoon character.

If I ever start making a commercial game project, I am pretty sure that I will hire e.g. freelancer to do the graphics and sprite animation. :)


Wednesday, February 5, 2014

Game marketing and promoting

Since we are beginners in the field of game development, we have been learning game creation process, tools and production the hard way.

During the process, we have noticed that making any game to the public distribution requires quite much: mechanics should be well planned and implemented, gameplay should be optimized, and game itself must be fun. Also, you should not forget the importance of visual appearance. To get all of this to one package requires lot of time and effort, but it is certainly possible and, ultimately, rewarding.

But even if your upcoming game would be the first-class product, there is still one tricky question left: How you are going to get players to your glorious game? Do you just put the game to the distribution and then wait for success? I would guess this method works only for the very few games (or alternatively you are a famous game industry veteran with solid fan base).

In most cases, getting large number of players for a game will require advertising and active marketing. If you are not visible players can't find your game among thousands of others. So you have to promote your game somehow. Also, marketing should be started well before the game is ready to be released, It would take lots of time to get the public attention and even build some kind of a brand.

Certainly, there is not one single right way to promote games. I have listed here few ideas to start with:
  • Create social media accounts for your studio/game, increase the fan base.
  • Set up a web-page for your studio/game, and fill it with information about what you are doing
  • Create a demo of your game and distribute it
  • Create trailer/gameplay/teaser videos of game and put them to youtube. Remember to promote your videos!
  • Be active in social media. Let people know what your are about to do.
  • Follow the number of visitors at social media and web pages. Google analytics will help to find out the profile of your web page visitors. Make adjustments to your campaign based on measured data.
  • Be active at twitter/blogger/whatever you find useful 
  • Make the use of  your "Friends&Family" -network (but do not irritate them to the extreme!)

We have been running a flash game site for a month now, and we have tried most of the promoting tricks listed above. It is still difficult to measure how we have succeeded, but there is some increase in the number of daily portal visitors...It will be interesting to see the long-term results from this.

Saturday, February 1, 2014

Game engines/frameworks

Many things must be taken into account when starting new game project from the scratch. First of all, you have to decide what kind of a game you are planning and what would be the feasible target platform (or platforms) for that. You must understand the limitations of each platform, e.g. available screen resolutions, computing power, input devices, etc.

When target platform is decided, it is time to think about what development tools can be used for this project. There are plenty of tools available for hobby game developer and each of them has pros and cons. So it is sometimes bit hard to make selection, and in case of hobby developer the "zero budget" drives to use free (or very cheap) software.

I have tried at least following game engines or frameworks:
- Unity3D
- Blender Game Engine (BGE)
- GameMaker
- Adobe Flash (CS6)
- Löve2D
- Stencyl

Personnally, I want to promote the usage of open-source software. So my favorites from the list above are Blender and Löve2D. Unfortunately, I have no idea if neither of them can be used to publish game for flash and/or mobile devices. So that's why I am not currently using them for game development. :(

Currently, I am using Stencyl for creating flash games. The reasoning behind that is the general easiness to use and does not require heavy programming background. Also, basic version is free, so it is suitable for my "zero budget" plans. Commercial version has support for Android and HTML5, and that matches to my future needs.

Screenshot from Stencyl ("Turbomole Trial Run" flash game)

I am going to evaluate Corona and Haxe in the near future, because they seem to be matching my upcoming needs quite well. As far as I understand it is possible to publish games for several platforms with both of them.

So far, I have no plans go for 3D games. But if that happens, my selection for game engine is probably Unity3D, because it's multi-platform support.


Serious or not?

It's been months since my latest post to this blog, even though I have done something related to game development too. My day job related to semiconductors keeps me busy at daytime (and sometimes evenings also). I have got new responsibilities and at the moment I am very happy to my job.

However, I started semi-seriously game development activities with my brother about 5 months ago. Our target was to learn how to develop and publish games, and even make some money besides that. To date, we have published seven small and simple flash games via Mochimedia (edit: Mochimedia does not exist anymore). 

I can honestly tell you that only 2-3 of our games meet the characteristics of proper game. Rest of them are more or less stupid demos, but almost all of them work as originally planned. Every game has been better than the previous one, both from technical and visual point of view. 

There has been thousands of players for our games, but still the ad revenue from Mochimedia's advertisements has been quite low. But it was expected at this phase: for substantial income you must get hundreds of thousands (or even millions) players for your game. And it is not easy to reach such volume even if you are experienced flash game developer: The game must be excellent (or at least good) and you must market it effectively to get players to find it. Also, some luck will also help. frontpage

Besides pure game development we have started a flash game portal. Our target is to screen out fun and interesting, but not necessarily the most popular flash games from Mochimedia's catalog and put them to our site. Also, we are also promoting our own games among the others. 

Currently, our biggest problem with the portal is how to get more visitors there. So far we have done search engine optimization (SEO) to get better visibility in major search engines. We have also set up social media accounts (facebook, twitter, google+, youtube) and started promoting our latest game with them. So far, the results have been weak, but the situation seems to get better bit by bit. 

Our latest game was released yesterday at our own flash portal, and I am currently trying to get it approved to Mochimedia's distribution. There was something wrong with the initial ad placement and timing, and the first attempt was rejected. I did some repairs, and now I am waiting for the approval notice. Let's see how it goes. :)

Edit 2.2.2014: "Turbomole Trial Run" got finally approval for Mochi ads and distribution, so it can be found from several flash sites.