In Fallout New Vegas, ED-E doesn’t use regular dialogue, but communicates through beeps. Basically, he gets <(Emotion) + beeping> as his dialogue. Obviously the only way to research his beeping for this project is to replay Fallout New Vegas and talk to everyone’s favorite eyebot. I came up with a list of some of the emotional beeps he has in the game (and some that I just want) to start programming into him. I have ideas for what I want him to sound like, but I just need to find the right pitches and durations.
By this I mean I am sitting in my room and saying “beep beep” to myself at different pitches in sync with a program I wrote.
Yesterday my dad was checking in on me and how my programming was going and asked how I was doing. I replied, approximately, “bleurrrrghhhhh.”
I was having trouble programming the emotional beeps because I have very specific ideas for what ED-E should sound like and no way to get that into a computer. I’m a huge music nerd, but I unfortunately don’t have perfect pitch or some superhuman ability like that to use to get ED-E to sound exactly like I want him to.1 Dad suggested using a loop with an array going up every time, which made everything so. Much. Easier.
This plays frequencies starting at 100hz and going up by 10hz every time. I started with 100hz but going up by 50hz every time, but I liked the specificity of 10hz. Once I get in the ballpark of where I want to be, I can then just run the program and correct the pitches if need be.
If you read my last post, specifically the spoiler section, you will know why I started with a shy beep. If you didn’t read my last post, go do that! If you didn’t read the spoiler section, that’s fine. What you really need to know is that I want ED-E to make noises.
I’ll admit, this took a while to get right. Not playing the tones or even figuring out what pitches they were or how long they should play for. No, getting the tones to play was easy. Getting them to stop… was much harder.
ED-E was shyly screaming at me on repeat for at least 10 minutes while I was slowly losing my mind and trying to make him shut up.
I turned to ChatGPT to help me fix this, but it was utterly unhelpful and I ended up fixing the problem myself by deleting a bunch of the garbage it generated. Now the problem was that I had to continually upload the code to make the ShyBeep function run again. I was happy that it wasn’t looping anymore, but I wanted to fine tune the beeps and making it upload again and again was a pain. That’s why I decided to make it run when a button is pressed.2
It took a little while to make it run when a button was pressed, but then it would only run once and never again, even if the button was pressed. I finally realized that this was happening because runOnce was set to false, and fixed that.
Now that I have this framework, it has been much easier to program more beeps. Now I have a sad beep, and I’m going to start working on a happy beep because I have had just about enough of ED-E’s negativity.3
I almost decided to use the definitions of pitch from my Rickroll code so I could just ask the computer to start at middle C and go down or say I want the pitch to be a half note in 3/4 time. I then realized I was making this WAY more complicated than it needed to be and just used seconds and hz like a normal-ish person [↩]
I seriously love Circuit Playgrounds. They have everything. [↩]
Hey! It’s been a while since we’ve talked! ((Photo courtesy of Scott Beale))
Hopefully you’ll excuse the rambling nature of this post. :) A fair bit has changed recently. I started a new day job1 in June, but not after taking off all of May and arranging for this last week off.
May was fun, especially Maker Faire and taking the time to go on little field trips. I got my drawing robot in working order, put together a website dedicated to drawing robots, and drew some really cool things. I’ve even got some stories from Maker Faire to share with you.
1. A Little Story
I had a number of drawings on display in my Maker Faire booth. I had some Doctor Who related things, a Yoda, a Death Star, a Tesla, a House Stark dire wolf, and a number of other things. In particular, one was a big blue TARDIS I had taped to the chain link “wall” and I was working on drawing a dalek.
Then this guy walks up with some friends, asked me a few questions, and then asked me how much for the TARDIS and dalek. I told him that I wasn’t really selling them and that the dalek was only about 75% done – and it would need another hour or two to finish.
He turns to his friend and says, “Hey, how much do you have on you? $110?” Then, he says to me, “I’ll give you $110 for both right now.” I told him he had a deal – but that the dalek was still an hour or two from being done. He said he liked it just the way it was. What the hell, who am I to stand between a man and his Doctor Who-themed robot drawings? I stopped the robot, pulled down the drawings, rolled them up, and took the man’s money.
2. Another Little Story
At Maker Faire I drew two pictures for other Makers. One was for the guys from Wikipedia who asked me if I could draw a big poster of the Wikipedia logo. They e-mailed me an SVG of their logo and I was happy to draw it up. Although I was still figuring out how best to draw non-TSP SVG files, it turned out really well.
The next drawing was for a fellow maker and good friend, Chris Connors, who needed a banner/poster for his booth for How2Today. He sketched out a few tiny logos in Sharpie on a piece of paper, I took a picture with my cell phone, and I drew a big giant version of his logo. I’m working on putting together a tutorial to help you do this too. :)
3. Crane Project
I’m about 26% done folding 1,000 cranes. I kinda stalled out on this project over the last few weeks. However, now that I’m back from a vacation I’m hoping to revisit this project and get it back on track.
Okay, that’s it for a catch up post. More soon!
I say “day job” to differentiate what I do as my vocation versus what I do with the rest of my time [↩]
Before Maker Faire announced the official call for Makers, I had already downloaded and printed out the “call for Makers” information from the most recent Maker Faire and handwritten all of my responses in the form – just so I would be ready to submit my application to be a Maker this year. ((Photo courtesy of @Doug88888)) I ended up submitting my application within just a few hours of the call going out.
After I had submitted my application, my daughter wanted to submit her own application. Of course I was happy to help her, so I helped her prepare an application and submitted it on her behalf a little after 11pm on March 14, 2013, just under the wire.
Today Maker Faire sent her an acceptance! My daughter is going to be exhibiting at Maker Faire Bay Area 2013!
.
..
…
I just hope my acceptance letter comes soon. :/ Senior year all over again…
My RSS feed for Slashdot brought my attention to an article on Slate. The Slashdot summary stated:
This Slate article talks about a single line of code — 10 PRINT CHR$ (205.5 + RND (1)); : GOTO 10 — and how it manages to create a complicated maze without the use of a loop, variables and without very complicated syntax.
Even though that “one line” of code really is two lines and it really does use a loop, that short string of code is still very interesting. While the way the code generates a maze isn’t immediately intuitive, it becomes obvious once you watch a bit of the video above. All that code does is randomly kick out a forward slash or backward slash. Once they wrap around to the next line, they start to form what looks like a maze.
As a little exercise I created something similar using PHP. To make that work I had to use a fair bit of CSS to make it look decent. In any case, it occurred to me that this would be a wonderful project for a Polargraph! Draw a random forward slash or backslash, get to the end of the line and make a bunch more on the return line. How awesome would a huge paper roll of nothing but a giant maze look?
I think I may have found a project cool enough to show off at Maker Faire. :)
I couldn’t resist including the MakerFaire Bay Area countdown clock in my sidebar. However, since it is kinda wide for my sidebar, I had to use a quick bit of CSS to shoehorn it into the space. In case you want to do the same:
I’ve been seeing these around for the last month or so. I think they’re from the Young Maker’s program. At least, that’s what my friend Google tells me.
I have this pile of printed PLA pawns I’m not going to be using any time soon. They’re of varying quality and interesting-ness. If you’ve always wanted a MakerBot printed part but thought they were just too unattainable, now’s your chance!
I’m going to be at the East Bay Mini-MakerFaire this Sunday just walking around with my family. If you’re going to be there too, drop me a line or leave a comment and I’ll bring a spare piece for you. I’ll have at least nine pieces to give away. (More if I try a few new settings.) If you’re the only one to respond, you get all nine. :)