Log in

View Full Version : Logomotion Scorer Android App


Bryan Herbst
10-01-2011, 15:20
I have been working on a pretty basic scoring app for android, and I am pleased to announce that the first version is ready for use!

The interface is very simple. Just tap a tube to select it, then tap on the peg you want to place it on. Hit the menu button to clear the entire grid, or long press to clear an individual peg.

Please provide feedback! I am especially curious to see how it looks across different sized screens.

A few notes-

I am not a graphic artist.
This is a very basic version, I will be refining it over the next week or so
As a testament to the above, the icon is the default android app icon
I believe scoring is correct as per the current scoring rules, which are subject to change
There will NOT be an iPhone/iPod version
I will release the source code once I have time to clean it up a bit.
I will hopefully be able to release it to the android market by tomorrow.


Upcoming features (in order of when they will be implemented)-

Up to 4 grids, with alliance association


For a desktop version of the program, I would recommend 103's java score calculator (http://www.chiefdelphi.com/forums/showpost.php?p=993229&postcount=1).

Dave Scheck
10-01-2011, 16:10
I commend you for your effort, but please take this advice....don't put anything on the market until you've had a good chance to completely test it. There are too many major problems with this app that you need to fix. Don't take the Microsoft approach and just put something out that's not working completely just to patch it later.

- The total score isn't calculated (which is the intention of the app right?). The top, middle, bottom work, but aren't summed.

- The way you're drawing things doesn't support landscape orientation. The tubes and total score end up being drawn off the screen. If you want to force the app to only be portrait, set the Activity's orientation property in the manifest.

- When the phone is rotated, the activity is restarted and the screen is cleared. To fix this, you need to update the Activity in the manifest to handle configuration change events from orientation events. You'll find a similar problem if the keyboard is opened/closed on something like a Droid. For that you need to handle keyboard and keyboardHidden events. You don't need to do anything with the events, but you need to at least have the handlers

- Your circles look hand drawn. If you're direct drawing, you should look into turning on antialiasing for your Paint object.

You have potential with this app. Keep plugging at it and make sure it's bulletproof before you put it on the market.

Dave Scheck
10-01-2011, 17:23
I just found that your ubertube scoring isn't working correctly.

When I put an ubertube on the top row, I get 6 points (from autonomous) as the Top value. When I place a shape on top of that ubertube, the Top value goes to 8 (rather than 12).

Running the same test on the middle, I get a value of 4 after auto, then a value of 6 (not 8) when the tube is placed on top.

Running the same test on the middle, I get a value of 4 after auto, then a value of 6 (not 8) when the tube is placed on top.

I also noticed that if you put an ubertube over an ubertube, the score goes to 0.

Bryan Herbst
10-01-2011, 17:52
I commend you for your effort, but please take this advice....don't put anything on the market until you've had a good chance to completely test it. There are too many major problems with this app that you need to fix. Don't take the Microsoft approach and just put something out that's not working completely just to patch it later.

- The total score isn't calculated (which is the intention of the app right?). The top, middle, bottom work, but aren't summed.

- The way you're drawing things doesn't support landscape orientation. The tubes and total score end up being drawn off the screen. If you want to force the app to only be portrait, set the Activity's orientation property in the manifest.

- When the phone is rotated, the activity is restarted and the screen is cleared. To fix this, you need to update the Activity in the manifest to handle configuration change events from orientation events. You'll find a similar problem if the keyboard is opened/closed on something like a Droid. For that you need to handle keyboard and keyboardHidden events. You don't need to do anything with the events, but you need to at least have the handlers

- Your circles look hand drawn. If you're direct drawing, you should look into turning on antialiasing for your Paint object.

You have potential with this app. Keep plugging at it and make sure it's bulletproof before you put it on the market.
I was planning on waiting until this version was more refined before releasing it to the market, and I had planned on refining it tonight.

As for the first two/three issues- I had fixed those, but it would appear that I zipped the wrong APK. Landscape is not supported right now, though it probably will be once I add the ability to have more than one grid.

The circles are actually images created in photoshop. Can you detail what makes them look hand drawn? In any case, I modified them slightly for this release.

The scoring issue should be fixed now as well.

Thanks for the feedback and testing! This is my first real android app. I have done a few tutorial apps, but had yet to actually find a useful app to make. Definitely a new experience.

Bryan Herbst
10-01-2011, 20:50
Updated.

Added ability to clear individual pegs (long press on a peg)
Added selected tube highlighting
Added 3 ubertube limit on the grid, which can be disabled on the app's new settings page.

