Tuesday, July 2, 2013

Spreading the Wealth

I'm about to get some major publicity for my Zelda Starring Zelda projects (Hi, Wall Street Journal readers! Keep scrolling down for my Zelda projects.) and I wanted to briefly spread some of the love to one of my all-time-favorite game series: The Blackwell Saga, by Wadget Eye Games. I know most of you are here because of your love of Zelda or your love of video game mods, but seriously, do yourself a favor and pick up the Blackwell Saga. It has ghosts, murders, a pitch-perfect leading lady, clever puzzles, and buckets and buckets of class. It's about $15 for the entire series.

And if you have a little left over, please consider donating to my coffee fund. :3  Thanks!

Thursday, June 13, 2013

Zelda Starring Zelda SNES: Link to the Past -- Dev Blog

Number of sprites completed: 27
Number of sprites left: 186

There's so much to do in this game I figured I'd take the time to do a proper dev blog. Well, not a "proper" one, if such a thing exists, but I at least want to show you my work flow so you can make your own edits to these kinds of games.

Link to the Past is one of those games where I have to be extra careful to get everything right. If your friends are anything like my friends, Link to the Past is THE Zelda game and they would absolutely murder me if I got the feel of the game wrong. Well, that and Ocarina of Time. I have to be very careful to make it feel like a Zelda game. Zelda can't just be a female Link. This isn't Link's Drag Race (although someone should make that game) She has to be the Princess. She has to move right and the story has to make sense.

The first thing I did was to drop Link to the Past into Tile Layer Pro (an easy to use sprite editor) and see what I could work with. No research. No nothing. I was the kind of kid that didn't use the instructions to make my lego castles. Instructions are for the weak. Sometimes this works out and you end up with a castle. Other times, the "castle" you want to build is one of only two SNES games that used compressed graphics that can't be read by Tile Layer Pro. And then you cry.

Nah, just kidding. Then you google. If you're not very tech savvy, this is he Great Big Secret That Your Tech Support Person Doesn't Want You To Know: your tech support person is google-ing the CRAP out of your tech problems. Tech savvy people aren't smarter. We just google really good.

That's when I found two new tools: ZCompress and YY-CHR. The first tool decompresses the graphics in Link to the Past and puts them in a .bin file. The second tool is a new tile editor that can read .bin files. After you edit, you just use the same zcompress tool to repack the new graphics into the old file. ZCompress is a little harder for me to use since there's no GUI. Instead you have to run it through Command Prompt -- a scary little black box that looks like an old DOS screen.

Up. Enter. Up. Enter. Up. Enter.

If you've never used it before, it can do all of the normal things you do with your mouse (open files, move from folder to folder, copy files, check the status of your network, etc) but Command Prompt does it with text instead of graphics. I've mostly stayed away from it over the years, but my boyfriend warned me that I'd need to get comfortable with the basic commands if I wanted to get into game development. (I do understand why now. Developing a GUI is a lot of unnecessary work for such a simple program.) I have to use Command Prompt and ZCompress each time I want to check my animations. And the animations need a lot of checking.


They're not in order. o.o The frames are OUT OF ORDER. WHAT IS THIS I DON'T. I can kinda sorta see how one might relate to another one, but there's some that I'm completely lost as to what they do. I'd kill for a map right now.

In order to keep everyone looking right, I'm doing my best to work off of the original images. That means I've dropped the "official" Zelda sprites onto similar looking Link sprites and then I try to edit Link's existing sprites down to something that resembles Zelda. Like so:

Animation powers activate! Anyway, she won't be orange in the final edit. I have one more tool to use after I get the sprites all in the right places. Zelda WILL be purple and Link WILL be green. If I have to go in there and paint them myself, they will be purple and green.

And that's where I'm at. As always, a big thank you to all of the modders who did the heavy lifting in creating these utilities.
Till next time. :)

Tuesday, June 11, 2013

Hire Me!

UPDATE! I've got a Linkedin account now! Please contact me there. Thanks!

Just a brief heads up: I'm available for hire. As you can probably tell, I have a fondness for game design and animation. I'm especially fond of adventure games and hand-drawn animation, but I'm familiar with Blender, Maya, and Unity. If you have a project in the works, make me an offer.

