Friday, September 30, 2011

RELEASE/UPDATE 2011 09 30

This release sports a new menu from the main Activity of the app. This way you don't need to go to the options page to change some display option, you just tap the menu button.

There's also a change where by the app doesn't go to sleep on you as it did before. This is good because when it goes to sleep it looses the OpenGL context and the cube disappears from the screen when you return to the app. It's hard to explain, so lets just say that it doesn't happen that much any more.

That's about it.

Just an aside. I noticed yesterday that Mind Orange, the company that pirated my game had vanished from Android Market. I wonder if it was my complaints or someone else's that lead to this.

Friday, August 19, 2011

RELEASE/UPDATE 2011 08 19

I uploaded another update today. If you download this app you'll find a slightly improved user interface. No changes are visible at first glance, but, in 45 degree angle mode and on a smaller screen you'll find the selection of "turning arrows" to be improved. This is especially true on the smaller screen devices. Also, in either regular or 45 degree mode you'll find that you can spin the cube by 'swiping' to the left or right.

Remember you can turn faces of the cube in 45 degree angle mode by selecting a turning arrow and then selecting the 'go' button at the bottom of the screen. Also remember that you can turn off the mirror and spinning animation, and switch between 45 degree and normal mode by going to the 'options' page. You can always select the move you want to perform by using the dropdown spinner at the top of the screen.

Sunday, August 7, 2011

RELEASE/UPDATE 2011 08 06

This release adds the 'Mirror' functionality to regular mode. The Mirror option, when turned on, shows the side of the cube that's facing away from you in regular mode. This way you can get information about all six sides of the cube without rotating it. Basically you can tilt the screen to see five of the sides, and the mirror allows you to see the last side - the side that's facing away from you. Here's a screenshot:

Hope folks like this. You can turn it off in the Options page at the bottom of the Options list.

Saturday, July 30, 2011

Recent Events 2011 07 30

The Android Awesome Cube game is a Rubik's Cube implementation for the Android phone. I've programmed the app up until now using an Android emulator. I actually published the program on the Android Market without doing enough tests. I found out that another company has published a version of my game without my consent or cooperation. I have blogged about this in the past. It made me pretty angry.

Testing the app from a real device is important. Since getting a hold of a real device I've found two errors, both of wich are very big. The first one was such that the game could not be played. It affected the display of colors on the screen, in the form of what open-gl programmers refer to as textures. The textures weren't displaying properly. I've blogged about this error. The second error affected the game such that a certain move could not be performed in the game without making the cube unsolvable. It is as if someone swapped pieces on you without your knowing it. People familiar with trying to solve the Rubik's Cube would understand. These are both bad errors. Both are corrected now. The first error has been corrected on the downloadable version of the game, and the second correction will go to the Android Market on Sunday or Monday.

What does this mean and why should I be pleased? When I first found out that the game I'd been working on was copied I was mad, but so far the company hasn't updated their version with bug fixes. I downloaded their version yesterday and it was unusable. This pleased me. They added some aspects to their version, like adds, and a fancy start-up screen, but it's not usable at all.

I don't know if they'll be able to follow what I'm doing to the code, now that the package name is different, but if they don't then their version is junk. They copied something unusable. And if they remedy their version in the future, how would I feel then? We'll see then. For now I'm happy with the way things have turned out.

And what if you're thinking of downloading the game? I suggest waiting for an announcement from me or download my version of the game with the automatic update feature.

Friday, July 29, 2011

COLORS 2011 07 29

Well, the colors on a regular emulator worked, but not on a device, and believe it or not I didn't have a device to test on till today. It was a problem with the open-gl textures. I did fix it, and then had a chance to try the app on the device. It seems that even after all the programming to make '45 degree angle' mode work, that the other mode, (we'll call regular mode) works better. 45 degree angle mode uses triangles on the screen that you're supposed to be able to touch to make the app recognize which face of the cube you want to turn next. Well, that works well on the emulator where your pointer is the mouse, but on the device, where your finger is sometimes bigger than the triangle itself, it doesn't always work.

Oh well. If I work on another version of the app to replace this one I may readdress this problem. For now '45 degree angle' mode is a novelty and a nice addition, but not essential.

The program version number that this post refers to is 1.0.0.20110729 .

Wednesday, July 27, 2011

Still Doing Testing 2011 07 27

So, what are my plans for awesome-cube? Really the next phase is to do lots of testing. Feel free to download the app and feel more free to comment or write to me about it, but try to remember that it's probably still not done. The QR Code is at right, though. That would be the place to start to see the app for yourself.

With regards to the matter of the 'Orange Mind' company, I really don't know what my next action is going to be. I don't like that they used my name (even if it was only in the package name), and I don't like that they're charging for the app. I don't know, though, what I can do about it.

Tuesday, July 26, 2011

Subversion Commit 2011 07 26

I've decided to commit my changes of the awesome-cube project to the Google Code Subversion site. I was going to wait until I had some kind of response from someone at Google from my letter. You can see the text of my letter below. I sent the letter to Google using a form on one of their developer sites. I'm now not sure I'll get a response. I just want the whole project on the web site, as complete as I can make it.

