for many years of my life, i've lived by "function > form". even now i can point out decisions i've made without giving any real forethought to them. as a simple example, i can turn around and see two minitables arranged haphazardly with a tv and two consoles on them, with various games stacked on and under. the tables are holding the tv and systems where i want them: function. they're very messy looking: form. its ugly, but it works great for me.
i used to believe i held the same ground with video games. in fact, if ever presented with a situation on irc to give my opinion, i usually took the chance to voice it. but, is that how i really feel about it? i don't buy new video game systems as soon as they come out - i don't even have an xbox yet. when people tell me how great the graphics for such-and-such-a-system are, i usually scoff and start talking about the gc/xbox/ps2 and how i beleive the games are what make the killer system.
the fact of the matter is that just like everybody else, i'm not grabbed by a game until it visually grabs me. in most cases, its a screenshot in a mag or on a site, sometimes its a compiled avi. i actually rented La Pucelle: Tactics because of their website's frontend music - it grabbed me - and then i wanted to see what the fuss was about. (actually i blame Penny-Arcade for advertising it in the first place)
in any case, sometimes thats all we have to judge a game by. head over to the showcase to see that for yourself. sometimes i won't download a game that's ugly simply for that fact. "a game that's ugly can't be fun (unless someone says it is)"
so why am i talking about all of this? well, for one, i'm admonishing myself. there aren't many things worse than hypocrasy in my mind, and here i am being one of the biggest ones of them all. for two, i need to figure out how that affects my perception about my own projects. i know that i often get sidetracked by the visual representation my code reflects. examples: getting the collision rectangle in just the right position, having a multi-facing sprite face all directions before letting it move, and trying to set a graphical style before the game design is even done.
as you can see at the top of this journal, i'm always looking for ways to keep my focus on a project. as i move forward, having realizations like the above can help me get somewhere - if i can figure out a way to harness the new knowledge.
so what do i need to do with this new fact?
as i code, i should almost be forcing myself to produce really ugly sprites to use ("programmer art") as i move along in coding and testing. its important that i have constructed things in such a way as to allow for expansion of certain fields, such as animation upgrading from simple sprite structures. but when you start out, you gotta figure out what's most important.
i've been putting off 3d programming for quite a while now because "3d graphics don't make a game fun". while it's true, it's certainly not always true. you can't make a very fun fps game without 3d graphics. not that i'm suggesting i make an fps, but that some gametypes that ARE fun REQUIRE 3d graphics. 3d graphics can make a project more complicated - again, not always true. even though i can't model worth beans, it doesn't mean i can't resort to well-drawn billboard spriting - given specific restrictions on camera angle and whatnot. i don't need to have the latest LOD-mesh generation algorithm if i limit the size of my fields. and i shouldn't be holding myself back from good looking 3d graphics, because they don't always have to be complicated to look good.
i have to start getting back to that most important root i follow: "function > form". forget about what it looks like now - get it to do what you want it to do. after that, you can make it look as great as you want. the data needs to be left until the backend is ready for it.
let's hope i can keep this in mind.
[EDIT: had to rearrange a bit, and add to it. bleh.]