I'm also available for speaking at conferences and for press interviews. I can be reached on Google+ or my youtube channel. Or just leave your contact information in the comments.

Oh! And a BIG thank you to my donors. It's deeply gratifying to know that other people have the same enthusiasm for my projects as I do. You're all wonderful.

Now, if you'll excuse me, I have to make some more SNES sprites for Zelda...

Sunday, May 12, 2013

Somebody Saaave Me: Smallville Cross Stitch Sampler

I don't care how you do it just saaaaaaaaaaaaaaaaaave me~

Smallville Cross Stitch sampler! The gibberish down at the bottom is the Krypton alphabet as used in Smallville. The border is Lana's necklace. Creating the house took the longest. The pattern is pretty big -- it's about 8 1/2 x 11. This started out as a Christmas gift for my boyfriend, but it's turned into a birthday present.

For all of you wanting Zelda news: The SNES swap is happening. I've got a BUNCH of sprites to edit and some dialogue. The good news is that I've got way more tools to work with -- the bad news is that they're all new tools. lol First it had to be decompressed, then my tile editor wouldn't open the new file, and now we're at the "which sprite is which" phase of the whole thing. Once I isolate Zelda and Link, I'll post some pictures.

Also everyone should check out the in-progress fan edit, Legend of Zelda Zero Legend. It's damn impressive and my Zelda will be making an appearance in all of her dresses. :D Super excited.

And now for my latest project.

My boyfriend is a HUGE Smallville fan. At least... the first few seasons anyway. He got me to watch the first two seasons, but I'm not sure I can handle much more Lana/Clark angst. But I totally get the appeal. It's a fun show.

I browsed the internet for a Smallville-themed sampler. A sampler, for those who don't know, are (traditionally) for practicing and showing off your sewing skills. They're the ones that say "Home Sweet Home" and some kind of blocky house, occasionally with family members. There's often an alphabet.

I didn't find one online, so I made one. A sampler is PERFECT for the down-home feel of Smallville. (Though, those guys have amazing cell-service in that 'remote small town'. My small town *still* doesn't have cell service in some areas. lol)

The house gave me the most trouble. White does NOT show up on yellow, so I played with a bunch of grays to outline the white. I love how it turned out.

Kryptonite Beads! That stuff is seriously everywhere in Smallville. lol

 Lana's necklace is a bit off-centered in this pic, but it's another bead. Anyone else out there who was rooting for Lex to hook up with Chloe? Girl, you can do SO MUCH BETTER than Clark. Clark is a ding-dong.

Nice, right? See the little "S"? All of the lettering at the bottom is free-handed. The grass is from a free pattern I found online and I'll link to when I dig it up again. The Kryptonite beading was my idea.

I'll post the pattern if there's interest. The pattern is pretty gnarly and it's not exactly up to DMC standard. The alphabet is all free-handed so you'd have to figure that out on your own.

Sunday, March 24, 2013

Zelda Starring Zelda: The Python Code

Update! I've made the .py file available on my google drive. IMPORTANT NOTE! You'll need to have a copy of Legend of Zelda named "original.nes" in the same folder as the .py file. Run the .py file and it'll spit out a file called "hack.nes". Have at it, my fellow script kiddies! :)

Here's the full code to edit the opening and closing screens, the colors of Zelda's tunic, and a few other things. Simon says it was no trouble at all to create, but I don't believe that for a minute. :P

You'll need Python installed and a Legend of Zelda ROM labeled "original.nes" to run it. It'll spit out a new file called "hack.nes" but remember that it won't alter the shape of the sprites. That's all Tile Layer Pro. If you have any questions about editing, like editing the colors, please post them here and I'll be happy to help. If you have a question about Python, you can ask in the comments, or ask it at my boyfriend's blog.

NOTE: The indentations didn't survive the copy/paste. :( I'll replace them later.   (Edit: Fixed-ish. The indents aren't as dramatic here as they are in my txt editor, but I hope it's easier for people to read)

Code after the jump

Zelda Starring Zelda: Frequently Asked Questions

Why is Zelda wearing red and not green?
I like her in red and I didn't want her to look like Link in a dress. :) I have a purple and blue dress that I'd really like her to switch to during the course of the game, but alas, the code for the dress-changing power-up rings is hard to control.