Travis Hoffman
10-01-2011, 21:07
Updated.

Added ability to clear individual pegs (long press on a peg)
Added selected tube highlighting
Added 3 ubertube limit on the grid, which can be disabled on the app's new settings page.

I don't believe you reset the ubertube limit counter when you clear the pegs - I'm looking at an empty rack after hanging three ubertubes then clearing them. Attempting to add another ubertube brings up the 3 tube limit error message.

Keep up the improvements!

Hallry
10-01-2011, 22:49
It doesn't work at all on my unrooted Droid 2 running Froyo...am I doing something wrong? ::rtm::

Cyberphil
10-01-2011, 23:10
Thanks for the reference. Although I do not have an android, I will be sure to show this to my teammates!

Dave Scheck
10-01-2011, 23:42
It doesn't work at all on my unrooted Droid 2 running Froyo...am I doing something wrong? ::rtm::You probably need to go to Settings->Applications and enable Unknown Sources.

The latest apk is definitely more accurate than the first one. It looks like you handled the rotation event, but there's a bug now where opening and closing the Droid keyboard "hangs" the app. In this state I can't select new tubes to place. I have to force stop it to get functionality back.

As far as the circle goes, it still looks funky to me. It looks circular, but it has a bitmap quality to it. The curves are somewhat stepped and doesn't look like a true circle. Is there a reason that you went with predrawn images rather than just drawing on the canvas? You could easily do what you're trying to do by drawing the colored shape (circle, square, triangle) first, followed by a concentric white circle to represent the background, followed by a black dot to represent the peg.

We all start somewhere. It's what we learn from our experiences that keeps us moving forward.

darist
10-01-2011, 23:47
Works well on my droid x, not rooted.
Thanks!

Hallry
10-01-2011, 23:48
You probably need to go to Settings->Applications and enable Unknown Sources.

The latest apk is definitely more accurate than the first one. It looks like you handled the rotation event, but there's a bug now where opening and closing the Droid keyboard "hangs" the app. In this state I can't select new tubes to place. I have to force stop it to get functionality back.

As far as the circle goes, it still looks funky to me. It looks circular, but it has a bitmap quality to it. The curves are somewhat stepped and doesn't look like a true circle. Is there a reason that you went with predrawn images rather than just drawing on the canvas? You could easily do what you're trying to do by drawing the colored shape (circle, square, triangle) first, followed by a concentric white circle to represent the background, followed by a black dot to represent the peg.

We all start somewhere. It's what we learn from our experiences that keeps us moving forward.

I did have Unknown Sources enabled for the whole time, yet it still wouldn't open.

Bryan Herbst
11-01-2011, 00:24
@Travis- You were correct. Fixed in the latest version below.

The latest apk is definitely more accurate than the first one. It looks like you handled the rotation event, but there's a bug now where opening and closing the Droid keyboard "hangs" the app. In this state I can't select new tubes to place. I have to force stop it to get functionality back.
How do I test this with a virtual device? I don't see an obvious way to do it with the virtual G1 I have been using and my phone doesn't have a keyboard.


Is there a reason that you went with predrawn images rather than just drawing on the canvas? I haven't played with the android graphics tools at all. I will take a look at that later this week and see what I get.

Out of curiosity, what size screen are you using? They look fine on my screen, but it is relatively small.

Hallry- What method are you using to install the apk? When you say it doesn't work at all, do you mean that it doesn't load at all, you see a black screen, it force closes, or you see the correct screen but can't do anything?

Hawahee
11-01-2011, 03:43
It's good so far...but isn't there like two sets of grids on each side of the field?

Hallry
11-01-2011, 07:17
Hallry- What method are you using to install the apk? When you say it doesn't work at all, do you mean that it doesn't load at all, you see a black screen, it force closes, or you see the correct screen but can't do anything?

By it doesn't work, I mean that whenever I try to download the file it says 'download unsuccessful,' and that the 'content is not supported.' ::ouch::

darist
11-01-2011, 07:39
By it doesn't work, I mean that whenever I try to download the file it says 'download unsuccessful,' and that the 'content is not supported.' ::ouch::

You probably don't have an app that supports .zip files.

I know of a couple of ways around this:
1. You can download the .zip file to your computer, extract the .apk file from it, then put it on your phone's SD card. Then from the phone you have to find that .apk file to install the app. I imagine you could also email the .apk file to yourself if you don't want to go through the trouble of connecting the phone to transfer the file over USB.

