Web Game Progress June 1, 2006
So far I am 0% done my web game. This is as of Friday night at 10:20 (or as my Linux box shows the time, 22:20). So far, I have two documents written on it though. One is a functional specification. The other is a technical specification. Working in the software world, you learn to depend on these two documents. Here is what they are:
Functional Spec: (Sometimes refered to as the f@#%ing spec... by me only apparently. Commonly refered to as the Design Document) This document gives an overview of the various use cases of the software. During the functional spec, you lay out that this is indeed a software solution to an otherwise real world problem. Say you are designing an email program. You will say that the user will be able to send and receive emails, using at least one server. They will be able to view the entire contents of emails, and have a hierarchy of folders to hold archived emails. They will be able to flag emails by importance. The solution should filter spam automatically, determined by a number of factors, some of them user specified.
Now, a technical spec, on the other hand, takes the functional spec and builds out, in detail (as much detail as you can before you start writing actual code in an [in this case] OpenDocument text document), each high level feature of the functional spec, and defines exactly how each feature will interact with other features. This makes it simple to write software. If you hand me a functional spec and a tech spec, and say "Get to work, you lazy bearded b@#%^@", I will reply with "Yes, Sir, may I have another?!?" As you can see, these are highly desireable in the field of software design and development.
Note also, that when "speccing" (actual word in IT) out a set of "Design Documents" (you can also refer to the whole set as "Design Documents", as well as just the functional spec... Software is flexible like that, and everyone knows what you mean by the singular form, and that you mean the group in the plural form)... where the f*@#! was I? Too many parentheses. Oh right. When speccing out design documents for your own, home brewed project, it is a much more enjoyable scenario. Like, I can be going through and say "You know what... f@%! that feature, no one will use it and they'll all probably send hate mail to me if I include it", whereas in work, you have to do it because it was predetermined that we don't care about customers enough to make them happy, therefore the feature must stay. Also what makes home project docs more enjoyable is that it's your s@#%. You get full credit, people worship you, girls send you pictures of themselves in bikinis, guys question their sexuality, etc. It's just cool.
Anyway, I have to get back to work. It's speccing out to be much more complex and detailed than what I first imagined, however, I'm speccin' I won't go past my two week estimate. (O Brother, Where Art Thou shout-out : "I'm speccin' you'll be wantin' them chains knocked off". Great movie).