Posts Tagged ‘Android’


27.05.2011

Rune Escape – Adfreeable

posted by Karsten

in Uncategorized

4 weeks ago I set myself a goal. A goal to see, if I could make a game using my new game engine in 2 weeks (while working full-time at the Uni, yea I know, stupid really). As you can see I’ve failed. It took me 4 weeks, BUT… drumrolls

Instead of just a game, I’ve created a new genre of games. Adfreeable games:

Definition Adfreeable: A game where the player can gain Premium status (Adfreedom) by winning awards and fighting other players.

It includes in-game achievements and fights/challenges with other players where the player can win Rune Awards, if a play has 70 Rune Awards the ads will disappear – that is what I call Adfreedom…

I’ve worked hard on the graphics side of things, so there will soon be an update to BoB based on these improvements.

I used Kirsten’s (my wife) gaming preferences for this game. So, it is a fast paced Mahjong style game where the player removes Runes from left and right side of the board. She loves those types of games, and no matter what she’s tried, the traditional Mahjong games are very difficult to play on mobile phones. This game isn’t. The graphics are simple to read, and you only click from the outsides in, making click recognition very precise.

I’ve just uploaded it to the SlideME market , and soon I’ll upload it to the Google Android Market, just waiting for the week-end to kick-in properly over in the States (think I’ll publish it on Saturday evening / Sunday). The upload statistics are quite promising on SlideME, so I’m very hopeful for Rune Escape – and what is much more important – I love the game myself and am very proud of it!

Oh and did I forget to say that my wife is HOOKED…

Share
21.04.2011

BoB – update

posted by Karsten

in Uncategorized

I’ve just uploaded a new version of my Android game BoB to the Android market – it now has online high score lists (using Scoreloop), a new game mode (Wicket Hole) and an improved user interface.

The fruits of 4 weeks of hobby coding – even with guests in the house, a trip to Norway and Uni work in “the way” – am I a coding monster or what!

Share
30.03.2011

BoB has been published

posted by Karsten

in Uncategorized

Tadaaa! I’ve just published BoB on the Android market. You can find it here. It will be interesting to see if anyone downloads it. I personally really do like playing the game, even after extensive testing, so I hope that there will be folks out there interested in it, and even finding it fun to play…

Please tell me if there are any bugs, or if you have any suggestions.

Share
21.03.2011

Memory leak and Android / Java

posted by Karsten

in Uncategorized

Many (novice) programmers think that managed environments, such as Java, is memory leak free. The Garbage collector (GC) will just take care of all memory management, and everyone will be happy! Over the last few days I’d have wished this was the case…

The reason this isn’t true is that if something is referencing the object which is not in use, the GC can’t clean it up, and you can potentially end up with a mountain of wasted memory. Last Friday I suddenly realised that I might have been a bad boy and created one of these situations within my game. I could only play 10-15 games in a row on my machine and then it would crash with a heap allocation error. This is typically what will happen in this situation.

Obviously I thought that I’d been cleaning up within my code, but something was a miss. It took me many hours to fix this one, and I believe it is worthwhile mentioning this one, as it is a problem others are likely to get caught in!

The situation:

  • To minimise memory usage bitmaps are referenced statically within classes
  • One of these are used as background within a view set using setBackgroundDrawable(Drawable d)

What happens here is that a callback is create from the static bitmap to the view, so when the view object is nullified or goes “out of sight” there still exist a callback from the static bitmap to the view (even if is within a class not in use). Therefore the GC cannot cleanup the view object, and through that the context is reference, which means pretty much everything you’ve created within your view. For me that meant 4 full background images, and on a phone that means a lot of memory…

Therefore, this callback needs to be cleaned up manually!

Share
02.03.2011

BoB – getting closer

posted by Karsten

in Uncategorized

A screenshot of the game showing a few balls that can be pocketed into 4 different holes.The game development is moving along, and I’m almost getting ready for release. The game is now a real game, or actually several – I’m only showing one at the moment, which will changes before release. It has got real scoring, and a timing mechanics (a set time to play which gets some added time for each correctly pocketed ball) which for me wants me play it again! Luckily!! I think it is important that a developer wants to play his own game…

I showed it to a few friendly faces (notable Pat and Nick from ITNG at UoR), they both seemed to like it and had a few suggestions to improve it.

