Posts Tagged ‘dev’

Sane replacement for GLSurfaceView

May 1, 2010

I’ve been asked several times about my implementation of OpenGL ES on top of Android’s SurfaceView so I’m posting it here for easier access 🙂 And maybe someone finds it useful by googling.

A few words about why did I bother in the first place? First, I wanted to control the main game loop by myself and don’t rely on GLSurfaceView’s callbacks. Doing it this way allowed me to have a much better code architecture and is more robust as I can *really* control when and what it does. My version does the same thing in 200 lines of code instead of 1350 and can actually be understood by human beings. That brings us to the second reason: I was experiencing weird bugs and had to debug my GL rendering code. Tracing the issue I ended up at EGL level. To this day I don’t know what was really the problem as GLSurfaceView is an abomination. It doesn’t have a proper separation of responsibilities in its thirteen internal classes, the logic is horribly convoluted… let’s say initially I started to refactor it into something understandable but after a few hours just gave up and wrote my own implementation. In a single class. Simple and working one. Nuff said 🙂



Android on the iPhone!

April 24, 2010


That was my first thought when I saw this post and watched the video 🙂 I just finished installing it on my iPhone, finally it’ll be put to some use 😉

It’s just the first alpha release so things are a bit dodgy but it’s fantastic news anyway and I bet it’ll be improved quickly now. The prebuilt binaries contain Android 1.6 but others built 2.0 and 2.1 working images as well.


OS booting, phase 1

OS booting, phase 2

Android on the iPhone!

Web browser

Two hints if you want to try it on your own. I found this tutorial for dummies very helpful. To easily extract firmware you may want to use commands from this page.

Liquidiser – a Blender to M3G converter

March 18, 2010

Recently I released Liquidiser, a new tool to convert Blender’s .blend files to M3G’s .m3g format. It doesn’t support the whole M3G spec yet but can convert static and skeleton-animated textured models which is the most important part 🙂
Apart from being a converter Liquidiser is also a library capable of reading entire contents of .blend files so can come in handy for those wanting to write their own converters or utilities.

M3G model viewer

July 8, 2009
Perilith Knight

Perilith Knight

Recently I was busy modeling and animating a lower-poly replacement for Perilith Knight meant to be used with JME game I’m working on. All was dandy as long as I was working inside Blender. I exported the model a few times and it was all looking fine as a static mesh. Animated model was a whole different story…

I ran into all kinds of issues from animation not being played at all, being played at the wrong speed, wrong vertices being animated… long story short I needed a tool to preview model from all angles, at different animation steps, scaled, rotated, mashed… I needed a M3G model viewer.

Monster download of Wizzer Works’ M3G Viewer didn’t really bring the expected benefits as it refused to import any of my models. Nifty 🙂 A desktop application would be nice but at the end of the day what really counts is how a model looks on an actual device so a simple J2ME M3G viewer was the way to go.

If you think the left guy seems familiar you may be right. Although the model is different the texture is the same 😉 Actually I think I messed up with texturing of the knight too.


J2ME M3G model viewer

Eclipse 3.5 with MTJ 1.0 is out

June 25, 2009


Looks like Eclipse folks made it again 🙂 Galileo release with Eclipse 3.5 and MTJ 1.0 is included. Yes, I did say ‘MTJ 1.0’! After years of trouble and uncertainity about project’s future Eclipse Mobile Tools for Java project actually saw its release 1.0! 🙂 I have to admit I’ve never been a huge fan of Java ME tools integrated with various IDEs and instead developed BitCruncher but it’s such an important milestone that I just have to try it out 🙂

Java ME SDK 3.0 on Linux/OSX

June 18, 2009

Finally! It seemed like eternity but finally there’s some real news for Linux and OSX devs out there — Sun presented a prototype of Java ME SDK 3.0 running on nothing else but Mac OS X! 🙂


There’s a video available — check it out at Java ME SDK Team Blog.

FSFR: acromym acronyms! :)

October 16, 2008

Recently acronym RPG when applied to computer games is mostly equivalent with MMORPG. For all fans of single-player role-playing games it’s an uncomfortable situation and some people (like Epic of Thalia devs) felt the need to underline that their game is not a MMORPG. But having a new acronym (actually an acronyms acronym) beats it all and one has been suggested yesterday by FSFR. FSFR obviously stands for FOSS SP FPS RPG which of course stands for Free/Open Source Software Single Player First Person Perspective Role Playing Game. Brilliant 🙂

Converting MIDP threading applications to Sidekick

September 12, 2008

While porting to the Sidekick platform one of the most mysterious issues I was fighting with were massive application slowdowns. What was most interesting they happened e.g. on the menu screen which, after it’s initialized, is basically a static screen. After trying various approaches I started to think 😛 and remembered I read something about threading issues in “Java ME Applications on the hiptop Platform” document (available from Danger’s developer site).


Sidekick coding: sick Pen API

September 6, 2008

Sidekick has a powerful API but it has this feeling of in-house development where not enough thought has been put into making it clean and well designed. Instead it sometimes feels like methods has been added on an ad-hoc basis whenever someone felt like something is needed. Then there’s really a lot of deprecated/unused methods and constants. Generally it’s not a bad API at all it just feel a bit random at places 🙂

But there are places that are really bad. I know I’m not the most experienced Sidekick programmer out there but I can tell bad API when I see one and one of the things that frustrates me most in Sidekick API is danger.ui.Pen class.


A case for free/open source software

July 22, 2008

Recently I started to experiment with Sidekick development. All nice and fine, Danger Developer Zone provides reasonable documentation, nice SDK with a complete, cross-platform ant-based build system along with a decent emulator and a number of examples. That was the good part.