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.

DS Motion Sensor > SensitiveDS

#108766 - spinal_cord - Sat Nov 11, 2006 11:39 pm

I am currently working on a game that may lend itself well to the motion sensor, it is an old-skool style puzzle game, where a disk/ball is guided around the screen to remove tiles. It is quite addictive, the controles are currently d-pad only (no stylus needed) there is a little information at www.freewebs.com/sensitiveds the site doesnt have much at the moment, but there are some screenshots and a level builder (with an early version of the game (try NewSensitiveDS.ds.gba from the level editor zip file).
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#115344 - spinal_cord - Mon Jan 15, 2007 10:54 am

Thanks KeithE.

Can some people please test my game, I'm having trouble getting the controls right.

-edit-
I have added a beep when the ball has landed on a square, as an aid to knowing where you are. I have also slowed down the ball a little, this helps a bit, but I will also work on acceleration.

sensitiveds.ds.gba
sensitiveds.sc.nds

To get past the splash screen, you will need the DSMotion Card inserted, and to press a button (I think any button, cant remember, I just press A all of the time)
The menu still uses the D-Pad and A, the levels use Tilting, and A on a teleport tile.

If someone cann tell me how they would (easily) improve it, it would be a great help.

Thankyou.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage


Last edited by spinal_cord on Fri Jan 19, 2007 12:41 pm; edited 1 time in total

#115365 - Sektor - Mon Jan 15, 2007 4:13 pm

It's very difficult with motion controls, you have to go very slow. The first challenge appears to be impossible to pass because of the location you start at. edit: I see how to do it now, heh the next level would take me forever.

The tilting seemed to work as expected, i'm not sure you can improve the controls (other than using d-pad instead of tilt but that's no fun). You could make it harder to fall off the edges, impossible to fall over edges (make the challenge time limit instead) or give the player a number of lives and respawn at the location the player fell off.
_________________
GTAMP.com/DS


Last edited by Sektor on Tue Jan 16, 2007 4:48 am; edited 1 time in total

#115369 - spinal_cord - Mon Jan 15, 2007 4:24 pm

First challenge level solution - down, down, up, left, left, down, down, right, right, up, down, down.

I was thinking of making the ball move slower, giving the player time to adjust the ds for stopping or something?
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#115601 - Sweater Fish Deluxe - Wed Jan 17, 2007 7:27 pm

spinal_cord wrote:
Can some people please test my game, I'm having trouble getting the controls right.

Man, I played your game for like an hour and half last night. This is really a testament to how much fun the Motion Card can be when well implemented in a game, since even with all the control problems in SensitiveDS, it's still fun with the Motion Card.

Anyway, the first problems in SensitiveDS that need to be fixed are two bugs. One of the bugs makes your ball moving one square out of place right at the beginning of a level but still register as being as being in its starting place as far as the game is concerned, so orange squares disappear above you or to the left of you, but not under you and you can actually be floating in the air if there's a solid square above or to the left of you. The second bug may not actually be a bug, I'm not sure, but often right at the beginning of a level, you'll move in some direction and fall off the board before you even have a chance to see what's going on. To solve that one you may just need to reset the Motion Card calibration at the beginning of each level so that no matter how the DS is held it will be read as not tilted, or it may be some actual bug, I don't know. Those two problems, together with the fact that you have to start over from the first level any time you fall off, account for most of my frustration with the game. When I finally manage dot get to the third level after a million tries at the second, it was pretty horrible to just fall off the board immediately through no apparent mistake of my own...and then have to start all over from the first stage.

Aside from those two probems, though, the tilt controls while not perfect, seem okay at least for a first attempt. I don't think slowing the movement of the ball down would be a good solution. Maybe you could have more possible ball placements on each square instead of just one since it seems to me that when I mess up it's usually either because I stopped one square too soon or went one square too far. If there were five places on each square where the ball could safely sit, that might solve the problem. So your ball could safely come to rest in the center like it currently is or on either of the four edges, this would mean that you have to move through three spaces to get across a square, which might solve the problem of stopping one space too soon or too late. It would also give the ball's movement a more natural analog sort of feel. Of course you'd have to adjust the speed and responsiveness of the ball--and maybe even the size of the ball and playfield--to compensate for the extra positions, but it might work well. Just a thought.

