Cataclysmic: Day 1

Well I’ve bought the World of Warcraft Battle Chest (main game + first expansion). Between an in-store sale and gift cards, I didn’t have to pay for it myself, which is nice considering that there are two more expansions I need to buy just to play a Goblin.

Anyway, since I’m not (yet) willing to shell out $80 to play the goblin inventor character I wanted to, I made an Orc Hunter. Hunters, I’ve heard, are one of the easiest classes for total n00bs like me and when looking through the racial abilities I noticed Orcs give their pets a passive bonus because… they just wuv the fwuffy aminals? As long as I don’t catch any members of the “proud warrior race” trying to pass legislation to restrict emissions on smoke-spewing Goblin Motorbikes, I guess I’m cool with that. Anyway, the choice was pretty easy.

So we start off in Orc Startington, which I really should have remembered the real name of. The local Important Dude sitting by a campfire congratulates me on becoming old enough to become a player-character and sends me off to kill some wild boars that are pestering a local farmer. My own pet boar does not take offense at slaughtering his cousins, and joins in the fun. The mission is to kill six boars, but the farms are literally crawling with them. Wait: isn’t the farmer raising these boars? I guess I’m helping with the chore of slaughtering them, a Proper Orc Chore for a Fine Young Orc Lad like myself. Maybe I shouldn’t assume that the first mission is a vermin-killing mission just because the game is an RPG; and also read the quest text more carefully.

Anyway, the boars are only slightly tougher than a couple rabbits I kill on the way; and no wonder! It turns out the meat you can harvest from the boars is jerky. These are seriously dehydrated boars if the instant they die their hide becomes jerky! Real tasty, though, and by “tasty” I mean “heals a nice amount when eaten”.

Several other beginner quests later, I’ve killed some low-level human scouts that were hanging around too close to camp. Considering that none of the other Orcs minded their presence, one can assume that these guys are attempting the Human Scout Trainer’s “Learn When Your Trainer Is Trying To Trick You Into Killing Yourself” quest, and they’re not doing very well.

I’ve also killed a bunch of “familiars” who are wandering around warlock-less. I did it for the quest and then, because they drop copper and I haven’t figured out how to sell loot yet, I killed a whole bunch more copper-dispensers. I also killed some wild scorpions whose “juice” is evidently viscous enough to pick up in your bare hands. Ew.

So we come to the main lesson I’ve learned today: both humans and warlocks are about as smart as wild scorpions, and the humans are definitely less dangerous.

According to the intro movie, something called the “Cataclysm” happened not long ago. Hmmm… a big old dragon as the bad guy, steampunk gnomes, all the other standard fantasy trappings, major events called “Cataclysms” that are only supposed to happen every few hundred years but actually happen about once a decade… Blizzard are totally copying Dragonlance! Seriously: Cataclysm is literally exactly the same as Dragons of Summer Flame, except it doesn’t completely betray everything the fans love about the setting!

Come to think of it, did I ever finish writing that article about how Half Life 2’s story and characters are nearly identical to Final Fantasy VII? No, wait: focus!

Anyway, more World of Warcraft writings tomorrow.

P.S. My name is DoktarDulotz. Because I’m an Orc who “walks with the animals, talks with the animals”. I didn’t even have to try to come up with an original name, and it’s appropriate and punny and not taken already. So why do other players come up with names like “xxAraggornxx” in screenshots that I’ve seen? Maybe their trainers should send them over to Orc Startington to do some scouting.

Posted in Uncategorized | Tagged | Leave a comment

Mather’s Simple Square To Hex Conversion Method

Recently Shamus Young posted about a problem he had on his weblog: He wanted to make a game which used a hexagonal grid, but he didn’t know an elegant way to represent it in computer memory.

If you’ve never done any game programming before, regular square grids are easy to represent via a two dimensional array. 2D arrays are also used to determine where things are on your computer screen. You start off at coordinates 0,0 (or wherever) and you increase X to go right, decrease X to go left, increase Y to go down, and decrease Y to go up. (This is contrary to your high school math textbook because screen coordinates start in the upper left hand corner instead of lower left hand because of the way the screen is displayed.) So if an image starts at 60, 100 on the screen and you want to go 20 pixels right and 30 down, you move the image to 80, 130.

I recommend you read this article before going further. It explains things pretty well.

Back already? Okay, the problem of finding an elegant way of representing hexagonal grids has led to many, many, other articles and it seems there’s no particular consensus on how best to do it. But I figured out a really easy way to do it a few years ago:

1) Use a regular 2D array.

2) Pretend it’s staggered to represent the hex grid (you did read the above articles, right?).

3) Block off two of the eight directions based on how you staggered the array.

4) Block off the opposite two directions for odd/even rows/columns.

That’s it. No half-coordinates or messing about with triangles. You still have to tell the computer that odd/even rows/columns of the array line up with the odd/even rows/columns of the hex grid, but that’s the easy part.

Example:

Let’s say you have a hex grid that’s a vertically staggered vertical grid, similar to this, (which is actually a horizontally staggered vertical grid but bear with me (image stolen from here)):

Me Want Honeycomb!

Horizontally staggered vertical hex grid

Okay, so let’s say you start off in the very middle dark blue hex. -Y would be up one, and +Y would be down one. +X would be right one (into the dark blue hex to the right) and -X would be left one (into the dark blue hex on the left). Moving diagonally -X-Y or +X-Y would put you two hexes away, so we simply disallow that behind the scenes. Moving diagonally -X+Y puts you in the lower left (light blue) hex and +X +Y puts you in the lower right (light blue) hex.

THEN (and this is the slightly more complicated part), you disallow -X+Y and +X+Y for odd columns, and allow -X-Y and +X-Y.

Now having three directions that increment Y, and only one direction that de-increments Y, and vice-versa in adjacent columns, may seem counter-intuitive but it works. It simply works. Once you move to another hex, the directions line up just fine with that hex. This is partly because moving +X and -X on even columns actually moves slightly -Y diagonally on the hex grid (but you don’t tell your array that; you just let the hex grid display it offset) and slightly +Y diagonally on odd columns.

I don’t know for sure if this is a proper mathamological discoveramy, which would allow me to name it after myself and force mathematicians to use it henceforth forever after, but if it is, I proclaim this Mather’s Simple Square To Hex Conversion Method.

Posted in Technical | Tagged | Leave a comment

WordPressed

The new Mad Tinkerer Live & Uncut is live! Like all the cool kids, I’ve moved over to WordPress, though there’s still quite a bit of work to be done to finish updating and editing everything.

New content maybe next week.

Posted in Uncategorized | 2 Comments

Transformice!

I’m taking a brief break from my Internet-exile to show you a video of a game I REALLY WANT TO PLAY:

That looks like so much fun. Too bad I can’t get my computer to the Internet right now, and their servers are being hammered by people wanting to play it. But soon, perhaps…

Posted in Video Games, Videos | Leave a comment

Downtime

I’ll be without the Internet for a few days to a couple weeks. More posts when I get back online.

Posted in Uncategorized | Leave a comment

Pixel: A Documentary

A documentary on computer graphics and the pixel art aesthetic:

Via Indiegames.com (link on the sidebar)

Posted in Video Games, Videos | Leave a comment

Don’t Stop Mario

Anyone can take video from Super Mario Galaxy and edit it with Queen’s Don’t Stop Me Now playing in the background. Fun, but not difficult:

Hacking a Super Mario World level so that the sounds play in time with the song? Now that’s impressive:

Found via The Escapist‘s “Mario Party” article hub.

Posted in Video Games, Videos | Leave a comment