I have been mucking around for several months now, fiddling around with the verb list, modifying spaghetti diagrams, and growing increasingly demoralized becaues I seem to be getting nowhere. But yesterday I had an idea: why not just get the damn thing running and improve it from there?
So I ran the Siboot storyworld, and it failed immediately, but I fixed the problem, ran it again, hit another problem, fixed it, and so on. This feels a lot better, and I making good progress.
However, I have run into a fundamental problem: when Facundo Dominguez programmed SWAT, he used some advanced concepts in Java with which I am unfamiliar. The most puzzling issue arises from the way he implemented the feature that allows the user to create as many traits as desired. In other words, a user can equip his Actors with traits such as Sneakiness, Sexiness, Schlemielness, and so forth. To accomplish this, he abstracted the notion of an Actor trait and that’s where he left me in the dust.
Now, it turns out, I am stuck struggling with this. I set up the circumferential traits (p3Values) using a brute-force technique because I couldn’t figure out how to handle the Trait abstraction. But now I am facing a more pressing reason to figure it out.
As it happens, there is a simple hack I could use to fix the problem I’m facing, but I’m growing increasingly nervous about using so many hacks. So I must decide: do I proceed with the hack and keep my momentum, or do I step back for a few days and figure out this new level of abstraction? My instincts tell me that I should learn the new ideas, because I’ll continue to face this problem many times in the future and I might as well do it now.
But another instinct wants to preserve the momentum. So, should I “just do it!” and keep going using the hack, or should I “just do it!” and learn the advanced techniques? Time to take a walk.
After the walk
After much thinking, I have decided to try to learn the advanced Java techniques. I’m pulling out my old Java texts and tracing the operation of the code. I don’t know how far I’ll take this, but I can’t live in fear of the code I depend upon so heavily.