Android controls

Discussion about Rocks'n'Diamonds, Boulder Dash, Supaplex, Emerald Mine and any other BD hybrid.

Moderators: Flumminator, Zomis

Post Reply
MichaelCPalmer1980
Posts: 8
Joined: Thu Nov 02, 2017 10:11 am

Android controls

Post by MichaelCPalmer1980 »

I was a big Rocks and Diamonds fan 12 or 15 years ago. I now use an Android 2-in-1 without a PC and have been playing another boulderdash clone once in awhile. When I learned about the Android version of Rocks and Diamonds yesturday it mae me very happy, but there's an issue with the controls.

The on-screen buttons were clearly made for a phone and are too big to reach comfortably on a tablet. The buttons should be proportional to the screen size with small, medium, and large options, like all my Android projects. The 'swipe' controls are too sensitive by default but at least I can customize them. I wouldn't really call them 'swipe' gestures, though, since you don't have to lift your finger between moves, which would make it more precise but slower. I have both swipe and drag mode in Gemsters, along with three other touch screen control schemes, each with 'small', medium' and 'large' options.

I am a game designer myself, but with no PC, I started porting my old yBasic palm games to RFO Basic! on Android. I developed with SDL back around 2001 after learning about it by playing Rocks and Diamonds, but even if I write a fix, I doubt I can build the project on Android (maybe with AIDE, but haven't tried it yet).

As a fan of the games portrayed in R&Ds, one of my first games using RFO Basic! was modeled off of Sokobon but with many more objects, such as one-way-squares, falling floors(can only pass once), keys, doors, gems that must be gathered, hammers that can break certain walls, and the ability to hide objects under blocks.

If anybody wants to see how I implimented touch screen controls they can find Gemsters hosted on the RFO Basic! forum. Abyss, a souped up Sokobon tribute, is there too. The sixty levels might not be as quite as puzzling as some of those for Sokobon, by I make up for it with the trial and error frustration of hidden objects.

laughton.com/basic/programs/games/Abyss/abyss.apk
laughton.com/basic/programs/games/Gemsters/gemsters.apk
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Android controls

Post by Holger »

Hello Michael, welcome to the forum!
The on-screen buttons were clearly made for a phone and are too big to reach comfortably on a tablet.
Yeah, right... I already wanted to add an option for scaling (and probably also screen position) for the virtual buttons, and maybe also alternative arrangements of virtual buttons, but haven't done it yet. :(
The buttons should be proportional to the screen size with small, medium, and large options
Either this, or a scaling option, like 10% to 100% or something like that.
I wouldn't really call them 'swipe' gestures, though, since you don't have to lift your finger between moves
Hm, OK... Would "drag" be the right word here? Or "wipe"? Not too sure here...
I am a game designer myself, but with no PC, I started porting my old yBasic palm games to RFO Basic! on Android.
You are developing your games on Android? Didn't know that this is possible! Wouldn't a classic PC be much more comfortable for this task?
If anybody wants to see how I implimented touch screen controls they can find Gemsters hosted on the RFO Basic! forum.
I'll check out both games linked in your post, so I may be able to improve the screen controls by learning from your games! I have already downloaded the APKs, but I found out that the links from your post did not work out of the box. Here are the corrected links:

http://laughton.com/basic/programs/game ... /Abyss.apk
http://laughton.com/basic/programs/game ... msters.apk

I'll continue here as soon as I have checked out your games! :-)
MichaelCPalmer1980
Posts: 8
Joined: Thu Nov 02, 2017 10:11 am

Re: Android controls

Post by MichaelCPalmer1980 »

I offer a belated thanks for your reply. My internet access is extremely limited at this time, so after checking the forum one day before you posted, I incorrectly assumed that I would receive none.

Although the onscreen buttons aren't usable on my tablet because of their size(too big to reach them with my thumbs), setting the wipe gestures to a 3% trigger distance makes movement in Rocks and Diamonds quite functional. 90 degree turns while trying to dodge falling rocks is difficult, but I enjoy a challenge and daresay that this game is the best available for Android. It's a bold statement, assuredly, but quite reasonable.

Very few of the great open source projects have been ported to Android, and many that have were broken by some crippling Android update and never get fixed. Most free games for the platform are either too easy, too derivative, too repetitive, or too add-ridden. Others require internet access or frequent purchases. Rocks 'n Diamonds, on the other hand, offers significant variety and challenge without ever asking for anything in return! (Each tutorial offers more challenge and replayablility than most Android games you have to pay for)
"Would drag be the right word? Not too sure here..."
I tend to get tied up in semantics for no reason. You can call it what you want. I just happened to call them "drag" in Gemsters because it differed from the "swipe" controls that I also offered. Anyway, once I lowered the movement threshold, the R&D android port felt quite responsive except that I sometimes "miss corners" when trying to turn sideways while fleeing downward from a rock.
"You're developing your games on Android? Didn't know that was possible. Wouldn't a PC be more comfortable?"
There are two ways to develop on Android. The easy way is with RFO Basic, but its developers are on hiatus and I fear a future Android update will break the interpreter and/or the APK compiler. I chose to use it because I had several games I originally wrote in Basic for PalmOS. It isn't cross-platform, expandible, or particularly efficient, but what it does do it does well. With a 1-ghz dual-core processor it can perform about as much processing as my C compiler for DOS did in the early 90s, but with way better graphics and a lot less fuss.

The second option is using AIDE(Android IDE). It has a built-in tutorial for developing LibGDX games in Java and is supposed to build most C/C++ Eclipse projects too.

Of course using a PC would be better, but I have a zero dollar budget right now after losing everything I ever owned due to legal troubles(and everyone I ever knew).

Examples in Abyss

Around the time you replied to my post I fixed a bug in the controls for Abyss. I also added many more control options to the game. It's no match for Rocks 'n Diamonds, but I daresay that the touch controls are far better now. Being a pure puzzle game, it lacks the retro reflex challenge of R&D, but for those who enjoy the hair-pulling frustration of seemingly impossible puzzles like in Sokobon, the hard map-set should provide an adequate headache.

I hope to acquire a used laptop to run Mint on and experiment with the new Linux IDEs. I've been under a rock for 12 years and will be offline 99% of the time, but I'd like to look at the R&D source and maybe offer my own touch control options. As I remember it was originally developed on Windows using SDL, but despite my recent efforts at Android programming, I have absolutely no knowledge of the Android SDK or how to crosscompile a C/C++ project for a Java virtual machine(and I read somewhere that Android offers very poor SDL support anyway).

My opensource projects can be found at the following address. The basic source can be found in the APK files.
http://laughton.com/basic/programs/game ... epage.html
User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Re: Android controls

Post by Holger »

Just stumbled upon your post again, and would like to mention the enhanced virtual buttons configuration system of R'n'D 4.1.1.0, which offers the possibility to define your very own virtual buttons regarding size and position of the buttons -- you can place them wherever you want (even allowing for multiple buttons for the same functionality, which can be useful for playing "up" and "down" buttons on both the left and right side of the screen etc.).

I would be happy to hear what you think about the new options. :)
Post Reply