Posts

Showing posts from 2014

Status update / going mobile

It's quite long time from my latest blog article, so I try to catch up what has happened lately. 

First of all, we got "Dualball"flash game released to both Newgrounds and Kongregate. For some unkonwn reason, this game was extremely hard to get ready and published. And to be honest, there were some planned features we dropped out from the released version. We just had no motivation to implement those. Also, at summertime we planned to have Android version too, but that is not on our plans at the moment. There has been some queries from flash version players for us to create mobile version, but at this point I don't promise anything.

Another change has been the slow migration from Stencyl to Construct 2. The reason for this has simply been the HTML5 capability of the latter one. Exported game can be played on almost any platform you can imagine, and the HTML5 output can be converted to some kind of "native" application e.g. for Android, iOS, WP, etc. 

Our first…

sine wave (construct 2)

Image
Apparently, I had a need to create a scene where the X position of consecutive objects was determined with sine function. Simultaneously, objects were moving from top to bottom, keeping their X position all the time until they exit the screen.

Please see sine wave demo (html5) to get an idea what I was trying to do. (not available anymore)

The ready-made "Sine" function of Construct 2 was not suitable in this case, because I did not want to make the series of objects to look like a worm. :)


Task is not too complicated and math it pretty easy, but anyways I decided to create an example showing my solution.

If you are not willing to download .capx from my own server, the screenshot below shows the most critical points to implement this behavior:
















Basically, you will need following events and variables to make things working:










xPosDelta determines the "steps" in which the objects are created. You can try to change the value of this variable to see how it affects to the s…

"DualBall" released

Image
This is just to inform, that "DualBall" flash version was released yesterday to Newgrounds (click picture to access the game). Judgment process has already been passed, and users have rated the game to 2.88 stars (out of 5) currently.



But it is a bit different story if this was worth all the effort.

For some reason, this game has several setbacks during the development process (HDD failure, migrating from Linux environment to Windows, some lack of motivation, lost asset library, etc.). Anyways, we were able to finish and publish this game.

We started developing this game somewhere in the beginning of August. I had an obsession to try how two objects could be controlled by turns using just one mouse button (or touch on mobile device). Even if I have not yet released any mobile games, I have spent lot of time thinking the UI for them. Anyways, when you are planning a game for mobile devices, you should keep in mind that controls should be as simple as possible. There is no key…

Detecting the input device (C2/HTML5)

Image
While getting familiar with the Construct 2, I started to wonder would it be possible somehow detect what kind of a device is used as an input device for HTML5 game. In principle, HTML5 will run on almost all platforms, so it would be very useful to see whether the player is using mouse or touch screen as a input device.

I created a simple Breakout game clone to find out how the control method could be detected easily.
















Game is very simple one, and it has no extra features included. I also tried to add some comments to ease up understanding what has been done and why. I am not too sure if everything is done "correct" way, but anyways this example is working somehow with my own devices (Android tablet, Lumia phone, Linux and windows computers).

Game events 2-4 are the most interesting ones from this article point of view. Please see the .capx or the picture below to see how detection was done in this case.















controlMethod variale is used to store the information about the input d…

Construct 2: if-then-elseif-else statement

Image
Do you have an idea how to implement IF-THEN-ELSEIF-ELSE statement with Construct 2? At least I had to think for a while how to do it. It seems that this basic structure is not so straightforward to implement in C2.

I was creating a very simple game where boxes were moving from left to right. See example below:
The color of each box is chosen randomly, so it required the usage of random() function and if-then-else statement. There are probably several ways to do this, but I wanted to make this as simple as possible inside one single event and action box. 
Normally I would create a if-then-elseif-else structure like this to select color for the box (pseudo-code just for an example):
if randomNumber == 0       set colorOfBox = "red" else if randomNumber == 1       set colorOfBox = "yellow" else if randomNumber == 2       set colorOfBox = "green" else       set colorOfBox = "blue" end if
But when using Construct 2 things were bit more complicated for me: …

