gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Game Design > Good method to enter numbers

#115521 - miep - Tue Jan 16, 2007 10:58 pm

Hi all,

I'm placing my first steps in the GBA-domain with a relatively simple variant of Sudoku.

As you know, Sudoku is about entering numbers 0-9 in designated squares. My question: what is a good methodology to input numbers through the limited GBA interface.

I've come up with two solutions, on which I'd like to hear feedback. The easiest one is to display the numbers and use the control pad to browse through them. But, in theory, this takes 8 key presses per number, on average it would take 4.

My own preferred solution is to use a combination of keys. Use the A and B buttons (or some other two buttons) as modifiers, and assign each direction of the control-pad a number: 1-4 with modifier A, 6-9 with modifier B and 5 by just pressing a modifier button. So, in theory, each number only takes two button/pad-presses, but one has to 'learn' how to enter these numbers.

As an emacs-user, I am more than used to such systems, but I am wondering, do you think the second solution is overly complex? Do you think it to be as intuitive as I think it is, or is it weird? Is there a better solution than either of these?

Love to hear your input!

#115522 - sajiimori - Tue Jan 16, 2007 11:05 pm

Having both "beginner" and "advanced" control schemes would keep experienced players from being bored by slow input, without alienating those who have never used weird key combos.

I could imagine using the beginner mode until I get the hang of the game mechanics, then switching to the key combo mode. I wouldn't want to fight with the control scheme while simultaneously trying to understand the game.

For the combo scheme, visual feedback would help.

#115524 - miep - Tue Jan 16, 2007 11:13 pm

sajiimori wrote:
Having both "beginner" and "advanced" control schemes would keep experienced players from being bored by slow input, without alienating those who have never used weird key combos.

I could imagine using the beginner mode until I get the hang of the game mechanics, then switching to the key combo mode. I wouldn't want to fight with the control scheme while simultaneously trying to understand the game.

For the combo scheme, visual feedback would help.


Yeah, about that last part, the visual feedback: I was thinking of drawing a large control-pad whenever the modifier keys are pressed, with the numbers right there. So you would see something like:

- 2
1 + 3
- 4

And then by tapping the control pad one of them is highlighted. Releasing the two will select the number.

#115527 - KeithE - Tue Jan 16, 2007 11:18 pm

How about displaying the numbers in a grid - like a cellphone number pad?

#115529 - Lick - Tue Jan 16, 2007 11:27 pm

What about a 3x3 grid? That would reduce the average clicks per number.

123
456
789
_________________
http://licklick.wordpress.com


Last edited by Lick on Tue Jan 16, 2007 11:32 pm; edited 2 times in total

#115530 - sajiimori - Tue Jan 16, 2007 11:29 pm

Holding one of the 8 directions (or none) and pressing A would allow selecting 9 values in a state-free manner.

#115531 - keldon - Tue Jan 16, 2007 11:29 pm

Sometimes you should just keep it simple, up makes it go up by one number. You could also try bring up a 3x3 grid when a button is pressed, and you can then select which number you want to use, releasing the action button commits the number. Leaving the joypad centered will select the number five, up+right selects 3.

#115532 - DekuTree64 - Tue Jan 16, 2007 11:30 pm

I would go with a scheme like this:

Main mode: Move around the grid with the control pad. Press A to select a square, which would enlarge.

Enlarged square mode: You have 9 locations to write numbers in the square. The center is used to write your "final answer" (maybe make the cursor larger when this location is selected), and the 8 surrounding are used for writing little numbers. Move around with the D-pad, press A to go to number entry mode, press B to go back to main mode.

Number entry mode: Brings up a key pad, with numbers 1-9 arranged in a square, with the cursor in the center. Use the D-pad to move around, A to enter a number, or B to go back to enlarged square mode. If entering a "final answer", go back to main mode, if small number, back to enlarged square mode.


An alternate control scheme for number entry mode would be to hold one of the 8 directions to highlight the desired number on the keypad, and have the cursor go back to the center if you release the D-pad. Might be more confusing to a beginner, but I think it would feel more natural to me, even though you could get to any number with a single press in the other variation too (that is, counting diagonals as a single press). Just be sure you ignore all D-pad input after returning to the previous mode, until you release the direction you were holding to select the number :)
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku

#115535 - miep - Tue Jan 16, 2007 11:53 pm

DekuTree64 wrote:
I would go with a scheme like this:

