All posts by Sascha

WordMix on tablets, learning Japanese

A recent WordMix update brings much improved support for Android tablets as well as experimental support for Japanese dictionary.

Improvements to the layout for 7″ and 10″ Android tablets were long overdue, fixing some issues where activities and controls looked out of place because they were initially created and optimised for mobile phones.

WordMix in Google Play Store

Further I based the App’s theme on Holo for Android 4 and on Material for Android 5, ditching the DeviceDefault as a recommendation. In my experience, vendors quite often ship a DeviceDefault implementation, that is inconsistent, incomplete and quite often breaks visual appearance. In order to work around inconsistent presentation on some Android devices, I have decided to pin the theme to a set of known appearance with some custom styling, bringing a consistent look across all Android 4 and Android 5 devices (Android 2 and 3 support has been removed).

WordMix Pro in Google Play Store

Only new feature is the experimental support for Japanese as a language, including a Japanese dictionary (needs to be downloaded after installing the App). Japanese is particularly difficult to implement in this game due to the high number of different letters and combinations. Similar sound combinations have been combined as single letters, allowing to choose the specific sound by tapping on the dice. Feedback is appreciated!

As always, get it in Google Play Store, while it’s hot!

Sony Xperia Z2 still touch screen issues

Still looking for a high-end Android tablet with software navigation buttons (which rules out pretty much the whole Samsung product range), the Sony Xperia Z2 tablet still beats the competition by far.

The situation back then

In early June this year I bought a device like that only to discover soon that there seems to be a systematic problem with the tough screen that’s troubling lots of users, including me.

  • In certain situations the touch screen would not detect multi touch events, e.g. it would skip keys when typing on the onscreen keyboard
  • It generally has a problem with two touches that are aligned on a straight line, i.e. two fingers with the same y-value or with the same x-value, resulting in erratic touches, which would be interpreted as random tap events
  • Occasionally the device would not recognise touches at all or they need to be very hard / firm. Turning the display off and on usually helped for a short time.

A lot of users complained about this in online forums, some reviews mention it and youtube videos demonstrated the problem:

It was unclear if this is a grounding issue or something that could be fixed with a software update. The software update 17.1.1.A.0.402 came but even 4 month after the device was released by Sony, this issue still wasn’t fixed.

The situation now

Firmware 17.1.2.A.0.314 was released middle of July. Even though news sites repeat the release notes that the issue has been fixed, users are still reporting problems with the latest version:

Users in forums still complain. No solution is known. And the worst:

Sony has not even publicly acknowledged the problem.

Local stores still sell the Z2 with the flawed touch screen, but no information anywhere if this problem is known, analysed and will eventually be fixed.

Inexistent product support

This inexistent product is incredible. This product has been released half a year ago and is still the top tablet on the market as of today and an incredible device. I can’t believe Sony still hasn’t acknowledged a problem or provided a fix that makes this device actually usable. Sony here seems to sell a broken device despite of many users complaining about the poor touch screen but without any hope that Sony will fix the device. Instead Sony decides to work on the Z3 and Z3 tablet compact, while the Z2 still has so much potential to be actually bought.

Not only can’t I buy the Z2 because it is basically broken by design, I must hesitate to buy any Sony product at all because of their poor customer service and product quality.

I can’t believe how bad Sony’s customer and product service is and can only recommend to not buy any products from companies, that care so little about their users.

Unfortunately there is no matching tablet on the market as of today so all I can do is wait.

Water splashes

Sometimes tiny little details can make all the difference. If an egg in Chicken Tournament for Android hits the water, a watery particle system is spawned for the splash. This is just a modification of already existing particle systems but it feels super nice and looks flashy. Of course this is miles away from looking like real water but that’s not the goal and the pure reaction and feedback of an egg hitting the water does make all the difference.

Chicken Tournament for Android

Long time no post about the Android version of Chicken Tournament. But it’s doing very well, despite lack of time. 🙂 And the best, you can already check it out in Google Play!

Screenshot_2014-09-07-16-14-52

New particle systems

A couple of updates later, the completely rewritten game now features improved particle systems like blood, feathers and fire and comes with limited keyboard support. Especially the new feathers took careful design and tuning to get the physics right but I’m very pleased with the optic result and performance. Of course, cranking up the amount of effects, I’m sure it can bring every device down.

UI sound effects improve overall feeling and experience. Having in mind that this game was completely written from scratch using a self written engine and pretty much not reusing any code, I am extremely proud of the result.

Career mode

Screenshot_2014-09-07-17-50-27

The new career mode features an experience and skill system for your hero, level by level. You can collect different hats that will further improve your skills and stats.

In Google Play

Chicken Tournament Demo in Google Play
Chicken Tournament Demo in Google Play

 

The demo version can be downloaded free of charge, it’s ad-free but has a limited feature set. Those features are without limitations tough, like pay-2-win or In-App-Purchases. There is a fully featured full version, meant to support me and my work.

But some important features are still missing though, like:

  • Multiplayer mode
  • Playing as chicken
  • Highscores and ranking lists
  • More and more and more optimisations