Your game is a lot of fun. I'd actually played an earlier verion of it that you released with just dpad control and that wasn't really fun enough to keep my attention. The motion controls definitely add the extra hook a game like yours needs to be addictive.


...word is bondage...

#115611 - spinal_cord - Wed Jan 17, 2007 10:22 pm

Quote:
Man, I played your game for like an hour and half last night. This is really a testament to how much fun the Motion Card can be when well implemented in a game, since even with all the control problems in SensitiveDS, it's still fun with the Motion Card.


Why thankyou very much, I was starting to think I was the only person who enjoyed playing it. :P

Quote:
One of the bugs makes your ball moving one square out of place right at the beginning of a level but still register as being as being in its starting place

I haven't got a clue how this happens at the moment. I dodn't happen until I added the tilt controls. But I am trying to fix it.

Quote:
often right at the beginning of a level, you'll move in some direction and fall off the board before you even have a chance to see what's going on
I think your right about that being the motion card, I'm going to look into this.

Quote:
the fact that you have to start over from the first level any time you fall off

If you play 'Puzzle Mode' it saves the level you get up to, so if you get to level 7, then you can start at level 7 next time (or 1 or 2 etc.)


The final version will have the option to play with either control system, as well as some other options that I haven't thought of yet.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#115722 - KeithE - Thu Jan 18, 2007 6:12 pm

Very good game so far - it is really fun for me to play games that were created by other developers using my hardware.

It is quite difficult at the moment - I think what makes it hard is the fact that tilt control is analog, but the game is converting it to digital. There is no feedback to indicate when the ball is going to start moving like there is with a button press.

I like the suggestion of having more than one available position on each square. You could also give the ball real physics pretty easily like this:

Code:
Xaccel = readX()*scale; // scale is a number less than 1;
Xvelocity += Xaccel; // acceleration is the change in velocity
Xposition += Xvelocity; // velocity is the change in position


and the same for the Y axis.

I think adding a "bleep" sound as the ball switches from one square to the next would help by improving the feedback.

Another suggestion would be to change the color of the square as it gets closer to disappearing - you are allowed a certain number of frames on the square before it disappears, and the color changes gradually as you get close to the limit.

Overall, I think it is a great game, even as it is now - adding my suggestions would certainly change the "character" of the game, so feel free to ignore any or all of my suggestions.

#115756 - spinal_cord - Thu Jan 18, 2007 11:34 pm

I'm not sure how to go about adding acceleration, as I started the game with digital controles, I have set the ball speed as constant (two pixels every three frames). I will look into doing that though it might take me a while.

As for having more than one 'stop' position on each square, the origional idea was that the ball would stop if there wasn't a direction being pressed. Also that tapping the D-pad would move you a whole square. At a guess, having more than one point, would make 'knowing' if the player were on or off a tile more difficult, I'm not sure I understand the problem properly.

I do however like the idea of signaling to the player when they have 'landed' on a tile properly, my first attempts of doing this sounded a mess, perhaps i'm just no good at choosing good sfx+bgm combinations. I will be trying this again, as well as a visual signal that the tile will explode, but I am only allowing the ball to be stationary for a few frames, cant remember how many, but its not much.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#115773 - HyperHacker - Fri Jan 19, 2007 12:55 am

I posted a simple demo recently of how to use the PSG to play tones. The DS has more advanced methods if you want them, but this should be enough for the task at hand - it's all they had on the NES and Game Boy to make their music with, and some games (Pok?mon G/S) did a heck of a job with that. (Well, Game Boy had a bit more than just tone generators, but DS has 8 times as many of them and loads more processing power, so it evens out if nothing else. ;-))

The "multiple points on the square" could simply be a pixel offset. You don't make any change to the internal logic, but you keep an X and Y offset in pixels and add this to the position of the ball sprite being drawn. For movement/acceleration by tilt sensor, adjust the offsets instead of the actual coords, and once they get high/low enough that the ball is halfway onto another square, adjust the actual coords (move to the next square) and "wrap" the offsets to get it showing in the correct position. I can make a simple animated GIF to demonstrate if you don't understand what I mean.