Can you publish the python code that your boyfriend created?
Sure! I'll share the full text in the next post.

Did you call the patch "Legend of Link"?
No. I think the Legend of Zelda should star Zelda. But you can call it whatever you want. :P

Did you do this for your kid?
No, I think you're thinking of the Donkey Kong Dad, and the dad who search-replaced the pronouns in Wind Waker to make Link into a girl. This is just a personal project to right a wrong from my own childhood. I wanted to play as the princess that saves the day and now I can. 
Can you do the same thing to Link to the Past?
Yep. I think I'll do it too. It's a personal favorite of a few of my friends. It'll make a nice birthday present for them. I'll post it on my blog when I get it done.

Can you do the same thing to Ocarina of Time?
 Technically, yes. I could do a swap of Link for Zelda or Sheik (or even Ganondorf, for that matter.)  It wouldn't be a short 4-day project. It would probably be more of a 10-month project and trust me, this is not a gig that pays. lol
 The bigger issue is that I don't think I have enough control over the rest of the code to force the story to make any sense. So yeah, you could play as Shiek, but then who is in the Palace? Zelda? Is Zelda still Shiek in this game? Or how about Link? Why is Link in the palace? Is he Prince Link now? Did he marry the old Zelda? ...actually that might work. Let me get back to you.

Can you do the same thing to ---
No, but you can. Seriously. You can totally do it for yourself. It's really not that hard and there's tons of programs out there that can help you create the game that you want to play. No programming experience required.

You should do a gender-swapped Metroid!!
People keep asking for a gender-swapped Metroid as a joke, and I think it's because they actually can't think of another game that stars a girl. lol It's actually kinda depressing if you think about it.

Are you a part of a multi-national feminist cult that is plotting to ruin all fun, destroy the American way of gaming, and turn all men into women?
Yes. We meet on Tuesdays at the "New World Order Bar" in the Freemason lodge next to Bohemian Grove. Bring a dessert to share.

Wait, was that a joke?

How can I get in touch with you?
Leave me a comment here on my blog or message me through Linkedin. I'm not a big e-mail person, so this is really the best way to get in contact with me. :)

Friday, March 15, 2013

Zelda Starring Zelda: The Story

Earlier this week, I read about that awesome dad who edited Donkey Kong to let his daughter play as the Princess. I wished I had someone who could have done that for me. Then I remembered. I'm an adult now. If he could work it out, I could too.

I'm hobbyist animator and my boyfriend is a professional video game programmer. I sent him the article and I asked, "How do I do this?"

"I think he's just using an existing rom editor, so he just went in and changed the sprites."

"I want to switch around Link and Zelda."

That got his attention. We'd been talking about a Zelda-centric game ever since the first Tropes vs Women in Games video was released. He's a huge fan of the series and really wants to see a game completely based around Zelda. The series could use a shake-up like that.

For me, I played my first Zelda game when I was pretty young, and at the time, I thought the game did star Princess Zelda. I figured I'd get to play as a magical battle princess that saved her kingdom. The game was fun, but I was bummed out that I never got to play as Zelda. But like I said, I'm an adult now. There's no one to stop me from eating candy before bed and there's nothing standing in the way of me creating the games I want to play.

We started to dig around the internet for the tools to edit the files. Let me tell you, there are dozens of tools out there to help you, no matter what game you're trying to mess around with. The nice thing about the programs is that you don't have to be a programmer to use them. (Yay!)  Some of the tools were even specific to "The Legend of Zelda", but almost all of the Zelda-specific tools were just level editors, so I didn't end up using any of those. The sprite editor was easiest to find. I talked a little about "Tile Layer Pro" already, but it's worth mentioning again, because it's really the coolest little program.

Tiles are the blocks of pixels that make up each sprite. Animation happens when the tiles are swapped for other tiles. So, to create new animation, you just have to edit the appropriate tile.