I’m just one man, please be patient. If you find bugs of have suggestions, please email me at ct@saschahlusiak.de.

Screenshot_2014-09-25-21-48-16

Thoughts on Google Play Game Services and games

I recently updated the Google Play Game Services library of Freebloks 3D for Android and the BaseGameUtils, as recommended by Google. Not reading the ChangeLog, I was confused that my game tried to auto log in to Google on the start, disrupting the user experience I built around that. Even after dismissing the login dialog once would show the dialog again in the next Activity that is derived from BaseGameActivity or uses a GameHelper object.

Searching the Interwebs I found the FAQ, which explained the change of behaviour, and I am sad that the game itself once again becomes more and more insignificant:

The default behavior of BaseGameActivity and GameHelper is to show the user the sign-in flow (consent dialogs, etc) as soon as your application starts. Naturally, once the user signs in for the first time, they won’t see the consent flow again, so it will be a seamless experience. […]

The first time a game is started, the user will be prompted with a full screen dialog asking the user for consent to post on their behalf to Google+.  The user hasn’t seen anything of my App yet and still Google tries to put itself into the foreground. After the user signed in, this might become a seamless experience but being prompted with this dialog does not seem like a good experience. Especially because there is no warning or explanation of what this dialog does.

It is important for the user to sign in as early as possible so your application can take advantage of the Google Play Games API right away (for example, saving the user’s progress using Cloud Save, unlocking achievements, etc).

I noticed that usually I want to explore the game a little before signing in to Google. I’d like to find out if the game is a game I’d continue to play and once I get engaged with a game, I am willing to sign in to use the additional features. I know I am not an everyday user and I am aware that logging in to Google gives up some privacy. And before I haven’t decided to continue playing a game, I do not want any information to leak or social activity to be generated.

Obviously this reads to me as:

it’s important for the developers and Google to get user generated activity and data as soon as possible.

And is again another step towards games telling the users what to do.

If the user cancels the sign-in flow, BaseGameAcitivity/GameHelper will remember that cancellation. If the total number of cancellations reaches a predefined maximum (by default, 3), the user will no longer be prompted to sign in on application startup. If that happens, they can still sign in by clicking your application’s Sign In button, if you provide one.

Is not signing in to Google not a choice anymore but an error? If I dismiss the dialog because I do not give consent, is that assumed to be an error? Do I have to be prompted again even though I made the choice to not log in? Do I really have to dismiss the dialog 3 times until the game believes me that I do not want to log in?

The games are taking over!

I noticed the trend of games beginning to control users, of being needy, wanting attention, and developers seeing games only as a way to generate a stream of content or resources back to the developer.

Games these days:

  • show popup notifications that they want to be played.
  • make the user attend the game by long running tasks in the background that finish whenever. Building a building may take 5 hours, after which I have to open the game again.
  • want you to share everything on Facebook or Google+ (“Your creature took a dump. Share on Facebook?”). This is not to make you happy or to provide a game element, it is purely to attract other people and make them install the game.
  • tell you exactly and in detail how to use it. A lot of games begin with a 10 minute intro (“now click here”, “now buy upgrade”, “now shoot”) to make sure that the user understands the concept of buying upgrades and in game currency. This leaves very little room for experimentation and explorations, because users need to follow the strict predefined path that generates revenue.
  • lock you in. Using In-App-Purchases basically makes you rent the game, it is like Prepaid and the decision to stop playing a game is harder, because you have money that will expire. When you buy a game and own it, you have the freedom of choice to not play it. Buying your right to play the game over and over will most likely leave you hanging in an awkward spot when you decide to stop. Oddly enough these games are advertise as Free or Free2Play or, less often, Pay2Win.
  • use gamification to seem more interesting. Most games implement achievements in a way, so that they are not game elements. The Google Play services offer achievements that are outside of the game, meaning they don’t change the game flow, giving the user no actual value of an earned achievement. While the wording suggests the user benefits from earning an achievement, this is likely to drive engagement with the game but will not result in higher user experience or even fun. I fear the day users wonder about the motivation to achieve anything.
  • artificially restrict themselves but still take over your time. Why does building a house takes 5 hours sometimes, while the game does not any other game elements during that time? I’s making me hooked, telling me to go on with my day but of course I will always have the game on my mind and I have to come back after 5 hours. The game dictates when the user can play with it and when he can’t. It is not the users decision anymore to play and spend time with the game.

Where did the games go that gave power and freedom to the players to do what they want to do? With room to explore? With having game elements to actually fill 5 hours of time, then waiting and being ready when I come back to it? Where did the love go to provide the user with a fun way to pass his time?

This is not about the user anymore. He is not the customer, he is the good to be sold, the “conversion” to be made. The game is just the means and additional game elements are in the way. Games became a pure medium for developers and Google to say to users: “Give me your money”.

Where was I? Oh yes, disable the auto-login.

Easy enough the above behaviour can be reverted by

getGameHelper().setMaxAutoSignInAttempts(0);

but that’s not the point. Give the power back to the user!

Sony Xperia Z2 Tablet with touch screen problems

