Terrible Consequences

I drilled the mounting holes for the BeagleBone today.  I also completely forgot that there was felt in the bottom of the box, and drilled right through into the felt.  The consequences were not really what I’d consider terrible, but the felt did come unglued and wrap around the drill bit.  It’s needless to say that the particular hole I was drilling came out somewhat larger than the others after it.

Then I realized I didn’t know how I’d mark where the connector holes would go.  The connectors were right against the front of the box, but in the inside; I’d need to get them in the same position but on the outside.  Using my human ingenuity, I decided to use the BeagleBone as a stamp.  Yes, a stamp.  With an ink pad and everything.  Like a rubber stamp, except metal and plastic.  It worked fairly well, but the client USB connector wasn’t marking anything at all.  Then, at my mom’s suggestion, I tried stamping it with the paper on a mousepad, and that got excellent results.  I stamped it on tissue paper so it could be seen clearly from the other side, and I used that to help mark the locations of the holes on the box itself.

I then drilled center holes for all three connectors, and made the real hole for the power connector.  It being about 11:00 PM by then, I realized I should go to bed before I seriously messed something up.  Besides, I’m going to take the driving test tomorrow, and I want a good night’s sleep first.  After I get back from the test, I’ll get some pictures of the box on here before trying to finish the job.  In case you didn’t figure it out, I’m awfully excited about this little computer.

Back from SC with a BeagleBone case

A wooden box with light sides and a dark lid.I just got back from a one week vacation to North Myrtle Beach, SC visiting my grandmother.  The whole time we were there, I was looking for potential BeagleBone cases everywhere I could.  I finally found one when we stopped at a flea market on the way home.  It’s a very nice wooden box that’s just about a perfect size for the BeagleBone, a cape or two, and some extra room for WiFi modules, etc.

 

A wooden box with light sides, its dark lid removed and sitting next to it.To open the box, you simply press down on one end of the lid.  The other end rocks up, and the lid can be easily lifted off of the box.

 

 

A wooden box with light sides and its lid removed.  There is a BeagleBone computer sitting inside the box.As mentioned before, the BeagleBone fits in quite nicely.  Here you can see the ‘Bone sitting in the box (it’s sitting so high because I’m temporarily holding standoffs onto the board using screws that are way too long).

 

 

A wooden box with light sides and its lid removed.  A BeagleBone computer sits inside.And finally, a better view of how the ‘Bone fits in the box.

 

 

 

The box wasn’t cheap ($23), but it was hand-made by the guy who sold it to me, it seems well-built, and it looks very nice.  I thought it seemed like a fair deal, so I bought it.  I’m not quite sure how I’ll mount the ‘Bone inside, though.  The box’s sides are too thick for most panel-mount connectors I’ve found at reasonable prices, so it might be best to just drill holes carefully for all the connectors on one side, and leave the other side’s connectors internal.  I also might want to remove the felt from the bottom of the box before drilling holes to mount the BeagleBone.  Or maybe I could just drill the holes right through the felt.  That wouldn’t have any terrible consequences, right?

Randomly Dithered Images

At this point, I don’t remember what put this idea in my head. I recently started thinking about what would happen if I displayed an image by generating random numbers and comparing those numbers to the values of the pixels. I figured that it wouldn’t look very good, and with a bit of searching, my suspicions were confirmed. Then I thought that it might look better if it’s drawn repeatedly, as quickly as possible. First I thought of doing this in black and white, but then I realized color would be just as easily possible. So last night, instead of trying to sleep like a normal human, I got hacking. The result is horribly error-prone and horribly inefficient, but it works. You can download the source code from GitHub. Instructions for compiling and usage can be found in a comment above the main function in the code.

I’ll give you a moment to look at your porn in 3 bit glory test it out on some images.

I might try displaying things that way with my Beaglebone, when it arrives. I’m getting a tiny black and white 1″ diagonal OLED screen to connect to it, and I’d like to see how the ‘bone can handle something like that.

Okay, I’d better end this post now. Just after writing that, the Beaglebone arrived. Extreme excitement time!

Entities

Anything that can change in Intelligence will be an entity. The static parts of a map are the quadtree, the changing parts are entities. The quadtree can influence entities (collisions, treadmill floors, etc.), but for the most part it’ll be passive. I have quadtree loading and drawing working fully already, so next I clearly need to work on entities. But they’ll be basically all of the game, so I’m not really sure where to begin on them. They’re…complicated.  They will have one or more functions governing their behavior (I might conceivably want more than one; for instance, one for player controls and one for physics), a position, a texture (which may be animated, and a behavior function will take care of animation), a size, and maybe some more properties I haven’t thought of yet. They’ll need to be able to give messages to the player through text, and run around on predetermined paths. I’ll need the possibility of multiple player characters which can be switched through while playing a level, and perhaps I’ll need to be able to have the level control one of those player characters while he’s not being controlled. It’s some complicated stuff, but I think I can manage it.

