Web development is a multi-faceted skill. That is to say that there are a lot of pieces that can be combined together to create a web site and underlying functionality. Though there is a “best practice” when it comes to many things on a web page, there are usually at least a few different ways to accomplish the ultimate goal.
This is perplexing to someone who likes concrete definitions and absolute requirements (me) when trying to work out a problem. At times, it is confusing when Googling for an approach since it leads to many choices and no clear decision on which choice is superior to the others.
What is it that makes a web developer skillful? Ultimately skill comes with practice and the most skillful are willing to take an open minded approach. The skilled don’t necessarily have a vast knowledge, but instead they take the correct approach when seeking out an answer and them adopting appropriate techniques to provide the solution.
Being innovative when it comes to web sites usually begins by imitating an existing example and then changing it to something new or combining with components of another example. It is rarely a process where something is crafted from scratch.
How does this all relate to “The Bag of Tricks”? I remember this term from a tennis coach who used to describe tennis skills as a “bag of tricks”. You are always trying to add to your bag of tricks. This bag is your set of tools that you carry with you to solve the problems that you may face. The more you add to the bag, the better you will be prepared to come up with a solution in the future.
Each skill set may have its own bag of tricks. In my case, my “HTML5 Video Game Programming” bag is just about empty. In fact, I think many web developers have just about nothing in this bag yet. This particular form of programming is in its infancy. I have been tentatively looking at many programming examples to begin to form a picture of how best to program a video game in HTML5 and have seen diverse solutions.
It is unwieldy to look at the code behind of these projects and fully deconstruct to learn every aspect of the code. That would hardly be a good way to add to the bag of tricks.
I need to focus on the individual components of a game and write practice projects build my B.O.T. (that is easier to write and say ;-D ) So basically, we have sound, icons, movement, logic of how pieces interact, game levels. Other things too I supposed, but… how can you make any game until you can learn how to do some on screen drawing and movement. That seems fundamental. A good place to start would be to make on screen animations and then try to see how a library of functions could be built to quickly create sets of these animations.