[Android] My first self-programmed game, under a working title, "Marble Run".

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Disclaimer: This Android APK is now signed.
Disclaimer: This build contains more bugs than before, thanks to Android 4.4 KitKat.


Feedback is helpful. Don't be afraid to bring shame to us.

Title: Marble Run
Latest Stable Build: Alpha 0.6d

Will be phasing out older versions later than 3 revisions.

Screenshots (NEW!! ;) )
ITDYv.png


Known Issues (Updated 12/22/2012):
  • Unable to disable Home button, even after setting up multiple flags.
  • Unable to handle Power key properly. It will either return to main menu, or crash the app and cause unexpected orientations.
  • Compass is off-centered, currently looking into math for help.
  • Main activity seems to launch twice upon startup. Not sure why.
Instructions:
  • The game uses your smartphone's accelerometer. Tilt your phone around to move the cue ball.
  • Your goal is to collect coins, try to get a high score, and go into the hole.
Changelog: (UPDATED always)
Alpha 0.6d:
+ Fixed issues with EXTERNAL_STORAGE reading/writing in Android 4.4 KitKat.
+ Fixed other issues related to transitioning to Android 4.4 KitKat.​
Introduction:
Here it is! My first ever Android game, made for a school project.

It's based off of a childhood toy I used to remembered playing with, Marble Works, made by Discovery Toys. The school project involves me utilizing Android's accelerometer embedded within the smartphone.

My main goal is to learn math and physics used in collision detection, collision responses, and learn more about Android API. My ultimate goal is to create a similar, working replica of Marble Works in a virtual environment that can be taken around anywhere where there's a wall socket or a USB socket.

Of course, I do know about the recent patent trolls and whatnot, and would prefer not to work on similar projects that has practical applications in real life. But, a joy is a joy indeed.

If anyone is interested in the project, please let me know. If anyone finds bugs not mentioned in the bugs list, please post below. If you have new ideas, please share. All feedbacks are welcomed.

Instructions on how to install if you can't make it to work.
  1. You need to have Java SDK, and Android SDK installed.
  2. You need to learn how to use the Android Debug Bridge, or ADB for short.
  3. You need to "install" the signed APK through the ADB into your smartphone.
 

Attachments

  • marbleRun_0.6.apk
    213.6 KB · Views: 504
  • marble_run0.6b.apk
    1.4 MB · Views: 483
  • marble_run0.6c.apk
    432.1 KB · Views: 730
  • marble_run0.6d.apk
    672.6 KB · Views: 429
Last edited:

Slapshot136

Divide et impera
Reaction score
471
tried it, and it won't install for me - instead of getting the "done" I get a "application was not installed"

edit: I suspect that it has to to with using the accelerometer on the phone, but when I went to install it it only asks about read/write from sd card privileges
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Yes, this is the sort of thing that I'm afraid of. It's also the reason why I keep holding off alpha testing phase for it.

I'll see what I can do, so in the mean time, check the shoutbox if you can for more info. :D
 

rover2341

Is riding a roller coaster...Wee!
Reaction score
114
1.Installed Java SDK, and Android SDK.
2. Go ADB running in command prompt on windows 7. Via this youtube video
3. Insalled though adb Via this youtube video

But used your app.

4. adb devices
Mine was emulator-5554 device

5.adb -s emulator-5556 install marble_run.apk

6. Then my error Intstall_PARSE_FAILED_NO_CERTIFICATE

7." Every Android .apk needs to be signed if it is going to be installed on a phone, even if you're not installing through the Market. The development tools work round this by signing with a development certificate but the .apk is still signed " is what i found online when searching. Let me know if there is somthing i am doing wrong, that you see.
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Okay, I did a self-signed APK app. Uploading and attaching to this post here, compressed into a ZIP file.

This is a test file. It's not the latest version. Please look at the first post.
 

Attachments

  • AAA_Test.zip
    54.4 KB · Views: 457

Slapshot136