You can visit the Google Code site by clicking on the link at the right. I will put the link here too.

http://code.google.com/p/awesome-cube/

Monday, July 25, 2011

Complaint Letter 2011 07 25

This is my complaint letter

To whom it may concern,

I am an android developer. I've been working on a simple app for the android phone called 'Awesome Cube'. It is a Rubik's Cube puzzle game. Today, July 25, 2011, I tried to upload my game to the Android Market site. I found that someone had already uploaded my game before me. The game was uploaded by Bernard Chan of 'Mind Orange', a  company in China. The URL for Mind Orange is 'http://www.mindorange.com' . I do not work for Mind Orange and I've never heard of them before.

The source code for the game is on the Google Code website, and has been since the start of development. My name, David Liebman, has been and still is part of the package name for the android app. The package name for the app was 'org.davidliebman.awesomecube'. Today, when I tried to upload the apk to the android market site the action was blocked, as Mr. Chan had already done exactly that. One of my complaints is that he used my name. He did not remove my name from the package name of the Java app. This prohibited me from using my name myself, even though it's my name.

I went to the site associated with the Mind Orange release of my app and found that they seem to be charging nothing for the first five days. This implies they charge for use after that time. My program is and always was open source, and documents stating this have been part of the 'svn' repositories from the start.

Later in the day I went to the source code and changed the package name myself to 'org.davidliebman.android.awesomecube' so that I could submit my app. I don't want to change the name now that I have already submitted it. I will not commit my code with the changed package name until I hear something from someone.

I am interested in having them not use my name as part of their package name. If they just change the name I think I'd be satisfied.

Here is some info on Mind Orange:

WWW.MindOrange.com
Room 2508 , Building 401
Wangjing Park, Chaoyang District
Beijing
100102
P. R. China

I would be happy to correspond with anyone about this. My email info is below:

David Liebman
david.c.liebman@gmail.com
xxx address removed xxx
xxx, NY, zip removed xxx

It's not very well organized. I sent it to someone at google today, but I'm not sure I'll get a response.

QR Code 2011 07 25

I haven't had time to test this yet, but here's the QR Code to the android app.
If this doesn't work, please drop me a line.

Tuesday, July 12, 2011

ArrayLists to arrays 2011-07-12

I spent some time replacing many of the ArrayLists with regular arrays. Now the cube spins much faster. I want to try it out on a device to see how fast it really goes. The info would be helpful when I set the final measurement for the degree angle that the cube pieces turn at during an animation. I think it's now set to 15 degrees, but that might go by too fast, so in the final version I maybe should set it to 10 or 5.

The tilt functionality works really well right now. The speed that the array implementation has brought has really helped that out.

I also want to add another checkbutton on the options page that will clear the 'Moves' list that's visible on the GlCubeActivity page. It could conceivably take up too much of the screen space if it gets too large.

Sunday, July 10, 2011

Sunday, July 3, 2011

Screenshot 2011-06-03

This is the interface currently. As you can see, all the smiley faces are upside down. I'll have to fix that...

Thursday, June 16, 2011

2011-06-16 Update: Standardized piece rotation and animation

I've added functions to the MeshList class that allow for complex animations. I provide the functions with a list of rubik's cube pieces that the animation is to operate on, and I can get the pieces to rotate on any axis for 90 or 180 degree distances (both clockwise and counterclockwise). I intend to use these functions to animate activities that the user performs on the cube.

I am having a little trouble with the emulator. The app launches slowly when I launch it from the emulator's app menu. It launches fine when I launch it from the eclipse IDE. I'm guessing it's an issue with the AndroidManifest xml file, but I'm not sure. I'll have to experiment with it.

Wednesday, June 15, 2011

2011-06-15 Update

UPDATE:
The code has developed to the stage where I am assembling a cube in the gl environment from predefined rubik's cube pieces. I can define corner, edge, and center pieces, and I am in the process of building a cube from them.

I still have to edit the images of the tiles so that they don't look like smiley faces any more. As it is, I can never get the smileys to line up together facing the same way. This is only an issue of appearance. The cube pieces all seem to work fine regardless which way the smileys are facing.

I added a spinner and a button to the screen, but these won't be used till later when I'm getting the cube faces to turn separately. I can get them to turn now, but the animation is hardwired and not attached to any controls.

Saturday, June 11, 2011

Saturday, June 4, 2011

Today's Screenshot

I won't have a screenshot for every day, but here's one for today:
It's a work in progress.

Sunday, May 29, 2011

Description With Pictures:

Awesome Cube is an android app that displays a simple cube which is created using OpenGL.

At some point I hope to develop the code to the point where I have a Rubik's Cube, but for now I'm working on a 'dice' like version of a cube that I can manipulate by rotating it and moving it around. Presently I only can represent a simple cube, like a die (dice-like)...

...And actually the code I've got doesn't even support different images on the different faces. I only have one texture image so far to paint on any of the surfaces of my cube. Later on I'll have time to add more images. For now I don't even have a screenshot.