Main mode: Move around the grid with the control pad. Press A to select a square, which would enlarge.

Enlarged square mode: You have 9 locations to write numbers in the square. The center is used to write your "final answer" (maybe make the cursor larger when this location is selected), and the 8 surrounding are used for writing little numbers. Move around with the D-pad, press A to go to number entry mode, press B to go back to main mode.

Number entry mode: Brings up a key pad, with numbers 1-9 arranged in a square, with the cursor in the center. Use the D-pad to move around, A to enter a number, or B to go back to enlarged square mode. If entering a "final answer", go back to main mode, if small number, back to enlarged square mode.


No, I don't like that. Key to Sudoku is that you have some visual idea of the solution; I don't want the display of the main Sudoku to change through enlargement of portions of it. Also, that would overlay other parts of the puzzle board, and most often you need to look at those to know what to enter in a square. I'm afraid you would lose the `big picture' if you things change in the area of the puzzle itself.

The enlargement idea could work at the side of the board though, not as an overlay.

Quote:

An alternate control scheme for number entry mode would be to hold one of the 8 directions to highlight the desired number on the keypad, and have the cursor go back to the center if you release the D-pad. Might be more confusing to a beginner, but I think it would feel more natural to me, even though you could get to any number with a single press in the other variation too (that is, counting diagonals as a single press). Just be sure you ignore all D-pad input after returning to the previous mode, until you release the direction you were holding to select the number :)


I didn't count the diagonals as single presses, and you and other posters are correct that that's a much better way of entering the numbers. I'll probably go with that solution, because it is the simplest and most intuitive.

I'll post screen shots soon, thanks for all your input.

#115536 - keldon - Wed Jan 17, 2007 12:05 am

sajiimori wrote:
Holding one of the 8 directions (or none) and pressing A would allow selecting 9 values in a state-free manner.


lol, I just noticed that we made the same suggestion within the same minute ^-^

#115540 - Miked0801 - Wed Jan 17, 2007 12:32 am

And it was the first thing that popped into my head as well.

#115542 - DekuTree64 - Wed Jan 17, 2007 12:45 am

keldon wrote:
sajiimori wrote:
Holding one of the 8 directions (or none) and pressing A would allow selecting 9 values in a state-free manner.


lol, I just noticed that we made the same suggestion within the same minute ^-^

...And then I made it again a minute later. Except I just realized one flaw, that you can't erase a number with that interface. Maybe use L and R to switch between "enter" and "erase" modes? So if you're erasing, pressing A on a number kills it rather than bringing up the number pad.

miep wrote:
I don't want the display of the main Sudoku to change through enlargement of portions of it. Also, that would overlay other parts of the puzzle board, and most often you need to look at those to know what to enter in a square.

Good point. It would be annoying going in and out of edit mode to check things when writing a bunch of little numbers in a square. I do like the idea of enlarging off to the side though. That would get your focus over in that area, so you could pop up the number pad there as well without seeming awkward or overlapping the grid.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku

#115547 - tepples - Wed Jan 17, 2007 1:43 am

You can make the little numbers into checkboxes on the main view (as seen here) that expand into a 1-9 grid on the magnified view.

Move mode:
+: move cursor on board
A: enter edit mode

Edit mode:
+: move cursor on keypad
A: toggle number under keypad between on and off
B: enter move mode

EDIT: I have shopped this.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#115554 - miep - Wed Jan 17, 2007 3:16 am

tepples wrote:
You can make the little numbers into checkboxes on the main view (as seen here) that expand into a 1-9 grid on the magnified view.

Move mode:
+: move cursor on board
A: enter edit mode

Edit mode:
+: move cursor on keypad
A: toggle number under keypad between on and off
B: enter move mode

EDIT: I have shopped this.


Thanks for the pictures. This is the way I envisioned the general layout as well. You are right that the small numbers are a major pain. I'll play around with your marking-idea. Thanks!

#115574 - Ant6n - Wed Jan 17, 2007 8:55 am

how about

-+ move

-pressing A -> at curser position number -> 5
-while still holding A:pressing any of the 8 directions changes number like on phone etc (no graphic needed, just changing number at current position)
-release will go back to move mode

-B delete

#115681 - Ultima2876 - Thu Jan 18, 2007 11:27 am

Do it on the DS and let them write the input =D

#115808 - tepples - Fri Jan 19, 2007 6:53 am