Testing and polishing

Image
I've been bit busy with my daily work for last couple of weeks, so gamedev activities have got less attention than normally. But still there has been some progress since my last update.

My original plan was to finish and release "Dualball" flash game in the end of September, but now it seems to take some more time. Game itself is in pretty good shape: the mechanics works, there are no detected major flaws currently, and 75% of planned levels are ready and tested quite well. 
We have done thorough testing ourselves and a number of serious bugs have been found and corrected during the process. Gameplay tests have been run on both computer and touch-screen tablet to get some extra coverage. It has been interesting to see that some bugs are not easily visible on both platforms: E.g. "ball ground check" routine worked fine on computer, but on tablet there were strange malfunction with it. So I strongly recommend you to test your games on multiple platforms in early …

Turbomole statistics update (part 2)

Image
I am sharing one more chart showing the daily "Turbomole Trial Run" views over last 61 days. So it's about 2 months since we released this flash game to Newgrounds.



Total number of views is at the moment 46082, so there has been in average 755 views per day (source of data: Newgrounds Statistics). The number of daily views has varied between 35 and 3620. I am pretty happy to these figures, because two months ago we were expecting no more than 5000 views in total.

Ad revenue has been very modest for "Turbomole". There is just one ad shown before title screen, and that's all. I didn't want to irritate players with large number of ads, so there are no between-scenes ads at all in this game. Also, the eCPM seems to be quite low for flash ads. Pre-roll ads would provide better eCPM, but the number of those has been disappointingly low...

What makes the chart interesting is the recovery that has happened couple of times: The number of daily views has first de…

"Dualball" the Game

Image
We have been working on two separate game projects in parallel. Now one of them is in quite mature condition and it is likely that it will be published in a couple of weeks. So it maybe is time to shortly introduce the game concept?

Working title for the game is "Dualball". This is a platform game where player controls two balls at the same time with single click (or touch, depending on the device). The challenge comes from the parallel nature of this game: you must be able to do some multi-tasking and time your clicks correctly. Timely performance is rewarded with coins that are spread on the levels. Collecting all coins is not always straightforward, and you have to carefully think what kind of a sequence is required to clean up the level.



We have been testing "Dualball" on flash and Android platforms, and it seems that the latter one is bit more convenient for this concept. However, game will be released in flash format first. Android version will follow if ther…

Creepy carrots for Mole (video)

I created today the following piece of art:




As you can see, this is not a gameplay video at all. However, it is loosely related to our "Turbomole Trial Run" game (_very_ loosely!).

Just look the clip and enjoy! And you can of course start following our Youtube channel too. :)

-Jussi

Debugging a Game

Image
No matter how simple your game is, or how well you plan it. In any case it is 110% sure that there are several bugs included in your masterpiece. And fledgling game developer surely has more bugs than the experienced ones. :) Here are my thoughts of this matter.



Major and/or often occurring bugs are usually very easy to detect, and they are relatively easy to find from your code. You just need to find (or know) where certain functionality is located in your code and check the difference between desired and existing operation. Fixing the bug might not be so straightforward, but at least you know fairly well where the fault is.

But then there can be very nasty bugs that occur rarely or even randomly. Sometimes it is very hard to understand if some behavior is really a bug, if it can't be easily reproduced. And locating these bugs from your code is very difficult if you don't have clear idea where to look for them.

Luckily here are some ways to ease up bug hunting. I am using ver…

Youtube "Fan Finder"

Image
Today I decided to create an introduction video for Westsloth Games Youtube channel(or rather, I practiced to do some kind of a marketing video).

The work was done using the proven quick&dirty method, meaning that I dug out some old gameplay videos and screenshots of our previously published games, and edited the video using the Kdenlive software.  Resulting video can be found below:



There is a feature called "Fan Finder" ("Fanimagneetti", in Finnish) available at Youtube. It enables you to display your video as a trueview ad for no extra cost. I added the video above to this service, so let's see how this works...I don't have any big expectations at this point. 
-Jussi.

