Settings

Theme

Zelda De-make

labs.benpurdy.com

151 points by orofino 12 years ago · 46 comments

Reader

Zikes 12 years ago

The associated blog post from Ben Purdy: http://www.benpurdy.com/blog/2014/3/demaking-zelda

  • sthatipamala 12 years ago

    What technique is being described here? : "I decided that the map would contain as much game data as possible... I could tweak the placement of things using photoshop rather than having to hunt down data in a text editor."

    Does this mean he used some kind of PSD to level compiler? If so, where can I find such a software?

    • benaiah 12 years ago

      Presumably it just means that the engine constructs the levels from an exported image (such as a png, not a psd), instead of creating the levels from a more complicated data system. Because he knows the exact sizes of things, and "sprites" are a 1 to 1 mapping to game objects, he can easily do this. In a more complex game this would be impossible, but it works very well for his purposes.

      • bane 12 years ago

        Simcity 4k uses a similar technique for the region definitions. They're actually just an image file, each pixel represents the size of the different city zones, and IIR the RGB color of the pixel had some property as well. So if you wanted a region with all small or all big cities, you just opened up the file and edited it.

      • alxndr 12 years ago

        Yeah, go on to read the Meta Screens section and it describes how this technique is being used.

    • ThatOtherPerson 12 years ago

      He says he stored the map data as a single PNG. So, each pixel specifies what tile type that area of the map is.

      • benpurdy 12 years ago

        That's correct, it's nothing fancy. Rather than use anything complicated it's so much faster for these sorts of game-jam situations to pack all the level data into a bitmap and just edit it visually. Since I was loading the level image anyway for display, it made the process of editing monster placement, triforce pieces, etc very fast.

    • bp999 12 years ago

      I use www.PyxelEdit.com which allows you to edit levels/tiles visually and then export the tileset and an xml file with tile locations. It also supports multiple layers so you can have a layer that is for art but then another layer that isn't visible that you can use for spawn points/interactions etc.

    • marcelocamanho 12 years ago

      I did that once to rip zelda's entire map. With one java app, I ripped all tiles (fixed size). With the other, I just compared the grid tile by tile with my sprite-pallete and then created a map file. Pretty straight forward if you use a single layered map.

daturkel 12 years ago

Just wish I could see my current orientation! (Seriously though—from a given screen, I have no idea what the result of A is going to do or what the arrow keys are going to do. If i'm at a square and facing left, hitting the left arrow key will move me left, but if i'm facing any other direction, hitting left will rotate me. It's important that I know which way I'm facing.)

  • benpurdy 12 years ago

    Yeah, I thought about that problem quite a bit. I decided it's just gotta be one of the challenges to playing this thing, otherwise I'd have to cheat and use something more complex than a single pixel (or add some kind of transparent or blinking "cursor" in front of the player).

    • derefr 12 years ago

      How about single-pixels-with-(8-bit-looking-)textures? A slight gradient darkening away from the "front" of the character would make all the difference.

      • daturkel 12 years ago

        This is exactly what I had had in mind for a solution. It's an aesthetic compromise but, in my opinion, a boon to gameplay.

    • agscala 12 years ago

      I don't think it needs a solution, it's not hard to remember which direction you last moved.

  • ANTSANTS 12 years ago

    It also could have used a way to "soft-tap" to change your direction without moving the character. Pretty cool though.

dangero 12 years ago

This is a fantastic commentary on what makes a game fun. I'm always intrigued by titles that require nearly no art skills. "Thomas Was Alone" kind of surprised me in that way too because it was successful side by side with other titles on Steam while using an art style that was so simplistic almost anyone could have done it.

  • Zikes 12 years ago

    It's funny because mechanically it's not too terribly different from many other games of its type. That story and narration are a huge part of its success, and well-deserved I think.

  • NoodleIncident 12 years ago

    Hmm. I don't think that saying "Thomas Was Alone" required nearly no art skills is fair at all. If your only definition of "art" is static, visual art that comes across in a screenshot, then sure, but that's not all that there is to art, and it's not even the hardest part of a video game.

    Just writing off the polish given to the jump physics, the water, the narration, the small touches like dynamic lighting and rain, and everything else as "not art" doesn't sit right.

    • dangero 12 years ago

      I meant drawing skills. I agree with you it's not a fair characterization of art at all, but probably a mistake on my part due to years of "art" class in school which was typically resigned to painting/drawing/crafts none of which I was any good at.