Ultima2876 wrote:
Do it on the DS and let them write the input =D

Issue a $130 device to each player?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#115846 - gauauu - Fri Jan 19, 2007 3:46 pm

tepples wrote:
Ultima2876 wrote:
Do it on the DS and let them write the input =D

Issue a $130 device to each player?


No, just change the target market. Do you issue a $70 device to each player that you write your gba games for? ;-)

#116416 - sgeos - Thu Jan 25, 2007 1:03 pm

General number solution:
3x3 grid for 1 to 9; this uses the d-pad and A. Press B for 0. Use L and R to skip forward and backward in case of mistakes.

-Brendan

#117786 - neilio - Wed Feb 07, 2007 2:12 pm

A variation on the last suggestion, how about:
1) When you press and hold the A button, your 3x3 grid comes up, cursor centered on 5
1 2 3
4 5 6
7 8 9
2) Whilst still holding A, use the D pad to select 1 to 4 / 6 to 9 or leave the D pad alone to stick to 5
3) When the A button is released, the number highlighted by the cursor is entered into the box (because the D pad may still be held, modify the box highlight cursor so that it won't scroll around the grid until the D pad is released and held again)
4) If the user's not happy with the number they entered, just press the B button to clear it

Apologies for reviving an old thread, the games probably been written by now anyway!
_________________
I'd like to think this signature is under development, but it isn't.

#119237 - miep - Wed Feb 21, 2007 2:12 am

Quote:
A variation on the last suggestion, how about:
1) When you press and hold the A button, your 3x3 grid comes up, cursor centered on 5
1 2 3
4 5 6
7 8 9
2) Whilst still holding A, use the D pad to select 1 to 4 / 6 to 9 or leave the D pad alone to stick to 5
3) When the A button is released, the number highlighted by the cursor is entered into the box (because the D pad may still be held, modify the box highlight cursor so that it won't scroll around the grid until the D pad is released and held again)
4) If the user's not happy with the number they entered, just press the B button to clear it


This is precisely how I implemented it, with one notable variation: the A and B are both used to select a number, A to select a 'answer'-number, B to select a 'it might be this one'-number (the small digits you scribble to find a final solution). When pressing A, the highlight is in green, when pressing B, it's red. Selecting the same number again, clears it. This makes for a perfect input-system!

Quote:

Apologies for reviving an old thread, the games probably been written by now anyway!


Ack. The game is done. If people are interested, I'll post it. The game itself is not that complex (it's SUDOKU after all), but I'm sort of proud on the graphics I used. Unlike commercial sudoku-games (DrSudoku, etc.), it has variable backgrounds, meaning that the board itself is projected on a specific background.

This is something I made for my dear beloved one, so the backgrounds are pictures of us and other stuff that's meant to make her heart go boom while she's travelling abroad. Judging from the comments I've heard, it did.

I specifically bought a GBA Micro for this, because the screen is far superior. It's a great little machine, much better than the GBA we have.


Last edited by miep on Wed Feb 21, 2007 4:12 am; edited 1 time in total

#119241 - kusma - Wed Feb 21, 2007 2:44 am

Print a random string onscreen, and ask the user to press A if it's correct, or B to get a new random string.

#119243 - miep - Wed Feb 21, 2007 3:15 am

Eeeh?

#119246 - Ant6n - Wed Feb 21, 2007 3:57 am

a selfmade game boy game as valentine's present. :)

#119248 - miep - Wed Feb 21, 2007 4:11 am

I know, I know, it is a little nerdy, but so what? Why hide behind roses when you can show your heart Mario-style :-)


Now I can proudly proclaim that I paved the way to her heart myself!

#119263 - HyperHacker - Wed Feb 21, 2007 7:41 am

Hey, I used a Flash movie. :-p What do roses say? "Hey, here's a dead plant! It used to look pretty!" There's no effort involved.
_________________
I'm a PSP hacker now, but I still <3 DS.

#119267 - Ant6n - Wed Feb 21, 2007 8:03 am

miep wrote:

...
Now I can proudly proclaim that I paved the way to her heart myself!


you mean programmed!

#119297 - sgeos - Wed Feb 21, 2007 6:08 pm

Ant6n wrote:
miep wrote:

...
Now I can proudly proclaim that I paved the way to her heart myself!


you mean programmed!

I can't get this approach to work for me... =P

-Brendan