Android back button usage in Stencyl

Image
By default the back button of Android device sends the active application to back. However, in many mobile games back button is used e.g. to return to the menu (or any equivalent action). This is possible in Stencyl also, but you have to configure the behavior first to match your needs. Here are simple steps to do it: Go Settings -> Mobile -> User InputActivate "Override Back Button". This makes back button to act like escape keyGo Settings -> Controls. Check escape key bindings (name: Escape, Key:Escape)Open your game scene and go to "events" tab (or edit behavior)Create keyboard event for escape key, as shown in Figure1 below (Add Event -> Input -> Keyboard). Set control as "escape".Add transition block and fill in your menu scene name + other required information





That's it! Now you can exit from your play scene to menu screen. 
But wait, did you forgot something? Yes, Since the default action of back button is now disabled, you can&#…

Android video capture issues

Image
Edit 13.7.2017: This article is bit outdated, because nowadays Android Studio provides tools for recording video from Android device. And also Google Play Game Services app has a way to record your game directly. 
I tried to find video capture program for the Android tablet to get better quality gameplay videos from our own game projects. Unfortunately, it seems that there are not so many solutions available, or at least I was not able to find any suitable for my needs. 
Most of the Android video capture tools seems to require rooting, and I was not willing to do that right now. As far as I understand rooting will void the warranty (according to this article), and my Tab3 is approx 3 weeks old. So it was very easy to decide that rooting is not a solution here.
There were also some video capture tools that were told to be "no-rooting-required" (according to their developers). But I did not manage to get any of them working in my tab. I also found couple of tools to be used wi…

Dualball game concept (preview video)

Image
We have been working on two new game concepts for a while, and introduced the preview video of the more mature one for couple of days ago.

At this point game has a working title "Dualball" and that describes quite well what the game is going to be. In short, the target of the game is to control two balls with single button (or touch, depends on the device). There are lots of obstacles and traps inserted to the route and balls should be steered past them. Naturally, rewards are not forgotten and there are certain number of coins on each level to be collected.
Basically "dualball" is very simple and easy to play game. The challenge comes from the fact that player has to keep two separate objects in control using single click (or touch) as an user interface. It is far more difficult than you would think in the beginning!
Currently, we are generating more levels to the game. Target is to have 24 levels in the first official release later this year. As you might guess, the…

Turbomole statistics update

Image
Here's the latest chart showing the daily "Turbomole Trial Run" views over last 38 days.

Total number of views is at the moment 36105, so there has been in average 950 views per day (source of data: Newgrounds Statistics). Still going strong, although the momentum is gradually slowing down.

I decided to publish this game also on Kongregate, because it required very minor modifications. Basically, all I had to do was to remove Newgrounds API stuff and replace them with Kongregate equivalents. Since game was created with Stencyl, it was just matter of removing some blocks and selecting the new ones from the list. Another thing to do was to setup the Kongregate Statistics for the leaderboard implementation. And, of course, you had to remember add the block called "Setup Kongregate API" in the startup scene, to make sure that everything works as expected.

BTW, there has not been too many views yet on Kongregate, but at least one comment was already received:
"A…

Fledgling game artist...or not?

Image
Most of the negative feedback on our games has been related to the poor quality of graphics and/or animation. I have to admit that these comments are appropriate: Our gamedev "team" currently has no artist at all, and actually all graphics are so far been drawn by me. And I'm really bad at drawing.
Anyways, there has been a need for graphics and animation in our games. So I have tried learn to draw at least something using Gimp, Inkscape or Aseprite. Tools itself are not an issue here: there are plenty of tutorials and online manuals available. But even if you could use all tool features perfectly, it does not help a lot if you have no eye for art.
I thought at some point that pixel-art would be a solution for me, and I dug out this tutorial: Pixel Joint forum: Creating Pixel Art. Basically this tutorial was fine and everything was understandable, but I did not have enough perseverance to follow the guidelines. The theory of anti-aliasing and dithering was quite clear, but…