2. You can download an app on your phone that handles .zip files. I used ES File Explorer (free in the market). When you download the zip file, it opens with that app. You use the app to extract the .apk file. Then you navigate to the dir where the file was extracted and tap it to install it.

good luck

darist
11-01-2011, 07:58
Got latest version. Looks like the "ubertube counter" is now reset when you clear the grid through the menu option. But maybe it's not decremented when you clear a peg with an ubertube using the long-tap.

Example:
Place three ubertubes on grid
place other game pieces on pegs with ubertubes
clear one of the pegs with an ubertube - using long-tap
try to add ubertube to any peg: you get the "too many ubers" error message.

Thanks again... this is a pretty cool app!

Hallry
11-01-2011, 08:00
You probably don't have an app that supports .zip files.
...
2. You can download an app on your phone that handles .zip files. I used ES File Explorer (free in the market). When you download the zip file, it opens with that app. You use the app to extract the .apk file. Then you navigate to the dir where the file was extracted and tap it to install it.

good luck

Thank you very much, I'll try the second option after I get out of school later. I'll cross my fingers! :)

Bryan Herbst
11-01-2011, 09:26
It's good so far...but isn't there like two sets of grids on each side of the field?

Yes, but the typically small screen size of android devices makes putting two or more grids on the same screen incredibly impractical. I do however have a plan for this and am hoping the app will support using all four grids by tomorrow evening.

@Hallry- Darist hit the nail right on the head. Since CD doesn't allow for uploading .apk files, I had to zip it first. Thus you need to unzip it before it will work.


@Darist- Long pressing resets the uber count correctly for me. EDIT: Never mind, found the bug. Only happens with a game piece on an ubertube. Fixed in latest release (see main post).