Last week I decided to buy a tablet with Android. After looking a while I decided to go with the Sony Xperia Z2 Tablet, which in my opinion is an awesome tablet. It is powerful, light, high quality finish, even waterproof and incredibly thin. Being definitely in a high price range, this is a professional tablet, which cost me roughly 420 EUR.

Only after buying and using it at home for a while, I occasionally experienced erratic touch screen behaviour. Touches would be not recognized, sometimes swipe gestures would be detected as taps, multitouch gestures would stop and break in the middle and sometimes middle touches would only be detected, if pressed very hard. And even then the touches would not be detected reliably, resulting in random taps, performing undesired actions. This is usually with the tablet laying on a flat surface, quite often over night. I know that electric fields while charging a device quite often disturb the touch screen, but with the Sony Xperia Z2 this happened without the charger connected. I had the latest available software installed, the 17.1.1.A.0.402, which obviously did not fix the issue.

Turning the screen off and on usually fixed the situation temporarily, but that is not a solution as it would randomly happen again.

I downloaded a touchscreen test app and also found that the tablet has a very hard time recognizing touches, when two fingers are exactly in a horizontal or vertical line. It would simple drop both fingers. This is not acceptable multitouch behaviour, where one touch affects the other.

Confused I searched the Internet and found quite some people reporting the same issue, even a YouTube video demonstrating the problem, making me believe this is a systematic design flaw, not just a flawed device:

Sony Support recommended me to install the latest software (this was already the case) and then said, my device might need repair. This issue has apparently been around since several month and still Sony did not confirm the problem.

But I believe my device wasn’t actually broken but suffered from design flaws, I returned it for a refund. I am not willing to try different devices until I find one that actually works. Not with so many people complaining about the touch screen. Not for this price.

Sorry, Sony, you made the Xperia Z2 Tablet too thin and you have problems to get it to work properly. I’m sorry my first experience with a Sony mobile device had to be a negative one and with this issue not even publicly confirmed, I can’t recommend buying it. Too bad, it could have been such an awesome tablet.

moosic.fm in google play

The client app for moosic.fm is available in Google Play. It is by far my most polished and stylish app, that I developed for the German start-up moosic.

moosic.fm in Google Play
moosic.fm in Google Play

With moosic.fm you can keep track of the music that’s running in your favourite location. Browse past playlists or see what’s playing right now, all together with previews and cover pictures.

In the backend, the moosic listener listens to music in the background and uploads the recognized songs as a playlist. Users can browse these playlists using either the nice web frontend or the native Android App.

Note that the technology is currently being tested and evaluated. Kodus to T O-12 in Stuttgart for being available for the beta test and to Gracenote for their music recognizing api. For questions, don’t hesitate to contact the guys at moosic.de.

Screenshots

Chicken Tournament for Android in development

After more than 10 years I decided to port Chicken Tournament to current Android smartphones. Due to the differences between the platforms, this will result in a new game and a new engine, but because of lack of time and resources, I will reuse the models and most of the textures. OpenGLES 2.0 though allows me to massively improve the quality of the graphics.

The PC version and the android version will not be compatible.

Please follow the official Chicken Tournament facebook page to receive more information and updates. A very early development version allows driving the harvester over a plain using the accelerometer to steer. The chicken are nicely animated using vertex shader.

Development screenshot of CT for Android
Development screenshot of CT on my S3

Freebloks-1.5 for PC available

While I have frequently improved and updated the network compatible Android version of Freebloks, I have always neglected the Windows version. The Android version gained features like player names and the ability to choose the colors to play with. While the Windows and Android version always stayed compatible, the PC version simply did not offer these features to connecting Android devices or when connecting to a dedicated server.

Now Freebloks-1.5 for Windows is available, which lets connecting Android devices use all features and offers the player to choose his colours as well as to choose a name (which is not displayed in the game but on connected Android devices). If you frequently play Freebloks over the Internet, it is recommended to download the new version here:

isatapd package for android

I created and published an android app that bundles my ISATAP client daemon and provides a configuration front end. To run the binary on android, it requires root access, i.e. a rooted device or phone.

Screenshot_2013-09-26-10-41-13On my Galaxy S3 with Cyanogenmod 10.2 I successfully get a IPv6 address using the app. 😀

If you have a rooted phone and an ISATAP infrastructure close by, please feel free to give it a try:

The app is open source, with code being available on GitHub: https://github.com/shlusiak/isatapd-android

The source tree also contains a pre-compiled isatapd binary to be used in your own distribution or scripts.

Freebloks VIP – donate version of Freebloks

Freebloks 3D for Android is free software, it’s open source, completely free of charge and you can modify it to any extent. Free software however does not mean it has no value. That’s why Freebloks comes with the feature of in-app donations to support the developers.

You can choose how much Freebloks is worth to you, you can donate any amount you like or you can purchase the new published version called Freebloks VIP, that is identical to the free version but paid to show the support to the developers. The only visual difference is the coin in the app icon indicating your support.

Please don’t take free software for granted.

Screenshot_2013-07-31-08-57-00