Flash game statistics

Image
The updated version of "Turbomole Trial Run" flash game was released to Newgrounds about 4 weeks ago, without much expectations. However, today game exceeded the limit of 30000 views, which is in our opinion pretty good achievement for game like this.

I have to admit that I have no idea what is the typical number of gameplays for the average flash game. However, the predecessor games "Turbomole Xmas Run" (Dec 2013) and original "Turbomole Trial Run" (Feb 2014) were released using already deceased MochiMedia's distribution network. In principle it was possible to get game distributed to thousands of flash sites. But in the end the number sites was something between couple of tens and one hundred for both of these games. The life span for Xmas version was about 2 weeks, and for normal version bit more than a week. Also, the number of players was around couple of hundreds for each of them. So, nothing special to mention with these ones.

For updated Turbo…

Unity3D, getting to know the tool

As most of you may know, Unity3D is a kind of "industry standard" game creation tool at the moment. I have the impression that it is versatile, reliable and generally works for people making games. And there seems to be very large and active user base for that.  But on the other hand it seems more complex to use than most of the 2D game creation tools I have tried so far. So there might be a little bit higher threshold for starting gamedev activities with Unity than with some simpler development platform.

However, My own experience on Unity3D is very limited: I have implemented just few demos for almost two years ago. At that time my gamedev efforts were just starting and I had no clear idea what I was doing. But somehow I managed to get something game-like up and running with Unity. :)

So far Stencyl has been my number one tool for developing games. All my released titles have been relatively small and simple, and the target platform has been flash (just to keep things simp…

Planning and prototyping

It is hard to know without prototyping how game concept would work. So during the past week I have built several prototypes to find out if I have something useful in my mind.

This process takes some time, but at least for me it is important to get some kind of a visualization how things work on the screen. Static modeling with paper models, sketch drawing, or even using Lego bricks may also help to visualize game mechanics or rules, but I need to have something more dynamic to see the full picture. At this point, few ideas seem to be better than others, so they probably are worth further development.

Although we are planning to move gradually out from flash games, it seems that we will still create at least one new game for that domain. The reason for this is that we know the tool (Stencyl) quite well and we are also familiar publishing flash games through Newgrounds and Kongregate. Publishing games to mobile and/or HTML5 is mostly unknown territory to us, so why not try to stay withi…

Turbomole released

Image
Ok. After lots of debugging, fixing, and other hassling we finally got Turbomole Trial Run flash game reproduction published at Newgrounds. Although to-do list was quite short for the day (only 3 items left), it took surprising amount of time to sort everything without breaking anything.


The judgement phase was passed quite fast, and during the first 7 hours there were over 300 views. Average rating is currently around 3/5 stars (about the level I was originally expecting). Gameplay seems to be working and major flaws have not been found (yet). Also the level design is quite ok at least from our own perspective.

It seems that sounds share opinions, but the current solution is about as good I was able to arrange within this schedule. For background music I was using "Fun in a Bottle" downloaded from Kevin McLeod's "Royalty Free Music" pages. All sound effects were created using the laptop microphone and Audacity software, so there might be some strange noises an…

Game update: "Turbomole Trial Run"

Image
As defined in the "roadmap", we decided to make updated versions from our two flash games. Because the plan was made and the work seemed to be quite straightforward, I started evaluating and updating "Turbomole Trial Run" flash game. 
Game was originally created with Stencyl and published using the Mochimedia distribution network. I had no intention to do everything again from the scratch, so I dug out the latest development version from my backup disk and started to explore how game was implemented about half an year ago. I have to admit that my old "code" (i.e. Stencyl blocks) is not too easy to understand, mostly because of the bad "coding" style and missing commment blocks. But anyways I got an idea what I've done before, and started planning the modifications. 
First task was to remove Mochimedia API blocks out from the game, and replace them with corresponding Newgrounds stuff (leaderboard mainly). I also started new game project at New…

Gamedev plans

First part of my summer vacations is over, and tomorrow it is time go back to work. Luckily, I have still one week vacation left in the beginning of August. :)

