Google Reader is exploding on me. I've found a few cool blogs and my feeds just keep expanding and expanding. Today I found a link to a cool video but its really the music that caught my attention. See the funny?
Thursday, April 30, 2009
Monday, April 27, 2009
Sound Served
At work I played around with our sound server and sound messaging and I was excited to get variable engine sounds working working. When we first started doing sound on the PC, the system couldn't keep up with the simulation and play the sound at sync. None of us had any sound programming experience and could not get it to work well. We had some balancing issues so we made a sound server that could run on a remote machine where the processor wasn't consumed. This was good for a lot of reasons, but ultimately is ugly today IMO because it adds complexity and lots of messaging. Hopefully I can integrate sound directly into our simulation this summer. Meanwhile, since we are simulating some boats I added the ability to control volume and pitch and volume on indexed sounds that are attached to vehicles, and send messages with the corresponding values. The code looks something like this.
pitch = 0.75 + 0.5*currentSpeed/maxSpeed;
volume = 0.50 + 0.5*currentSpeed/maxSpeed;
//send message "vehicle index soundname x y z h p r volume pitch"
Its pretty simple and it works quite well. Essentially as the vehicle increases in speed the volume and pitch of the motor sound increases. It proved the concept, which I'm sure is how some games do it. Next I want to add an idling sound and modify it something like this.
if currentSpeed < 0.25*maxSpeed {
volumeIdle = 1.0 - 1.0/0.25*currentSpeed/maxSpeed; //goes from 100% to 0%
volumeEngine = 0.5 + 1.0*currentSpeed/maxSpeed; //this should max at 0.75
}
else{
volumeIdle = 0.0;
volumeEngine = 0.75 + 0.25*currentSpeed/maxSpeed;
}
pitch = 0.75 + 0.5*currentSpeed/maxSpeed;
//send message "vehicle index soundnameIdle x y z h p r volume pitch"
//send message "vehicle index soundnameEngine x y z h p r volume pitch"
This should let the engine idle sound be heard when the vehicle is not moving, or moving very slow. I don't know if this will work, but I bet with some tweaking it will sound ok.
Also, since this is for a boat it makes sense as there is no shifting or gears; the engine just ramps up. But if I want to apply this to another type of vehcile with a more complicated engine, it could be modified this:
pitch = 0.5 + 0.25*gear + 0.75*currentSpeed/maxSpeed;
volume = 0.5 + 0.75*gear + 0.25*currentSpeed/maxSpeed;
Where gear is used to make the sounds see-saw some for that vroom-vrooooom-vrooooom sound of changing gears.
pitch = 0.75 + 0.5*currentSpeed/maxSpeed;
volume = 0.50 + 0.5*currentSpeed/maxSpeed;
//send message "vehicle index soundname x y z h p r volume pitch"
Its pretty simple and it works quite well. Essentially as the vehicle increases in speed the volume and pitch of the motor sound increases. It proved the concept, which I'm sure is how some games do it. Next I want to add an idling sound and modify it something like this.
if currentSpeed < 0.25*maxSpeed {
volumeIdle = 1.0 - 1.0/0.25*currentSpeed/maxSpeed; //goes from 100% to 0%
volumeEngine = 0.5 + 1.0*currentSpeed/maxSpeed; //this should max at 0.75
}
else{
volumeIdle = 0.0;
volumeEngine = 0.75 + 0.25*currentSpeed/maxSpeed;
}
pitch = 0.75 + 0.5*currentSpeed/maxSpeed;
//send message "vehicle index soundnameIdle x y z h p r volume pitch"
//send message "vehicle index soundnameEngine x y z h p r volume pitch"
This should let the engine idle sound be heard when the vehicle is not moving, or moving very slow. I don't know if this will work, but I bet with some tweaking it will sound ok.
Also, since this is for a boat it makes sense as there is no shifting or gears; the engine just ramps up. But if I want to apply this to another type of vehcile with a more complicated engine, it could be modified this:
pitch = 0.5 + 0.25*gear + 0.75*currentSpeed/maxSpeed;
volume = 0.5 + 0.75*gear + 0.25*currentSpeed/maxSpeed;
Where gear is used to make the sounds see-saw some for that vroom-vrooooom-vrooooom sound of changing gears.
Wednesday, April 22, 2009
DeVry Spring 2009A Completed
I hadn't written anything about my current courses lately because they bore me severely. It was bad enough trying to participate in the forums and do the homework. No doubt I got A's, but I don't think I learned all I could have. Regardless, I just finished both my finals.
My classes were CIS-246, Connectivity with Lab, and PSY-C305, Motivation and Leadership. 246 was a lot lamer than I expected. I had hopped it would involve some programming, getting some communications going across computers but that wasn't the case. It was more like IT. Make a new user, put them in this group, change their password, etc. I've done most of that before. I've done my time in DOS and VAX and Unix, and I've had a home network since 98, so this was cake. In 305 I actually had to think and think differently. I learned some interesting traits about people and how to lead and make good teams, though I have no real way to apply it currently. I much prefer technical mumbo.
My classes were CIS-246, Connectivity with Lab, and PSY-C305, Motivation and Leadership. 246 was a lot lamer than I expected. I had hopped it would involve some programming, getting some communications going across computers but that wasn't the case. It was more like IT. Make a new user, put them in this group, change their password, etc. I've done most of that before. I've done my time in DOS and VAX and Unix, and I've had a home network since 98, so this was cake. In 305 I actually had to think and think differently. I learned some interesting traits about people and how to lead and make good teams, though I have no real way to apply it currently. I much prefer technical mumbo.
Tuesday, April 21, 2009
Game For Review, Board@Work
Ben submitted our iPhone game on Friday last week. He expects it to take about a week to be released, since his last game took about that long to be approved. Since then, we've made a video to showcase some of the gameplay.
I also helped him update his website. I'm not one much for web design, because its often frustrating and time consuming, but I think simplicity is nice. Hence, the design of his site conforms to that. You can check it out, along with info about the game, at SpigotGames.com
I also helped him update his website. I'm not one much for web design, because its often frustrating and time consuming, but I think simplicity is nice. Hence, the design of his site conforms to that. You can check it out, along with info about the game, at SpigotGames.com
Saturday, April 18, 2009
Technology Rocks
DVD Wall
Mom's away, so I packed the kids along with some toys and headed to my parents new (and empty) house for the night. I packed a laptop and a projector and we rented a couple DVDs. But the laptop, being from 2000, didn't have DVD player software on it. There wasn't an unsecured network to be found either and I thought all was lost. Then I remembered my phone, the Google Android G1. I did a quick search through its browser and was able to download VLC, a 17 MB file, then transferred it to the laptop. Problem solved. Technology sure is neat.
Wednesday, April 15, 2009
New Logo for Spigot Games
I offered to make Ben at Spigot Games a new logo for his game company. It was selfish of me because I didn't like his existing logo very much. This is an improvement.
The drop shadow one is the one he is using. It helped give it some depth I think, though I'm 50/50 on which one I like more.
Subscribe to:
Posts (Atom)