During my senior year of Hunter College High School, I took AP Computer Science. I had learned how to program before the class, but through the course I gained a more solid foundation in Java and CS. Once second semester of senior year rolled by, my friend Brian Yang and I realized that we had plenty of free time on our hands. So, instead of falling into senioritis, for perhaps the one time we would remain free before college, why not challenge ourselves and build something awesome?
We wanted to have a more modular way of specifying entity behavior. So, I designed and implemented VoyageScript, a simple scripting utility that could be used to control game objects.
See, the script that controls the level is responsible for spawning the enemies which the player faces. Each spawned enemy is in turn controlled by its own script. Scripting allowed us to modularize functionality. For instance, the above pattern of bullets is defined by a script, which allows any enemy to unleash a similar barrage relative to its location.
Intricate patterns could be represented with a few lines of code. Eventually, we decided to adapt the basic game engine we had created, and build VoyageQuest.