Engineering and Minecraft

It’s been a while. I get the feeling that I’m writing to an empty room, which contributes to the lack of content. If this is not the case, please let me know. These are still nice to write sometimes though.

I’ve discovered Minecraft. It’s a sandbox game like no other. The world is a natural landscape generated out of one-meter cubes: hills, mountains, valleys, caves, forests, beaches, deserts, plains, tundra. The fact that’s it’s generated makes it not only different each time, but also incredibly huge: the maximum size of the Minecraft world is limited only by the precision of a 64-bit double. This apparently works out to eight times the surface area of the earth. There’s a lot of exploring to do. However, that’s not all that makes Minecraft different: there’s no goal. There is no objective that the player is pushed to, other than to make their own. I can easily see this being a bad thing for some people, but after playing my fair share of linear games I find it quite refreshing. The player starts out with nothing more than a pair of hands to manipulate the world and works up from there: resources can be gathered to form ever more powerful tools, which can be used to manipulate the world faster. As it’s constructed of blocks, the entire world can be removed block by block, and placed back as seen fit. This allows for the construction of huge castles, tunnels, pits, mines, houses, and highways. There’s a pride in standing inside a shelter built with one’s own virtual hands. I also found Minecraft-Overviewer, which is an application which parses Minecraft maps and renders them into Google Maps tiles so that it can be inspected from above at multiple zoom levels, which sets it apart from single-image renderers such as Cartographer, although Cartographer has many more options. If you’re interested, you can view my world, but I warn that I haven’t built much above ground and it brings the lack of upload bandwidth into sharp focus with its slowness. But it’s there. (EDIT: never mind.) Monsters spawn in the dark: nightfall is terrifying.

In my engineering course I’m part of a small group that elected to automate a small hovercraft instead of relearn programming concepts we’ve already been over multiple times. Instead of learning more coding, we’re focusing on hardware. Our current status is soldering the chips on a board so that we can attach is to the rate table without it flying apart and eventually mount it on the hovercraft. I spent a few hours with gnuplot_i and GNU Scientific Library to make these graphs. I know the value of R^2 is wrong, I’m not quite sure what it is as I’m having trouble with the statistics functions in GSL and have never taken a statistics course. I hope to get it sorted out soon.

Graph of ADC3 calibration

Graph of ADC5 calibration

Graph of ADC6 calibration

What these show is the data we collected for the channels: we fed it known voltages in 0.1v increments and recorded the count given by the ADC, then found a best fit line for each one. They’re similar, but slightly different: I hope the difference isn’t just sampling error. At the very least they all seem to dip down until around 0.4v and float up until around 1v, so we may need to make something more complicated than a straight line to account for that.

Mirror’s Edge

Thanks to three Best Buy gift cards, I was able to buy three games: the Game of the Year Edition of Oblivion, the Enhanced Edition of The Witcher, and Mirror’s Edge. I started with Mirror’s Edge. The sense of movement is incredible – the way you can run across rooftops, vault fences, slide under pipes, and roll after a fall are amazingly believable and well-realized. This is clear even as the GeForce 6800 in my weaker rig struggles to run the game. The concept is an amazing one. That said, the controls, while usually responsive, sometimes feel inconsistent. For instance, the roll move after a long fall is executed by holding the low movement key when you’re about to hit the ground. It took me many, many frustrating times in the tutorial to pull off this move, and when I did, it didn’t seem like my input had changed at all. Even after completing the game I can’t manage to pull it off all the time. I found some of the puzzles difficult to finish because I could not get my character to perform the correct moves. My first thought was that the strange control scheme was due to the game being designed for consoles, where buttons are limited, but upon reflection it seems they are oversimplified. There’s a jump button, a lower action button, a rarely used walk button, WSAD for movement, mouse for looking around, and mouse buttons for combat. That’s it. This makes the game figure out what you want to do, whereas I might prefer dedicated buttons. Although this abstract control scheme has its benefits, it can be frustrating if the game does not correctly interpret your intent.

From a higher-level standpoint, while I understand that DICE are telling a story, I felt they often let it get in the way of the amazing freerunning concept. The story itself is not very well defined, with a vague to nonexistent background. I didn’t care about the characters much, to the extent that when things happened to them, I either didn’t feel much of anything or just laughed at the story’s absurdity. (To be fair, I only laughed once, and that was a misunderstanding on my part.) I was many times forced into loosely story-related combat situations where I had to either perform disarming quicktime events, (which are especially frustrating with some of the tougher units later on) melee people, or attempt to find my objective under fire. While health regenerates, much like Portal, it seems like you can only take two shots before going down. This really breaks the flow of things as you are forced to either run into the line of fire, and thus risk a quick death, or cautiously dart between bits of cover. To be fair, the sequences where I had to avoid sniper fire were fun, but having to face five or so armed guards in a room wasn’t so great. You cannot save at will, and instead must depend on checkpoints. This leads you to replay entire sequences instead of starting from a point where you might have saved if you could. It makes me appreciate the Source engine even more. I now understand why Valve does not generally have someone on a radio in your ear, and instead might give a few directions and step back. The tech on the radio talks rather frequently, sometimes with helpful information, sometimes pointing out the obvious, and other times nagging if you don’t solve a puzzle fast enough.

