Taking on a Zelda Clone, Part 9

I got time to make some more small progress on my Zelda clone engine today.

Screen stuff
Screen size and screen space has been bothering me for a while. The biggest thing is that by having 24×24 tiles be the base size for everything, that leaves only five usable tile rows per screen. That’s not a lot at all.

Not only that, but 24×24 tiles also leaves some blank space, both vertically and horizontally. So far I’ve been using the extra vertical space for a basic info bar, but it’s not enough for a real game. And the extra space on the side is just weird.

I realized that doing 16×16 tiles would pretty much fix all of these issues, but at a price – to keep things consistent, the enemy sprites, player, and everything else need to be resized.

I wanted to see how this 16×16 system looked, so I made some ugly changes. I can already tell that the smaller dimensions makes stuff lose a lot of its charm. At the same time, it does make it feel a LOT more like an old Nintendo game. Which is better? I don’t know. I’m kind of hoping readers might chime in.

An alternative method is to keep the 24×24 tiles but only scale the graphics 3x instead of 4x, as it currently is. The benefit of this is that we can still use the 24×24 stuff, but all the horizontal and vertical issues will still remain. I haven’t ruled this option out yet, though.

So right now that’s the big thing that I’ve been grappling with. I feel like 24×24 is much more inviting and interesting, but 16×16 has an authentic look and extra limitations that might prove to be a good, rewarding challenge development-wise.

The conversion process to 16×16 isn’t complete yet, so there are many graphical glitches and tile ugliness right now.

Info bar
With some extra real estate on the top of the screen now, I tried to lay things out a bit like Zelda 1. Getting the font to work was the hardest part, I had to do some custom tweaks to the sprite font creator Microsoft made for XNA devs.

There’s currently a big empty space in the top left – that’s usually where maps and such went in Zelda 1, I suppose I could do that here too. But I feel like this is a good chance to do something different. I’m not sure what.

My wired Xbox controller came in the mail today. I plugged it in and found that the game pretty much already completely supported it, as I’d written the gamepad code last week when trying to get my generic gamepad to work. Cool!

Playing with the left stick is annoying. The directional pad is meh too, at least compared to a real d-pad like Nintendo has. But it works and all, so that’s cool. I do want to support generic pads at some point, I just need to figure out the voodoo I have to do.

With an extra, empty item box on the top and a controller with a bunch of extra buttons, I got the natural urge to add in a new weapon of some sort. For a temporary test, I made a rock you can throw a short distance. It makes the game easier, especially the boss.

The code’s getting crazy again. I really need to redo the class hierarchies and give the tomato and the weapons better class management. I don’t even really have a generic GameEntity class or anything yet, it’d make the most sense to do that and then base all the objects in the game off of that. That way I can queue everything up (and not just enemies/items like now) between frames and just handle them in one go.

So much to do, every day I’m more and more amazed that they were able to do all this stuff with much stricter limitations and much worse development tools when making Zelda 1. I’ve gained a ton of respect for Nintendo’s programmers.


Both comments and pings are currently closed.

2 Responses to “Taking on a Zelda Clone, Part 9”

  1. KingDarian says:

    I think the 16x tiles will work better for this project, as it’s more inline with the original Zelda. The 24x tiles are kind of huge, and remind me of those Master System games that were ported to the Game Gear, resulting in a zoomed in/cropped look.

    The only major difference between this 16x version and the original Zelda’s maps is the widescreen resolution. You have 6 extra columns, which could be omitted to add something(a more detailed map? Partial status screen?) to either side of the screen(or both).

    Your game is shaping up rather nicely. I kind of have the opposite problem of what you’re facing right now, with my own game project. I’ve gone through a book on building a 2D game engine in VC++ with DirectX(and I wouldn’t recommend this book :P) and I have an fairly robust and nicely organized engine somewhat ready to go, but I haven’t started working on a game to use the engine yet. I feel like I still have quite a way to go before I have anything to show. There aren’t enough hours in the day to do this.

    • Mato says:

      I thought about using the extra horizontal space for something extra, but I can’t think of anything and I don’t want to force anything there. I’m making the game with the idea that maybe I’ll put the final thing on the Xbox indie games thing, so that it can be played full-screen on a wide-screen TV.

      On your other point, in all the projects I’ve done in the past, I’ve learned that if I over-optimize/over-pre-design at the start, I’ll run out of steam or get bored with the project soon after. That’s why Shark Ghost Eater finished so quick 😛

Subscribe to RSS Feed Follow me on Twitter!