Divide et impera
Reaction score
471
ok, well I got the game installed and it runs - the green tube things seem to "grab" the balls, they go off the screen a bit for me (like where I can't see them), and the balls are TINY, and once i cleared the level and hit "continue" it crashes, and the screen saver turns on while playing the game (that may have to to with my settings), but it works! (except for the above) - also some instructions could be useful
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Just as planned...

But yeah, having instructions is a must. I am just worried about the size of the balls, as I am still trying out new ways of working with the aspect ratio for each objects you see on the screen.

Current draft for the gameplay is to knock the marbles you aren't in control of into the hole, a black circle.
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Updated! It's now "Alpha 0.1a".

I'll keep all updates and information consolidated into the very first post you normally see in the title. And if the version has been updated, I'll post a new post with the updated info and changelog.

So, without further ado, ChangeLog!
  • Added a pop-up dialog information when you start the game. It will appear whenever you start the game from the main menu. It's done so that when loading different stages, the dialog itself will be flexible and display information of each stage.
  • Made the game completely multithreaded, with the help of internal Android OS API. The game speed may be slow. Currently, I do not have the knowledge to speeden things up.
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
It's in the first post. I like to keep it consolidated in the first post. And will probably rename the ZIP file to include the latest version.

I'm still not sure if there's still a file upload limit like it was before the update to Xenforos.
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Updated to Alpha 0.1a, R55.

Full Changelog:

  • Added info dialog. Now, whenever someone tests the app out, it will notify them about the app.
  • Fixed the Balls not bouncing off the walls of the Hole.
  • Added a method in MenuActivity.java that causes to completely kill the entire process.
  • Added Info.java in order to create an universal Dialog creation class. More testing is needed. Final draft is pending.
  • Changed the folder name from /art/bitmaps to /art/stages. This folder will be the home to all different stages that will be created in the future.
  • Added CurvePipe class. This is for all turns and bends for the pathways in the game.
  • Fixed the "Restart not dismissing the dialog and stuff" bug after a user pressed the Restart button in the Pause menu.
  • Added primitive CurvePipe collision responses to all CurvePipe types. Also known as "reflection".
  • Changed the demo stage layout, in order to thoroughly test out all sorts of different collision response.
 

Slapshot136

Divide et impera
Reaction score
471
now it seems I have some performance issues on my phone - I only have a single core 800mhz processor on it, and the game lags - the balls are still small, but much more manageable - could you potentially put a pipe that "aims" at the target by any chance?
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Yes, eventually the pipes will be inter-connected, just like how MarbleWorks does. May I ask how big is your phone resolution? It might be the graphic pipeline isn't updating fast enough. I will check to see if having smaller screens may improve the situation.

As for the ball size, I might have to think of something. Sorry for the trouble.
 

Slapshot136

Divide et impera
Reaction score
471
As for the ball size, I might have to think of something. Sorry for the trouble.

if the balls are meant to be small, then it's fine - my resolution is 480 x 800, perhaps a FPS option like sc2 has would help

they also still "move off" my screen, a boarder or something so they don't go too far off-screen would be helpful
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
When they move off the screen, is it a portion of the cue ball, or some of the marbles? If you suddenly pull up the phone, the cue ball jumps, and then a portion of the cue ball itself goes off the screen. The jumping part is normal.

If the marbles go off screen, then it's a sign of incorrect display resolution detection. I'll have to recheck for that.

FPS in SC2: Seems like a good idea.

"Work, work. :D" -Peon.
 

Slapshot136

Divide et impera
Reaction score
471
both of them can go off the screen (cue and marbles), I think over-scan is the word for it - never knew about the "jumping" capabilities of the cue ball
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
both of them can go off the screen (cue and marbles), I think over-scan is the word for it - never knew about the "jumping" capabilities of the cue ball

Ah, incorrect screen size detection. It will be fixed in the next version. :D
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Updated. I accept all sorts of feedback! :D
  • Added ChaseCam.
  • Added aspect ratio, thus everything is scaled.
  • Marbles can now move around within pipes.
  • Added 2nd stage. (Buggy still)
  • Info Dialog has been paraphrased.
  • Added stage border. Stage area is no longer infinitely expansive.
 

Slapshot136

Divide et impera
Reaction score
471
right.. well, the game is very.. different?

it still has some minor lag/stuttering, but better than before - the screen is fixed on the player's ball, screen saver still kicks in, the balls seem to "fall in" to the tube, is that meant to be like that? anyways, once you move the target balls into the tube, they seem to rocket towards the goal, but stop just short of it, and then when you bring the cue ball over to push them in, they fly off again (wtf?), there seems to be some sort of invisible "barrier" around the edges of the map, but I can't tell since there isn't always a frame of reference..

on the plus side I did get to level 2 successfully
 

tom_mai78101

The Helper Connoisseur / Ex-MineCraft Host
Staff member
Reaction score
1,632
Actually, the sudden game design change was because of someone in our group has failed to meet a few criterias. Me and another colleague wanted to ask our group supervisor about this, to see if that person should be kicked out of the group or not. We aren't decisive though.

The "pipe" collision detection requires a rewrite, hence I've been laying off version 0.2. The invisible barrier will become the stage border, which is the maximum limit of each stage, like the edge of the map in SC2. Sooner or later, I will implement "death", which will causes the cue ball to "die" and have to restart. Death in this game is not actually death itself.

The "Info Dialog" is probably what you are referring to as the "screensaver", right? I'll try tweaking that a little bit.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top