My game development activities have also been quite minimal for last couple of weeks. However, there is a small exception: I've been discussing with my brother how our gamedev activities should be continued for the rest of the year. And as a part of this process we have tried to sketch a roadmap for upcoming game releases. I work full-time in large telecommunications company and all my game development is done in leisure time, so there is a clear need for some kind of a rough plan to keep things progressing smoothly.
First of all, we have a plan to release three html5 games in the next six months: Two smaller ones and one large one. Smaller games are planned to have relatively simple graphics and gameplay, so we are able to finish them ourselves quite smoothly. There are already technology demos up and running for both of the…

Post-mortem: Soccer Breakthrough

Image
I decided to write some kind of a post-mortem analysis for "Soccer Breakthrough" flash game we released around 21st of June to Newgrounds (and Kongregate).

Overall rating for the game has been 3+ stars at Newgrounds and 2+ stars at Kongregate. But there has been huge variation in ratings from different players: Some players have liked game a lot because of it's simplified gameplay and medal system. They even have encouraged us to continue same way with future games. But then there have been several comments concerning the lack of realism, the fact that game gets boring quick, most of the sounds are irritating (in fact, they are), and so on. I have even received direct requirements to change literally everything in the game. Yippee.


Soccer Breakthrough was originally intended to be a HTML5 game with very simple gameplay and simplified graphics. However, we had very tight schedule because of my holiday trip, and we decided to make this release with Stencyl because it was m…

Soccer Breakthrough

Alhough I've been creating game prototypes with Construct 2 for last couple of months, I decided to do yet one more flash game with Stencyl. I am not too sure what was the original reasoning behind that decision, but anyways the game was published today.

"Soccer Breakthrough!" is currently available on Newgrounds. Game has leaderboard and also medals (or achievements, whatever). Now I just sit and watch how our little game will please gamers. I am also planning to create HTML5 and mobile versions of this game, but before that I will carefully analyze how flash version will do on portals. 
My vacation period started yesterday, and for next three weeks I don't have to think about System-On-Chip design at all. So I might have some more time for game development. But now I am having at least one week without any work or game related activities, and try to recover from the stressful last days at work...
-Jussi

Jam entry

As mentioned in previous blog article, my target was to attend FGL's "week long game jam" with one idea. However, after four days of work I realized that I am not able to make the game as playable as I wanted to. So I decided to freeze development work, and quickly drafted a new concept that was possible to get to up and running in less than one day. 

In practice it was ~7 hours before deadline when I started creating the game. But the development work went quite smoothly without any problems, and in the end I got the game ready in 5 hours. So there were still some margin left. :)

It works best with some touch-screen device supporting HTML5, but you can try it also with computer+mouse combination. You can find game also from FGL, if you have account there. 
Next step would be to polish the graphics and make some improvements to the gameplay.

Edit 7.6.2014: No special success in jam, but got some valuable feedback how game could be improved. The most important thing for me …

Smoke animation with Construct2

Image
I started sketching a game for FGL's "week long game jam", and noticed quite soon that I have a game idea that would need smoke animation. I did not have previous experience how to create one, so it was time for few trials. One of them proved to be useful for me, and here is description how it was done with Construct2.

First of all, I tried different styles of "particles" or objects for a smoke. My target was to create something like volcano-style smoke, meaning that it will appear in certain point and starts ascending slowly to the sky. Simultaneously, this puff of smoke expands and gets thinner (=opacity decreases), and at some point it disappears totally. Just like in the still picture below:



I tested couple of options for creating a smoke object, and ended up something like described in the picture below:

Somehow, round shapes looked the best, but I tried cloud-like objects also. The background was light blue, so dark colors were better in this case.

Smoke …

