Timer Sounds

Make suggestions for improving one of the best games on the net!
Post Reply
User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Timer Sounds

Post by FiringSquad » Thu Jun 21, 2007 9:23 pm

It should be possible for the following timer events to have an accompanying sound:

Timer started: Perhaps "Go!".

Timer Stopped: When the timer is stopped, for whatever reason during a match, often players continue to shoot because they haven't noticed. An appropriate sound would help prevent this. Also if a big "STOP" was flashed across the screen, it would help those playing with the sound down (i.e. at work or when they should be studying ;) )

Almost Timeout: Perhaps a "Peep" sound for each of the final tens of seconds and then the final 10 (i.e. at 30, 20 10, 9, 8, 7, ...). The amount should be configurable on the client. This would certainly add to the excitement for close finishes.

Timeout: Perhaps this could be the "Flag-Capture" cheers/laughing sounds, depending upon whether you won/lost with another sound for a draw (defaulted to "cheers" but configurable).

This enhancement should only require modifications to the client and would, in my opinion, greatly enhance the user experience, especially in matches.

So what do you think?

User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Post by FiringSquad » Thu Jun 21, 2007 9:37 pm

By the way, I initially thought a countdown sequence sound would be a good idea (i.e. "3, 2, 1, GO!") but decided against it because it would require a server mod to delay the timer reatart and would not be worth the effort since it adds nothing to the user experience.
Also there is already a server mod available that counts down before restarting the timer and it's enough that the "Go!" sound happens at the restart. Also this means that the countdown is not a fixed time and can be 3,2,1,Go! or 10,9,8,7,6,5,4,3,2,1,Go! or whatever.

User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Post by FiringSquad » Tue Jul 03, 2007 4:23 pm

I guess since nobody else finds this useful, I'll have to do it myself.

User avatar
Spazzy McGee
Sergeant Major
Sergeant Major
Posts: 1403
Joined: Mon Mar 21, 2005 4:59 pm
Location: Planet MoFo, Sheffield Division; United Kingdom
Contact:

Post by Spazzy McGee » Tue Jul 03, 2007 6:10 pm

FiringSquad wrote:I guess since nobody else finds this useful, I'll have to do it myself.
If you're gonna code it up, then talk to the devs, and get it submitted to 2.1 when you're done. IMHO, it is a genuinely good idea, and there aren't really any drawbacks, other than the extra few KB size that the new sounds might add to the client.
"Life is what happens to you while you're busy making other plans." - John Lennon

User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Post by joevano » Tue Jul 03, 2007 6:28 pm

Couldn't agree with you more, Spazzy. But you are also correct, FiringSquad, that you will probably have to do it yourself. As the Devs say, "patches welcome". You can talk to the devs out on the #bzflag IRC channel on Freenode.
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln

User avatar
CannonBallGuy
Private First Class
Private First Class
Posts: 2083
Joined: Wed Apr 12, 2006 1:31 am
Contact:

Post by CannonBallGuy » Tue Jul 03, 2007 8:32 pm

Search the forums, a plugin has been developed related to pausing, restarting, etc server timers. Perhaps you can simply modify that to play an audio file at the appropriate time. Or better yet, perhaps the original developer of that plugin can help you out.
Image

Merry Christmas!

"Look, if I don't buy booze for the kids, I don't get any incriminating pictures to show to their parents, my business goes down the sink, my girlfriend leaves me and the baby goes on ebay. So help me search..."

"go Play With Toys urself in a dark alley u donkey ******" - Lt-Kirby2007

charg
Private First Class
Private First Class
Posts: 36
Joined: Thu Jun 28, 2007 11:11 pm

Post by charg » Tue Jul 03, 2007 8:39 pm

How can you do it yourself??

Like how do you code it?? What coding language?
Make sure you get my new Map Editor!: http://my.bzflag.org/bb/viewtopic.php?p=115526#115526

User avatar
joevano
General
General
Posts: 1863
Joined: Sat Jun 18, 2005 1:08 pm
Location: South Bend, Indiana, USA

Post by joevano » Tue Jul 03, 2007 8:46 pm

This is an open source game, sohe source code is freely available. Look at http://my.bzflag.org/w/SVN . BZFlag is written in C++.
There is nothing worse than aggressive stupidity. -- Johann Wolfgang von Goethe
"How many legs does a dog have if you call his tail a leg? Four. Calling a tail a leg doesn't make it a leg." -- Abraham Lincoln

User avatar
the_j0k3r
Private First Class
Private First Class
Posts: 91
Joined: Fri Aug 18, 2006 9:56 am
Location: australia

Post by the_j0k3r » Wed Jul 04, 2007 11:17 am

This is a great idea, it is so annoying in matches when you get shot after the game is paused.
Image

User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Post by FiringSquad » Wed Jul 04, 2007 7:32 pm

Well, I just downloaded the source code for a quick look and the modification looks reasonably easy to implement.

The server broadcasts a MsgTimeUpdate for timer Start, Pause, Restart and GameOver. It also broadcasts this every 30 seconds to keep the clients in sync and sends you this event immediately after you join (though it fails to take the paused state of the timer into account for this so your timer will still be ticking after you join even if the game is paused).

So, the "Go", "Stop" and "Game Over" sounds can be triggered by this message and can call the appropriate playLocalSound(SFX_TIMER_???) from within handleServerMessage().

The "Peep" sound for counting down the last seconds will be a little more difficult to implement cleanly. A quick look makes me think HUDRenderer::renderStatus() is the place for this but there is probably a better place and playing a sound from within this routine would certainly be an unexpected consequence and as such should be frowned upon.

I haven't looked into the big red "STOP" for players with no sound.

Anyway, I don't have time to set up the IDE/SDK at the moment and probably will not have time until after the Summer to try to implement it so if any developers want to take this over, be my guest. Otherwise, I'll revisit this later when I have time (if I stopped playing BZFlag, I probably would have the time).

The first version will probably not have the Peep sound or the STOP and will not be configurable. A later version would include these niceties.

Glad I'm not the only one who thinks this is a good idea.

I was beginning to wonder.

Post Reply