long time no see. I’ve been sort of on a break for the past few weeks. I want to detail the reasons for this, just to clear out my head and give you insight into what happened over the last few months, explaining certain down-times.
From August 2011 to February 2012 i’ve been working for a mobile gaming startup in SF. Three months i spent at their office in SF, the rest i worked from home. It was an exhausting marathon, with work hours way beyond what’s healthy for me (can’t speak for the entire team). I was mentoring people, trying to coordinate the different sub dev-teams and come up with architectures for various parts of the application. It was an interesting ride, together with a team of very young folks, some of which i happen to think of as friends now. I eventually left the company for various reasons at the end of December. I just wasn’t happy. I continued to work with them for another month and a half on a contracting basis to help out with a few things until the middle of February or so.
Around November signs of burn out started to surface, but i largely ignored them. I just continued on working on even more stuff.
From January onwards i started working on private projects again. I rewrote Tyonar to allow multiple “instruments” and infinite steps. I never published it, not being happy with the user interface. I wrote a reddit client (APK), spent over a month on it but also never published it. I rewrote the libgdx build system, rewrote the way we handle native code, creating a tool that allows me to write JNI code faster, added tons of new extensions and finally added an entirely new backend so people can deploy HTML5 libgdx apps. I started working on the iOS backend again, completely switching it over to MonoTouch. I started a working on a pirate game with Shiu and Kalle. All of that was done in roughly 2 months. I took of maybe 2-4 days in total during that period, visiting Tamas and Nate in London. I can’t say it helped with the burn out thing.
My old company, for which i’ve been working for the last 6 years, made me a nice new offer which i couldn’t refuse. Whether this is a smart career decision i can’t tell. My record doesn’t look to diverse, i’ve been working for only 2 companies so far. However, I really like the job there, it’s a mixture of R&D and product development which allows me to get into all kinds of fields, from information retrieval solutions, to distributed computing, visual analytics, web-technologies and even some RFID work. I worked with an incredibly broad set of technologies over the years and helped ship quite a few products of our partners. The only thing i haven’t touched in depth are JavaEE technologies, which again might be a problem in terms of a future career path. I started working there at the beginning of April.
In mid April Apress approached me and asked if i wanted to write a real second edition of “Beginning Android Games”, this time without a missleading title like “Beginning Android 5 Games”. Robert and me agreed to do that, we just can’t give up our baby. The additions will mostly consist of overhauling the material that’s already there and adding chapters on integrating with in-app purchase services as well as one of the game services like Swarm or OpenFeint. That’s probably around ~60 new pages, a pretty standard delta between tech book editions. This will fill up most of my spare time for a few months i guess.
I’m in maintainance mode with libgdx, meaning i go onto the forums, fix the occassional issue on the tracker and write a bit of documentation. In terms of features there are two things that bug me: scene2d needs an overhaul in terms of API and documentation (we hinted at the former a while ago) and we need to finish the 3D API. Kalle has been doing a lot of awesome work in that regard, but i’m still responsible for the GL10 branch, and i just can’t get my ass up working on that. There’s also the problem of format support, i’d love to support FBX and make that the number one format, but FBX is a monster, and there’s only the FBX SDK which can handle most of the modeller apps out there. It’s a pain. The iOS port is also something i want to spent some time on. I would also like to see more people on the dev team, at the moment we have about 4-5 active committers. We can’t of course just let anyone contribute to core, but there’S a lot of places even inexperienced people can help out, e.g. cleaning up Javadocs and so on. Here’s a list of things that need to be done:
- Refactor Scene2d: getters/setters, exposing fields is incredibly stupid. This would mean reworking the UI framework as well. I’d also like to rework the action system, at least the interpolators.
- Complete the 3D API: implement GL10/GL20 renderer (the later is mostly done, thanks Kalle), add FBX loading support and integrate it into the core API.
- Look through the issues on the issue tracker and close as many as possible.
- Finish the development guide.
- Overhaul Javadocs where necessary.
- iOS port via MonoTouch.
If you think you can help out with any of those, we are happy to get you on board. You’ll have to follow a couple of rules of course, and if you work has a detrimental effect (breaks things, no compliance to set rules) we’ll likely revoke your contributor status. Yes, i’m a nazi.
Save for the iOS port, what do you think we should focus on? I’d really like to focus on docs for some time.
A full-time job, a book and libgdx is a lot of work. I need some time to reorganize my time schedule to make everything fit together. Rest assued that work on libgdx continues 🙂