Some tips! Make sure that tile goes back in the same place where you found it, or you might end up with random legs and arms sticking out of scenery. When you open up your ROM in Tile Layer Pro, you'll see a grid with all of the ROM information displayed as pixels. It shows *all* of the rom information, so you're going to see a flaming hot mess -- at first. Keep scrolling down until you find something vaguely sprite-shaped and use the "+" and "-" keys on the keyboard to align them. But beware -- the tiles will go back to their starting alignment when you scroll and not all parts of the code use the same alignment. We spent hours hunting down the princess tiles because we didn't realize that the alignment changed from section to section.

Everything else, I learned in this fabulous (and delightfully short!) tutorial

Take care to REALLY make sure you've really hunted down every instance of the tiles you want to edit. Link's "Large-Shield walk cycle" appears in two completely different parts of the code and Zelda's "Standing" and "arms raised" animations are on two different lines.

The best part? When you're done editing your sprites, just click save! That's it. You've edited your file.

Unfortunately, that program can't edit colors so Zelda was still in a green dress. But I was happy with my Zelda and I was busily hacking away at monsters when suddenly Simon sends me a file.

It was the code for the opening and closing scrolls, as well as the code for the colors of the "Tunic", nestled in a bit of Python script that would do a search and replace on my newly edited rom. I could rewrite the scrolls and change her dress to anything I liked. Best. Boyfriend. Ever. :D

While I had been animating, Simon had done some code googling and found a Legend of Zelda ROM Map, which was the hard work of some brilliant Zelda enthusiasts. Line by line, the map explains what each piece of code does. Without that wiki or the Computer Archeology website, we would still be hunting down code and play testing until our brains had melted. Play testing is exciting at first, but as soon as you stop seeing results, it becomes the worst thing in the world.

(Side note: I did ask Simon if I could publish the code here, but he's a perfectionist and the code isn't as slick as he'd like. I have a screen shot on my other post though. Update! We published the code! Thanks Simon!)

Now I had complete control of all of the elements of the game that I needed to make this Zelda's story. I just needed to come up with new opening text. But after playing as Zelda: Warrior Princess, I honestly couldn't figure out how to put Link back into the story. In cannon, Link is the one with the sword. When you take away the sword, who is he? Just some guy that can't get out of a room? Do I make him Prince Link? Is he a knight to Zelda? (Simon's idea :)) In the end, I decided he's still Link. Even though he's seemingly powerless to leave a simple room.

When I got to the end of the game, I took a screen capture and sent it to Simon. He was strangely quiet. "My first thought" he told me later, "was 'Link, why are you standing there? Just jump over the flames.' But I guess that's the point isn't it? The gender in games thing."

My friends have all had very strong emotions to the switch of Zelda and Link -- all positive so far. A male friend of mine said he teared up when he saw Zelda holding the sword over her head. (he's a sweetie) A friend posted a link to my blog with a "Because if Miyamoto won't, we will." Another friend told me she couldn't wait for her baby daughter to be old enough to play as Zelda. Many friends told me that it made them excited and happy. Not in the cute-ironic way, but really happy.

It makes me happy too. It feels really good to play as Zelda. I feel like I connect with her character better and it makes me feel like a big damn hero. It's so nice to be swinging around a sword as Zelda. I can't describe it. You really should try it for yourself. :D

I'm sure people will think I'm trying to make some kind of anti-Link statement, but I like this franchise a lot. And if it really bothers you, just think of it as overly complicated fan fiction. :P

All said and done, the project took only about 3 days to complete, including the play-through. Not too shabby. Basic sprite editing is very simple and requires no programming skill, but if you do happen to have a programmer handy you'll be able to gain almost complete control over these old classics.

I've put together a video of some of my play testing, including video from a complete play-through with all of the cheats on (which are REALLY hard to turn off, btw) and I added some of the Orchestrated Zelda theme music because I really love that theme. Zelda defeats Gannon at 2:02


Yes, just a patch. Unfortunately, I can't just hand you my edited ROM. It's a copyright thing. So instead you'll need to:

1) Find your own unedited Legend of Zelda NES ROM
2) Download my patch
3) Download an NES emulator (I like Nestopia)
4) Place the patch and the ROM in the same folder
5) "Open" the PATCH in Nestopia
6) Follow the Nestopia prompts and select the unedited ROM

Nestopia is pretty bare bones for Mac, so the Mac version can't patch for you. You'll have to use a patching program instead. MultiPatch seems to work pretty well.