fredleblanc 12 years ago

This quickly went from "I'll play for just a minute" to "where are those darn last triforce pieces!?" Nice work!

eXpl0it3r 12 years ago

I don't know. I find that pretty frustrating, because I've no idea what I'm picking up and having in front of me or what I can do. It's probably only interesting if you know the original by heart...

Kenji 12 years ago

Pretty good work. Didn't like it at first but then ended up playing it for a few minutes, even though I wasn't in the mood for playing games. I noticed one thing though, I looked into the code (it's neat and tidy!) and the game logic (updates) was built into the render function that gets called with requestAnimationFrame. Might be a problem on devices that aren't refreshing @60 hertz because the game runs as fast as the user's monitor.

  • benpurdy 12 years ago

    Good point. At 30hz I expect it'd be like playing it on the NES when too many enemies were on screen at once.. This flaw crossed my mind when I was building the game, I decided to just ignore it and hope most people are running at 60hz rather than tie all the various game timing to fractional deltas or implement one of those fixed delta game loops.

matwood 12 years ago

Memory is an interesting thing. I haven't played the original Zelda in many many years and immediately knew where to go when I was dropped into the game.

cschep 12 years ago

Not only does Ben seem to have infinite energy for making cool shit, he's also a nice guy.

Nice!

derefr 12 years ago

Reminds me of the end of REDDER[1]. Strip away the aesthetics of any modern game, and you've got something very similar to this.

[1] http://www.newgrounds.com/portal/view/529992

bane 12 years ago

I've long thought a minimalistic style like this could be very useful in teaching game design and discussing game mechanics. You can learn a lot about a game by breaking it down like this.

hayksaakian 12 years ago

Thank you for taking the time to make it work on mobile devices.

  • benpurdy 12 years ago

    It works?!? hehe.. I jammed mobile controls in late last night after seeing a lot of mobile traffic on the analytics, only had my phone for testing so I'm assuming it's buggy depending on the device, glad it's working for you!

    • judk 12 years ago

      Mostly works... The buttons tend to get "stuck" on or unclickable.

antidaily 12 years ago

Played for a good 15 minutes. Nice job.

Just finished A Link Between Worlds for 3DS. Highly recommended for Zelda fans.

bencoder 12 years ago

Really nice. Reminds me of ZZT.

  • endgame 12 years ago

    ZZT was brilliant. So simple and abstract visually, but it was programmable! I don't know where I'd be if it wasn't for all the hours spent writing ZZT-OOP.

    • jmcgough 12 years ago

      I found a copy of Burger Time and played through it the other month, after not playing it since I was a kid... some of the games people made with ZZT are extremely creative and a lot of fun, even if they seem pretty crude now.

    • seanmcdirmid 12 years ago

      We all know Tim Sweeney as a god in game development these days, but he is also a very accomplished language designer.

pimentel 12 years ago

This has been awesome. Thanks! I was kinda disappointed that I didn't need to get to Death Mountain after getting the 8 pieces. A 1-pixel Ganon would be cool!

  • benpurdy 12 years ago

    I would have loved to get that in there, but I finished the win/die screens just minutes before midnight at the end of the 48 hour limit, it almost wasn't winnable at all.. Putting Ganon in would be fun, but I need to call this project finished or I'll just keep adding stuff forever. :)

RRRA 12 years ago

Awesome! But the secret passages do not appear to be there... :P

alttab 12 years ago

This is very well done.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection