The Legend Of Zelda

The Legend of Zelda for the Nintendo Entertainment System. It is a genre-defining masterpiece that needs no introduction. My goal while learning to program was to put off using frameworks. You will find that no frameworks where used in the making of this game. I did use a collision library, but I have previously made several collision systems. This game is and was a massive undertaking. From the research to the extensive replaying of the original, to building a custom debug mode. This project is still in need of work

About the project

This project was a ton of fun to work on and I learned an insane amount about how to structure a project to make it more readily accept new code to the family.

I’ve always a little overzealous when it comes to taking on more than I can chew.

This project was an absolute mammoth of a task. It was built completely from scratch in vanilla JavaScript and about a solid week of research

Interesting Tidbits

To say the original programmers were wizards is a gross understatement.

For instance, This game is built in assembly on 8 bit hardware.

Given those limitions how would you implement something as important as the amount of health the player has ?

They literally did it with 2 bytes ( 16 bits ) One byte was the number of full hearts. The other how full the last heart was.

Lessons Learned

This project was the first time I ran into several structural issues.

It was also the first time I came into contact with programming design patterns.

I used the observer pattern to create a messaging system so that the individual components didn’t have to be so tightly coupled.

This section honestly deserves to be so long it’s gonna have to be its own blog post

Website Developed By Michael Walker.
Michael Walker 2021 © This site proudly uses Gatsby, Contentful, FormSpree