Also, some console emulators - I think a SNES emu for Xbox, among others - can fake analog input despite the console they emulate having only digital input. They do this by toggling the direction buttons. Say you move the analog stick 50% to the left, the emulator toggles the virtual Left button so it's down 50% of the time - on one frame and off the next. At 75%, it toggles faster, so it may be on 3 frame and off one. At 100% it just simulates holding the button. This works fairly well for driving games, and may be of some use here if you define a "100%" point - say when the system is tilted 90 degrees or more.
_________________
I'm a PSP hacker now, but I still <3 DS.

#115978 - spinal_cord - Sat Jan 20, 2007 10:23 pm

I have added a beep when the ball has landed on a square, as an aid to knowing where you are. I have also slowed down the ball a little, this helps a bit, but I will also work on acceleration.

sensitiveds.ds.gba
sensitiveds.sc.nds
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#116495 - spinal_cord - Fri Jan 26, 2007 10:43 am

After experimenting with different speed settings (depending on how far the ds was tilted) I have reverted back to the origional single-speed idea.
It now detects weather the motion card is plugged in or not (d-pad controls are set if no card is detected) at the title screen (main menu) and a visual indicator is present.

Something that confused me for a little while, is that the detection routine falsely detects Datel's MaxMediaLauncher as the motion card, if your using one and would like to use d-pad controls, just remove it at the title screen.

Any other feedback would be great at this point.
Thankyou.

SensitiveDS.ds.gba
SensitiveDS.sc.nds
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#116594 - tepples - Sat Jan 27, 2007 5:54 am

I see ds.gba (for NOR cards) and sc.nds (for SuperCard/M3). Do you plan on adding support for plain .nds as used by MAX Media Dock and by M2 (GBA Movie Player CF and SD)?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#116611 - spinal_cord - Sat Jan 27, 2007 9:53 am

I'd love to, but I'm using PAlib and the version I have has FAT issues, I could do a non-saving version, but that wouldn't be much use as the puzzle levels need to be unlocked.

If in the next version of palib, fat might work, then I will have a go at it, but if not, some people will be out of luck.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#117042 - sgeos - Wed Jan 31, 2007 10:20 pm

spinal_cord wrote:
I'd love to, but I'm using PAlib and the version I have has FAT issues, I could do a non-saving version, but that wouldn't be much use as the puzzle levels need to be unlocked.

You need an unlock code or at least an unlock all compile time macro definition.

-Brendan

#117103 - spinal_cord - Thu Feb 01, 2007 9:32 am

I'm going to have a go with 6 character level codes to see how irritating that is to use.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#122077 - spinal_cord - Fri Mar 16, 2007 10:10 pm

Forget that last post, I made it dldi fat.

you can now download SensitiveDS at

http://www.neoflash.com/forum/index.php/topic,3890.msg27082.html#msg27082

It is still tilt compatable, but you probably shouldnt try to use the motion card with a slot-1 fat card, it tries to save each time you complete a level.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#122086 - sirpoonga - Fri Mar 16, 2007 11:04 pm

spinal_cord wrote:

It is still tilt compatable, but you probably shouldnt try to use the motion card with a slot-1 fat card, it tries to save each time you complete a level.


I am having that problem too. I am thinking of having some options in the option menu to specify your setup so I know if I need to ask to insert and remove the DS Motion.

#122126 - tepples - Sat Mar 17, 2007 4:12 am

Except pak-swapping seems not to work with some popular SLOT-1 cards.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#132795 - NDSZone - Fri Jun 29, 2007 1:55 pm

Hi Spinal_cord

I love this game SensitiveDS.

Are you going to update it sothat it works with the DS Motion Pak?
_________________
Jeanette
www.nds-zone.com

#132868 - spinal_cord - Sat Jun 30, 2007 7:54 pm

I am indeed, I just need to get palib up and running again, I need to change my code a little to get it build under the latest version.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#132898 - NDSZone - Sun Jul 01, 2007 9:55 am

Thanks this is like music to my ears as I think sensitiveDS is a great Homebrew game. :)
_________________
Jeanette
www.nds-zone.com