Dave Scheck
11-01-2011, 10:04
The Droid screen is 480x854 while the G1 is 320x480 reference (http://www.spacezone.de/blog/pivot/entry.php?id=113). You probably need to utilize the drawable-hdpi, drawable-mdpi, and drawable-ldpi to get the correct image drawn on different devices. As long as you name the files in those directories correctly, it will automatically select the correct resolution for the device it's running on. If you switch to direct draw, that problem goes away, however, you need to be careful about the size values that you use so that they scale properly to other resolutions.

You can (and should) create multiple emulators of different screen resolutions to make sure things look right.

I've never tested the keyboard event in the emulator, but from what I've read, people seem to say CTRL-F11 triggers the keyboard open/close event. I've used that to change orientation, but maybe it also changes the keyboard as well. You can test this easily by throwing a breakpoint in your config change handler and checking out the contents of the config object.

As far as your comment about the screen size being small, I have to disagree. If you force your layout to be landscape, you have as much horizontal room as you need. Then, maybe don't draw giant images for your tubes. Rather, direct draw smaller shapes to fit more on the screen. I'm sure that you'll be able to get more on there and make it useful. As a tip, when you're direct drawing something like this, make it all based on constants so you can quickly change things like peg radius, peg x/y grid spacing. etc

You can get quite a bit on the screen in landscape mode if you don't care about multitouch (if you think there are differences between screen resolutions, you should see the differences in multitouch capability).

Hallry
12-01-2011, 16:34
@Hallry- Darist hit the nail right on the head. Since CD doesn't allow for uploading .apk files, I had to zip it first. Thus you need to unzip it before it will work.

Well I downloaded the ES File Manager, and it works perfectly now. Thanks a bunch! :D

Travis Hoffman
12-01-2011, 16:52
Be sure to edit the app to not double the ubertube autonomous score with a covering logo row, per Team Update #1.

A logo row covering 3 ubertubes on a top row would be worth an autonomous score of 18 plus a peg score of ([3+3+3] * 2 * 2) = 36.

Hallry
12-01-2011, 16:56
Be sure to edit the app to not double the ubertube autonomous score with a covering logo row, per Team Update #1.

A logo row covering 3 ubertubes on a top row would be worth an autonomous score of 18 plus a peg score of ([3+3+3] * 2 * 2) = 36.

So therefore the maximum score for the top row would be 54 points?

Bryan Herbst
12-01-2011, 18:18
Yes, that would make the maximum score for the top row 54.

Attached is the latest version of the app, which contains two major updates. First, it addresses the updated scoring rules as per team update #1. Second, I introduced all four scoring grids. You can now swipe left or right to access the other scoring grids.

As of right now, the only remaining feature I have planned is landscape support. If anyone has any other features they would like to see, I would be more than willing to consider requests!

Finally, this app will be released to the market once I have a suitable icon. I should be able to release it to the market tomorrow.

Hallry
12-01-2011, 18:24
As of right now, the only remaining feature I have planned is landscape support. If anyone has any other features they would like to see, I would be more than willing to consider requests!

Would it be possible to add in something to take into account minibots?

Bryan Herbst
12-01-2011, 18:25
Would it be possible to add in something to take into account minibots?

Definitely!

roboboy941
12-01-2011, 18:37
Yes, that would make the maximum score for the top row 54.

Attached is the latest version of the app, which contains two major updates. First, it addresses the updated scoring rules as per team update #1. Second, I introduced all four scoring grids. You can now swipe left or right to access the other scoring grids.

As of right now, the only remaining feature I have planned is landscape support. If anyone has any other features they would like to see, I would be more than willing to consider requests!

Finally, this app will be released to the market once I have a suitable icon. I should be able to release it to the market tomorrow.

So I got the es file explorer on my phone and downloaded the app however it says no app found. Droid x

Bryan Herbst
12-01-2011, 18:48
So I got the es file explorer on my phone and downloaded the app however it says no app found. Droid x

Did you make sure to extract the .apk from the .zip first?

darist
12-01-2011, 22:49
So I got the es file explorer on my phone and downloaded the app however it says no app found. Droid x

The process of extracting the file in ES File Explorer is not exactly straight forward. Here's my poor attempt at explaining it:

1. Use ES file explorer to navigate to where the zip file was saved (probably the Downloads folder in the SD card)
2. Long-tap on the LogomotionScorer.zip file. Menu pops-up
3. From the pop-up menu, select "Extract To"
4. Choose "Current Path". LogoMotionScorer.apk file is extracted in the same folder (probably downloads).
5. Tap the LogoMotionScorer.apk file to install the app (you need to allow "unknown sources" in your settings for it to install successfully).

Good luck.

darist
12-01-2011, 22:54
I got the latest version (I think!) and I like the multiple-grid deal, where you swipe to switch from grid to grid! Cool beans!

I noticed something weird though with the LOGO BONUS... it is tripling the peg score. Shouldn't it double it?

For example:
put a triangle, circle, square on the bottom row to make a logo. The score should be 6 (right?). The app is now giving me 9.

Also, it may be a good idea to start putting the version number on the zip file now that there have been several of them posted.

Bryan Herbst
12-01-2011, 23:26
I got the latest version (I think!) and I like the multiple-grid deal, where you swipe to switch from grid to grid! Cool beans!

I noticed something weird though with the LOGO BONUS... it is tripling the peg score. Shouldn't it double it?

For example:
put a triangle, circle, square on the bottom row to make a logo. The score should be 6 (right?). The app is now giving me 9.

Also, it may be a good idea to start putting the version number on the zip file now that there have been several of them posted.

Good catch. Fixed below.

I will start including version numbers as well (they've all had versions, the number just hasn't been visible).

roboboy941
13-01-2011, 10:49
The process of extracting the file in ES File Explorer is not exactly straight forward. Here's my poor attempt at explaining it:

1. Use ES file explorer to navigate to where the zip file was saved (probably the Downloads folder in the SD card)
2. Long-tap on the LogomotionScorer.zip file. Menu pops-up
3. From the pop-up menu, select "Extract To"
4. Choose "Current Path". LogoMotionScorer.apk file is extracted in the same folder (probably downloads).
5. Tap the LogoMotionScorer.apk file to install the app (you need to allow "unknown sources" in your settings for it to install successfully).

Good luck.
Thanks so much I got it to work :D

Bryan Herbst
14-01-2011, 15:54
Attached is version 1.4, which features minibots.

But wait! The app is also now available for free on the Android market. Just search "Logomotion Scorer."

roboboy941
15-01-2011, 15:32
You should have a restart game button so we wouldent have to force close it to restart it. Btw awsome app 5/5

Bryan Herbst
15-01-2011, 16:41
You should have a restart game button so we wouldent have to force close it to restart it. Btw awsome app 5/5

Have you tried the "clear all grids" button in the app menu?

If so, what does force closing the app do that the clear all grids button doesn't do?

roboboy941
15-01-2011, 17:11
O didn't notice that but it works now ty

Bryan Herbst
17-01-2011, 20:15
Version 1.5 is now on the market and is also attached.

The app now fully supports landscape mode.

bachster
18-02-2011, 15:53
Nice work Bryan! I just got a new Android phone so I can make use of it.