Now I “just” need to

  • finish the starting screen
  • add all the game modes I need for each version (a free ad version and an ad-free paid for version)
  • Create an high score list

And we are good to go…

I’ve made the game by developing a bespoke game engine of balls and boxes, so once this game has been released, it should be relatively simple to create another one based on this engine.

Share
27.02.2011

Rhomobile – installation problems

posted by Karsten

in Uncategorized

This last week I’ve been negotiating with a company to do some consultancy work creating an Android app using Rhomobile. Whilst I cannot go into detail at this moment about the app, the funding is dependent on some governmental funding scheme, and still awaiting clearence, I thought I’d better install Rhomobile and check it out – it looks great “on paper” as it is a multi-platform mobile phone app environment based on Ruby on Rails.

So I started installing the environment following the very good instructions on Rhomobile’s site, however after doing so, remembering to set JAVA_HOME manually (Ubuntu’s update-java-alternatives doesn’t – surprisingly!), I ran into trouble. I got:

platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java:461: cannot find symbol

symbol : method setForeground(boolean)
location: class com.rhomobile.rhodes.RhodesService
setForeground(true);
^
platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java:480: cannot find symbol
symbol : method setForeground(boolean)
location: class com.rhomobile.rhodes.RhodesService
setForeground(false);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

It turns out that Rhomobile uses the deprecated setForeground(boolean) method, which Google has removed in the newest Android SDK. Luckily I had an older version of the Android SDK on my desktop, and it turns out that it works perfectly on that version. I can only hope Rhomobile fix this soon. I really hate using old SDKs!

Share
13.02.2011

Android game – Meet BoB

posted by Karsten

in Uncategorized

I’ve now got the first start to my first game using the engine. Ok, granted if you’ve seen my test game it doesn’t look like much has happened, and actually there hasn’t. Today’s work has mostly evolved around testing different screen sizes, SDKs and changing the layout of menus, while messing with my Linux box and Windows 7 box.

But anyway, I feel like it is a good time to show this preliminary view of the game. So, for your eyes only:

BoB

Share
09.02.2011

Android Game Progression

posted by Karsten

in Uncategorized

Bob gameSince sometime last autumn, I decided that the time I used to spend on my PhD work in the evenings, was badly substituted with TV. I therefore started working on a Android game platform, mostly to keep learning new skills, and enjoy coding something different from the normal work code.

I’ve now managed to get to a stage where the goals for my game engine is closing to an end. The engine is a simplistic world, where boxes, balls and holes of different sizes, colours and attributes can be instantiated, and rules can be made between them. The biggest problem I have faced was making the engine smooth, or indeed, as smooth as a Garbage Collected environment, like Java, can become. I figured out that having different parts of the game in different threads from the system thread is a must, and I managed to minimize garbage collection 7 times by optimizing the use of internal objects. So now, the “stutter” that is in the system comes primarily from outside sources. The only thing I need now is to finish the persistency system behind the engine and I’ll be going into “real” game making territory.

I’ve already started on a Bob / couronne type of game, which I have set up as a debugging platform in the engine building stage.

Share
09.02.2011

Little Brother

posted by Karsten

in Uncategorized

I have, for a long time, wanted to read the Cory Doctorow book “Little Brother”. I’ve read quite a bit of Cory’s work, but unfortunately not gotten around to reading this one. Just before Christmas a friend of mine (JD) asked me on Facebook if I had read it, and I could only respond that I hadn’t. It is this question that got me started this time!

I combined this with another item on my to-do list, which was to try and read a book on my Android phone. I downloaded the book in epub format, and got Aldiko installed. I’ve now just finished the book, and I must say that it has been a fantastic experience. Having it with me on my phone has made me realise how much time there is in the day that could be used for reading! I’ve had the phone up of my pocket quite often when I’d normally just be standing waiting for someone or something.

On top of that, or indeed, even without considering the technology – the book is awesome – if you haven’t read it, do! It is published with a nice open source license, so there really is no excuse not to go through the above link and get it… 😉

I like how he manages to describe quite complicated technical issues in an easy-to-understand way, and anyone who manages to promote computer programming through fiction, meanwhile pointing out severe flaws in the hysteria surrounding the CCTV against terror nation we are living in is a hero in my book.

Thanks Cory!

Share