Basically, once it’s done, the main loop of the game will be incredibly simple. Just update every entity, draw the quadtree, draw every entity. Do this synced to the screen’s refresh rate, and you’ve got yourself a fully playable game. Obviously, the most important part is the entities, so I need to get started on them. I guess first I need to figure out what all they need in their main structure (which I basically figured out above), and then make that structure and some functions to work with instances of it. Then put one of those in the map structure, start making some simple behavior functions, and see how it goes from there. The ones for AI and such will definitely be the most interesting, and they’ll have to have some variables which can be controlled in the map files on disk. This probably doesn’t make sense to anyone but myself, but getting my thoughts written down definitely helps me organize them.

This has been quite helpful. I’ll try writing about tricky problems to help solve them more in the future.

Almost my birthday; what now?

Tomorrow is my 16th birthday.  I have to do a quiz on subject/verb agreement and run-on sentences (how sarcastically frightening).  There was a chance I’d get stuck at school for about four hours with nothing to do.  Apparently the transmission place didn’t bolt the engine in either car in place properly, but Dad fixed it all fancy-like.  I know some things I’ll be getting, or at least asked for, but a lot is still a mystery.  As far as I know, not much in the way of a party is going to happen at all.  Meh, I guess I don’t really want anything special to happen, really.  I don’t really like asking for things, or getting things without having to give things in return, or anything like that.  Is that weird?  I assume it isn’t totally abnormal, at least.  Oh well, I’ll try to do some coding now, then go to sleep.  I’ll have to type quietly, because I’d have hell to pay if I kept Dad awake with the clacking.  This thing clacks like hell even though it’s just a dinky little rubber dome keyboard.   I think most of the noise is caused by the keys being slightly loose, but a good part also comes from me hitting them really hard.  Man this has turned into a total ramble.  I guess it’s time to post without proofreading and hope for the best.

Homestuck

That’s really all there is to say on the matter.

Time for New Sprites!

A newer version of Rae's animator.

He looks different from Rae now, yay!

A newer version of Rae

She's shorter now, and looks much better.

My sister is a really great artist, and I’ve gotten her to do the graphics for Intelligence.  Here are the new sprites for Rae and the animator, based on the old ones.  They look way better now, don’t you think?  Plus, I’ve decided on a scale for everything. 32 pixels = 1 meter.  And because of that scale, they’re shorter now.  If they hadn’t been made shorter, they both would’ve been very, very tall, and I can’t say that I want that.

Getting the http:// back in Firefox 7

I updated to Firefox 7 today, and noticed that my old friend, the http:// at the beginning of all URLs, was gone from the URL bar.  Looking through the release notes, they mentioned this, but not how to get it back.  I started poking around in about:config, and found my answer.  Instructions follow.

  1. Open a new tab
  2. Enter “about:config” in the URL bar.
  3. Type “trimurls” into the “Filter:” bar.
  4. Double-click “browser.urlbar.trimurls”
  5. ???
  6. Profit

It’s that easy.  I don’t mind the graying of the URL added in Firefox 6 so much, but removing an important part of it from view is simply unacceptable.

Identi.ca is still down.

I’ve missed out on so many great potential dents.  I wonder what new features StatusNet 1.0 will give me.  They claim it should be back up tomorrow, and I hope they’re right.

Game Gears: fixed!

I finally got around to replacing the bad capacitors in my sister’s Sega Game Gear, as well as my own.  I ordered the replacement capacitors from Mouser on Monday, and they arrived Thursday.  Most of yesterday I was removing old ones, cleaning up the boards, and soldering the new ones in place.  I also got some white LEDs, with which I plan to do some backlighting experiments soon.  I got two different types, one brighter, the other less focused.  I’ll have to try it with both to see which I like more, but I’m guessing it’ll be the less focused one.  I could also try diffusing them in various ways, such as sandpaper, a translucent plastic tube (white drinking straw!) between them, etc.

I had forgotten how much I liked my Game Gear.  I got it for Christmas when I was…6-ish?…years old, I think.  We have tons of games for those things (do not be fooled, Sonic 2 is nothing like the Genesis version), and about a year ago we found the two player link cable for them, so now that both consoles are working, we can finally play games against each other.  In related news, my sister kicks my ass at Mortal Kombat.  That game, or at least the Game Gear version of it, is extremely esoteric.  She figured out how to shoot some weird rings at me, and all I could do is kick and punch.  Oh well, maybe DuckDuckGo can help me figure out that crazy game.

Follow

Get every new post delivered to your Inbox.