It seems whenever it gets frustrating, I find something awesome and forget about the problems until they once again surface. The concept is amazing. Although oversimplified controls and frustrating combat get in the way, and can be pretty aggravating, in the end it’s still worth it for the running.

I should mention that the music is nice, too.

EDIT: Unfortunately, now that I’ve started the time trial portion of the game, I’m finding the control scheme to be much more of a problem.


This is an amazing Flash applet. You draw on a grid and it makes really nice music. Strangely enchanting… ToneMatrix!

Nvidia 182.50 Drivers Broken!

Newer drivers have less bugs and better performance, right? Not in this case, at least if you’re running an AGP GeForce 6800XT like me. The device fails to properly start, the device manager complains, and falls back on very ugly software rendering. Installing previous drivers – in my case 178.24 – fixed the problem. I learned that EVE will not launch with software acceleration.

On my eMachine where I am currently using my onboard card, (sigh) the fitting screen in EVE took what felt like several seconds to finish the intro animation, but on my machine at mom’s, it takes a fraction of a second or so. I find it amazing just how bad onboard graphics card performance is.

Dark Messiah Might and Magic

I just finished Dark Messiah Might and Magic. I got to see all four endings. Disappointingly, all the endings were rather vague and didn’t really answer what ended up happening to the world in each situation.  The plot and voice acting was meh to bad. It wasn’t all bad, though, and the combat was fun at times, even if it occasionally seemed like enemies could take away a final third of my HP in a single hit. The jumping puzzles are often infuriating, some of the combat is cheap or simply slow and boring. The level design can be pretty confusing, and my guide was sometimes annoying. It probably would have been closer to impossible without the heal spell, even though potions for mana and health are usually plentiful. The skill tree allowed for useful upgrades. I found stealth and strength to be an awesome combination. Because I’m still running on my onboard graphics card, it was pretty ugly with bad framerates. Hopefully it will be better once I get a real card again. I noticed that there is no run of Dark Messiah Might and Magic on speeddemosarchive…

World of Goo Linux!

The World of Goo Linux version is released!  The deb is for i386, but the tar.gz works fine for me. I probably have some 32-bit libraries installed for Wine or something. The music seemed slowed down on one level, but that could be a problem on my end.

Slay the Mighty Dragon!

Dad found an old floppy of Slay the Mighty Dragon. It’s a text-based adventure game he and I coded in BASIC when I was little. I’ve made the game and a BASIC interpreter available for download here. I would suggest DOSBox to run it. It’ll work in XP, but the sound or a text setting in the ending might not work correctly. If you don’t want to use DOSBox, decompress somewhere, double-click on and skip down a paragraph.

To start with DOSBox, download, install, and run it. Decompress the zip somewhere, the root of a drive would probably be easiest, or somewhere with short folder names without spaces. Apparently DOS, and DOSBox by extension, has trouble handling spaces or names longer than eight characters. I’ll assume you’ve decompressed it to C:\mightydragon. In the DOSBox prompt, enter mount c: c:\mightydragon, then c:. You should now be at a C:\> prompt. To start the BASIC interpreter, enter

You should now be in the BASIC interpreter. Press F3 or type LOAD”, then game.bas. Press F2 to run it. If you’re running with plain ol’ XP DOS emulation, the sounds will probably try to use the PC Speaker on your motherboard, which may or may not work. If you’re using DOSBox, the sound will use your speakers. If you finish the game you’ll probably just have to close the window. I can’t figure out how to exit the BASIC interpreter. Have fun!

Left 4 Dead and Finals

The timing for the snow day was awesome. I was glad for the break. Four-day weekend! ^^

I played Left 4 Dead Versus and got ground into a fine powder. However, I knew it was a game, didn’t ragequit, and asked for advice when we finished and went back to the lobby:

  • Smoker or Hunter: try to attack the last one to go over a one-way ledge, the others probably won’t be able to stage a rescue.
  • You are not so much a team of four as two teams of two. Never let someone go off alone. Stick together.
  • The two in front crouch, the two in back shoot over their heads.
  • Talk. Coordinate. As Infected, wait for someone to stray, or plan an overwhelming Boomer, then Hunters and Smoker ambush.
  • As Tank, it is very bad for you in the open. A survivor running backwards can outrun a Tank, provided the Survivor doesn’t run into anything.
  • As Tank, bash physics objects around. Movable objects have a red outline when you look at them. Hitting a Survivor with one is devastating.
  • “Four in a bad situation is better than two in a good one.”

I’m halfheartedly working on Chemistry studying. I hope Monday will prove to be productive.


I discovered this amazingly well-done freeware indy game: Dyson. The player controls seedlings, which are spawned from Dyson trees. Dyson trees, as well as bomb-wielding defensive trees, grow on asteroids. The goal is to spread to other asteroids and defeat AI-controlled enemies. (No multiplayer.) It’s a very asthetically pleasing game. The interface is refreshingly simplistic. The dev team says updates are on the way, which is nice because currently there are some nagging deficiencies. It’s not possible to get anything but a very abstract idea of how long until additional seedlings grow ripe and fall off the tree. This can make it a waiting game. It’s also possible to take over an asteroid without destroying all the trees on it, which can very quickly eliminate a huge investment. Hopefully, as has been suggested in their forums, the game will soon require that all trees be destroyed before an asteroid can be captured.