HTML5: one build fits all?

I started evaluating new game development tools for a few weeks ago. My target was to find out which kind of tools are available for creating games for e.g. HTML5, Android, facebook etc. During the search I happened to find out that there was a Construct 2 jam ongoing at Newgrounds, and realized I did not know anything about the tool. So I installed it to my windows desktop and started to find out how it works. 

Tool itself is quite easy to use, and so far I have created couple of demo HTML5 games that can be run on almost any platform. Tests have been run without problems on linux and windows PCs (using browsers), Nokia Lumia (Windows 8 phone), and couple of Android phones. Earlier I was skeptical about the performance of HTML5 games, but to my surprise at least these specific demos were running smoothly on all tested devices.
Even if I have not much experience on developing game for multiple platforms, I have at least one guideline to share: Keep in mind what input devices you have av…

To mobile, and beyond!

Yes, I am still alive and kicking, although no blog postings or games released for a while. Sometimes it is a good idea to have a little break and take a closer look what you have done recently.

After releasing Explopool, I have mostly been planning and creating different game prototypes. I've also explored various game development environments and engines to get an idea what kind of tools are available. There are plenty of choices, but I have not yet decided which one to try next for releasing a game. Haxeflixel might be a good candidate, but first I have to get better understanding on it.

Stencyl 3.0 came available couple of months ago, and I've been gradually migrating to it. Android support has been the main driver for that, because I really want to go mobile at some point and Stencyl is the most familiar development environment for me currently.

Since I am running my game development activities over Linux, it's not always so straightforward to switch to a new tool or …

Stencyl and Newgrounds

Since Mochi Media is winding down the services in the end of March, I started to look for alternatives for publishing and spreading my own flash games.

Previously, I have posted couple of games to Kongregate just to test the flow, but there has been only handful of players for each of them (with zero marketing). However, I also posted Explopool to kong for a week ago, and this time there has been enough players to get the ratings visible (2.7 / 5.0 stars at the moment). Clear progress, I would say. :)

I have heard stories about Newgrounds and how demanding the audience is there. So it has been bit frightening choice for the fledgling game developer who is unsure about his own skills. Nevertheless, I decided to make a Newgrounds version of Explopool (with scoreboard and ads), and test how game publishing flow works there.

Basically, integrating Newgrounds API to game made with Stencyl was very easy: Just create game project at Newgrounds and copy the API ID and encryption key to Stenc…

We're done! (Explopool flash game)

Image
It is somehow rewarding (and also relaxing) to get something finished.

I am happy to tell, that after all that debugging, polishing and problem solving we got "Explopool" flash game ready and released. Game mechanics is not too complex, but still there were challenges to be overcome before we were able to say that this (possibly) works.



The basic idea of the game is simple: place and set a bomb to pool table, wait it to explode, and see how balls are pushed by the shock wave. If ball goes to the pocket, you will receive some points and handful of coins. When coin meter (on the right hand side) is full, you will get one more bomb. There is also possibility to get 2x or 3x points, if you get enough balls to the pockets with one explosion.

There are few special features available to make game more interesting and challenging:
black hole: sucks all balls in certain range to the holecolor match: if this is activated, balls of same color will disappear if they collidemulti bomb: Bomb …

Don't think - publish!

"No matter what you publish, as long as you publish something". I have tried this strategy for a while when learning game development and released several flash games (or equivalent) without much self-criticism. 

There are many hobby game developers who start a project, work passionately on it for some time, and finally dump it to the trashcan or leave to the drawer to wait for better times. And this is repeated over and over again, for every game project. Basically, there is nothing wrong with this approach: sometimes project has to be terminated for some reason. And there is always something to learn from each project, even if it was left unfinished and never shown to anyone else. 

For most game developers the funniest and most interesting parts are concept creation and actual development of the game. Who would not like creating game assets and mechanics, or sketching characters and new worlds? Bug-hunting, game polishing and balancing are also tolerable tasks for most hobby…