From: Dennis S. <de...@va...> - 2012-06-14 05:51:00
|
Hello everyone, I did a (partial) port of TuxMath to Android. It is live on the Google Play Android Market ( https://play.google.com/store/apps/details?id=com.panaceasupplies.android.games.math ). That link is not to an official port, it's just my own little version of it. I called it "Free Math Games for Kids". So far 520 people have downloaded it, and 390 still have it on their phones or tablets. That is a pretty good retention rate for Android. Especially considering that the initial release had some bugs, which have since been cleaned up. The source code is located at http://github.com/dennis-sheil/commandergenius/tree/mathgame . There is a README file on that page which explains a lot. There is a TODO list which has a lot of information. One of the first ones talks about SDL_UpdateRect versus SDL_Flip. My port uses Sergey "Pelya" Pylypenko's port of SDL to Android. It does not seem to handle SDL_UpdateRect's well, and I usually have to replace them with SDL_Flip's. It's something I (and/or Pelya etc.) have to look into more. You don't need an Android phone or tablet to test this code! There are free and official Android emulators for Windows, Mac and Linux. There are free development tools to compile all of this for these platforms as well. So any developer reading this can test this code on an Android emulator. The logical thing it seemed to me was to leave working and broken code alongside each other in the Github source, and for my release, rip all of the broken parts out. For example, Training Academy works, and Factoroids does not. In the Github source I have both, in my release I rip out Factoroids (and custom games, and high scores etc.) The other differences between the release and the source are the aforementioned SDL_UpdateRect's (the temporary fix is to replace them with SDL_Flip to get a cleaner look) and a method to make the credits roll look better. I describe how to do these two kludges in the readme, and left the source as-is. If anyone wants to implement these kludges and it is unclear how to do so, contact me, but I believe it is clear. Of course, ultimately what we want to do is fix these things. I was very happy to see the on-board number keyboard in Tuxmath. This came in very handy. The keyboard is a little bit to small to hit on some phones. Even the red X button in the top right of the screen is a little bit too small on some phones. I would say this is the #1 problem that needs to be addressed, it's my top priority. Because making the buttons so small on phones and so hard to push makes the game less fun. The odd thing is this varies from phone to phone - on some phones the number keyboard is plenty large, on some phones it is annoyingly small. The number keyboard, and the upper right hand close button have to be big enough to easily push on all phones. This is the most important thing to fix, in my opinion. Normal sized hdpi (hvga), normal sized ldpi, and small screens are not currently supported. If someone wants to work on this, it's fine by me, but it is not one of my priorities. I've sent e-mails and spoken to people on IRC previously to this about this port. My idea is that I'm doing my own little thing, and my release on Google Play is not an official TuxMath release, nor am I looking for it to be. But I'd like to help in the effort for Tuxmath to have it's own Android version. For my own little version, I have ripped out some of the Tuxmath branding, and am planning on pulling more out. I certainly credit Tuxmath though in my Google Play blurb and in keeping the credits listing (in the middle I added myself for Android port, and Pelya for his separate work on a port of SDL to Android). I do not want to present myself as being an official Tuxmath port, nor am I looking to. But I certainly want to show the credit. As well as for Tuxmath to have its own official Android version. Anyhow, I talked in e-mails and on IRC about this, and am interesting in your ideas on this and am open to hearing about them. My readme file on github is a good thing to read if you're interested in this. Perhaps also the commit log on github - I fork Pelya's Android SDL library, add Tuxmath source code, and show the changes I needed to make thus far. As I said, my first priority is making sure the number keypad is large enough to easily hit on all phones, not just some phones, but there's a lot that can be fixed. Patches welcome! Thanks, Dennis Sheil Panacea Supplies |