Important note: Some ROMs have a hard time with the patch. If you're experiencing any glitches, try a different ROM. Happy gaming! :)

Thursday, March 14, 2013

Zelda Starring Zelda Patch

Kids, we are GO!

I just finished a quick play-through on god mode to make sure that all of the sprites look right. Earlier, I had discovered that Link's head "tile" had been copied over a mountain "tile". Yikes. Everything looks good now and I was able to get some footage and screen shots. Even in god-mode, this game was HARD. It took me around 8 hours to finish. @.@
But it felt really good to play as Zelda. Not just "accomplishment" good, but "there was a rock in my shoe and it's gone now" good. I remember when I was a kid, I felt really cheated when I found out that I couldn't play as Zelda in her own game. I was a little surprised how much of that old emotion I'd held onto. But it's fixed now. :)

Here's the patch.

Yes, just a patch. Unfortunately, I can't just hand you my edited ROM. It's a copyright thing. So instead you'll need to:
1) Find your own unedited Legend of Zelda NES ROM
2) Download my patch
3) Download an NES emulator (I like Nestopia)
4) Place the patch and the ROM in the same folder
5) "Open" the PATCH in Nestopia
6) Follow the Nestopia prompts and select the unedited ROM

Nestopia will combine the two. Have fun storming the castle!

Click the image for a comparison from the original. In the original, Zelda is in the black square, not Link and it's the only time in the entire game that we see her.

Here's some more screen shots. I'll update later with my in-game footage. I'm also considering doing a few releases of the patch for different dress colors. I have several purples, a pink, a blue, and even some greens picked out. Also, if you're code-inclined, I could use some help tracking down the bit of code that regulates the in-game dress changes.

Special thanks to the people at The Legend of Zelda page of the Data Crystal wiki
and to the people behind The Legend of Zelda page at Computer Archeology. Without those resources, this project would have taken weeks, not 3 days. You guys are amazing.

Wednesday, March 13, 2013

Zelda Starring Zelda 3

Zelda Starring Zelda

She's playable. :D :D

Zelda Starring Zelda 2

Part two of the Zelda Starring Zelda project.

I was going to finish the animation and call it a day, but my boyfriend dug up the code for the opening scroll and the code for the colors, so I spent this morning making a new story and color correcting. He also wrote me a neat little Python program that searches the .nes file for the old code, then replaces it with the new code.

The Python file is on the left, the emulated file is on the right.

This isn't the grid. It's just a list of all of the possible color combinations.

The colors for this game are a bit weird, at first. Basically, the the scroll is in a big grid. The grid is separated out into blocks of 4 letters x 4 letters (for example, MANY and DARK are in the same block). The color of each block can be changed with a two-digit "hexadecimal" code. The wonderful people at "Data Crystal" (a rom-hacking wiki) have made a handy chart for working out which code to use. (so the code for MANY and DARK is 00, because both top and bottom are white.)

The 4x4 blocks are further divided into sets of 2 letters (MA   NY on top, DA   RK on bottom)

It's weird. There's such a huge rom-hacking community out there, but I think I might be the first to switch Zelda and Link.

Also, I can't tell you how much trouble it was to settle on a new opening scroll. Link was even "Prince Link" for a few hours. When Zelda and Link are reversed, Link is a really hard character to write for. Maybe that's why we haven't seen a proper Zelda game yet. Writers just assume she's boring.

Well, eff that.

Zelda Starring Zelda

This was the first stage of my Zelda Starring Zelda project. With a LOT of help (thanks Computer Archeology!) and some luck, I isolated Link's animations in the .nes file and carefully edited them down to look like Zelda. The grid is helpful, to a point. Not all of the tiles line up nicely in the grid and each set had to be individually adjusted. Simon did a brilliant search trick to track down the rogue tiles. It took us hours to work it all out. lol Also, in the original game, Zelda only has 2 sets of "tiles" so I had to completely make up her back and her profiles, but I'm happy with her design.

Just fyi, this program won't edit the color information. That's harder to get to. The "palette" that you see is just for your own sanity. BUT this program edits the actual game file, so any changes you make will show up in the actual game. So poke around. Creating Zelda only took me a few hours.

Edited with Tile Layer Pro

New Gimp Brushes

Test, test, test...