I started this journal for reasons I can't remember. According to my first entry it was to "scribble down notes and ideas". I don't know if you've noticed, but I haven't been scribbling down many notes. Nor ideas. Hell, I haven't been saying much at all. Lately, I've managed to not say much on a more frequent basis, but I'm still not saying much. Why is that?
Here's the thing about me; I have a bit of an ego. Now this actually governs a lot about my nature. On one hand, it gives me a fair bit of confidence (read: foolhardiness), but at other times, it can reverse on me. Rather than being blatantly open, it can backfire, and I'll become very cautious about what I do and say. This isn't just random, by the way; it depends on if the person I'm talking to is somebody I respect or not.
Because you see, as well as an ego, I also have a bit of superiority complex. It can be a bit of an ugly trait, but I don't mind it. Now this superiority complex of mine, it isn't stupid. I can and do feel humbled on a frequent basis. But it really does depend on who I'm talking to, and if I respect them more than the average person or not.
Now, here I am at GameDev. My whole life, I've had desires to get into this industry. For the last ten years of my life I've wanted to be a game designer. Computer games were just so cool as a kid. It's like they could take boredom, and just obliterate it instantaneously. I had a real passion to want to make and design these games. Now, not everybody who loves books wants to write, and not everybody who watches TV wants to become a director, so why did I want to make games? Two reasons; One, because I wanted people to play my games and have fun and praise me. And two, because I really wanted to play my games.
So at first I thought the idea of making your own games was foolish and such, because after all, it takes a big company, thousands of dollars, yada yada yada. Then over time, I started to realize that it was actually possible to make games, good games, by myself, without a six figure income. So I studied, and studied, and after about a decade of studying and testing and screwing around, I decided it was time to come here and get serious.
Now, back to what I said earlier. I have a superiority complex. But I can also be humbled by people whom I feel are superior to me. When I came to GameDev, I looked around, and it seemed like most every damned one of you had accomplished at least a part of what I wanted to. And good on you all! But I still felt a little under dressed, to say the least.
So here's the thing. When I'm surrounded by people whom I respect, like I said earlier, I become very conscious of what I do. It's a terrible habit of mine to not want to look bad, especially not in front of those I respect. Now I realize that there are probably a ton of people who are on the same level as me, but there are still a lot of you who are more experienced than I am.
Now, we go back to the beginning of this message, where I talked about why I haven't been writing much. Now you know why. I let my nerve get to me, and as such, looking back on all my old pages, I realize I've said surprisingly little about Kingstone. Or my code. Or my design. Or pretty much anything. I've been keeping my mouth shut mostly because I'm afraid of looking like a fool. I'm sure you know the old saying, "It's better to remain silent and be thought a fool, than to open your mouth and remove all doubt." I think I stuck to that motto a little more closely than I should have.
Sadly, it doesn't work like that. Not only does staying silent make you look like an idiot, it also tends to defeat the entire purpose of a public journal. It's like being a news reporter who doesn't give details on his stories for risk of being called a lousy reporter. I'm not sure why I started up this journal in the first place, but I'm pretty sure it wasn't so that I could not discuss things.
So. This random thinking lead me to stop for a second, and look back at the last few months of work. Have I become a stronger, smarter person? Have I obtained a level of skill closer to that of the people I look up to? What the hell have I accomplished, anyway? When I first started, I did one thing right - I got the feeling that I'd overestimate my own abilities. So for my first game, I deliberately chose a game based on three premises. Two of them, were smart. The third one.. well, you'll see.
First, I wanted it to be a project that I knew was well below my (believed) skill level. Something that I could make which wouldn't require much effort co create, realistically.
Second, I wanted it to be a project that, while easy and simple, I could have a bit of fun with. I knew that if I didn't choose a project that'd be fun, I'd lose interest too easy.
The third premise, however, was a stupid mistake. I chose a project based on a game I enjoyed that I'd been playing at the time (Civilization III, to be precise.) If I've learned only one lesson in all this time, it's that you should never, ever, EVER design a game that's the same type of game that you've recently been playing. It's absolute suicide.
So what was the result of this? The first sketch of my design felt really like a B-grade medieval Civ3 knockoff, which, essentially, is what it was. Now don't get me wrong - I believe that borrowing elements from other games can be vital. There are some tried and true things that you really shouldn't try to leave out just for the sake of being original. My problem was that I wasn't trying to make a game and then borrow aspects from another game; I was trying to make a duplication of a game. The biggest kicker was that I'm the kind of person who believes that derivative game design is one of the biggest reasons for the declining quality of video games these days. And I was doing it myself.
Of course I didn't think much of it at the time. Hell, I tried to counter it. I thought to myself, "this game feels too much like Civ. What can I do to make it seem less like Civ?" The problem with this was that I was still using Civilization III as a base. It got worse, too. My game design seemed to progress from Civ 3 knockoff, to a Hearts of Iron 2 knockoff, to an Advance Wars knockoff. Those are all games in my library, of course. It wasn't all derivative, mind you. There were quite a few ideas I thought up that I didn't rob from other games. An (overly complex, now that I think about it) economic system based around non-infinite resources and transmutation between resources was one of them. But for the most part, I was just borrowing ideas from other games.
Now, recently, I've been coding a bit. But why have I been coding?
Coding is fun and rewarding. It produces results. Not only are results rewarding to the coder, but they can also be shown off. You can't really show off "ideas". If you do, you're all talk, no action. And I was really, really worried about coming across as a guy who was all talk and no action. If there's one thing I've learned about game design, and life in general, it's that talk is cheap.
My biggest problem here was lack of hindsight. I assumed that by coding something, I could LOOK like I wasn't all talk. Then, randomly, whilst trying to code out a graphics engine for my game today, I started to realize I didn't exactly know what the hell I was making. I didn't know enough about my game to be designing a graphics engine. I had an idea about how it'd work mechanically, but I didn't have any idea what I was making. I knew that if I left something out, I'd have to go back and re-code it all. So I wanted to make sure that I coded everything in so that it'd work effectively. I probably would have done a good job, if I'd known what "everything" included.
So, I looked back over my project folder, and looked at what I actually did manage to produce.
A program for displaying my heuristic
A program for displaying my A* code
A program for randomly generating terrain
A hybrid program from the A* code and the terrain generation code
A mess of a system that was supposed to be an attempt at spreading my A* algorithm over multiple cycles (as to not slow down the program when finding long paths)
My heuristic code
A collection of functions related to hexagon positioning
Some bizarre attempt at recreating Advance Wars style pathfinding
A collection of code snippets, made only to test out functions I'd written
A few screenshots which I've put up in this thing before now
A bunch of miscellaneous concept sketches done in MS Paint
Several charts and images of hexagons used to try and get my head around some of the programming concepts I was having trouble with
A random flowchart for representing program flow
Seven documents containing senseless ramblings about programming concepts
Two pseudo-design documents that look more like briefing documents than anything substantial
Two documents containing long-winded design ramblings
One document that looks like some kind of conceptual feature checklist
One document containing a list of units that looks more like a list of MMORPG classes
One list of "lessons I've learned" from this project
One list of design restrictions (which I've only half-followed)
One deceleration that I'd get the damned thing done
One book containing a bunch of scribbles of diagrams, concept sketches, and notes
Now that list, to some people, may seem pretty good. But, there's a problem. Back when I started writing in this journal, I believe I made a statement that nothing I'd ever created really exceeded the realms of code snippet or tech demo. It's been three months on one project, and sadly, nothing has really changed. So, basically, I've been not producing much except bits and pieces. Although I have held true to one thing; I haven't technically quit my project yet. I'm just doing a really bad job at it.
So, what now?
My biggest problem when I started this thing up, was that I gave a damn what people actually thought of me. Now, I'm paying for it. So, I'm going to stop doing what I think will make me look like a worker. I'm not going to produce little bits of code in an attempt to get a tech demo screenshot out so that people will like me more. I'm not going to talk in an overly formal tone out of the hope so that people take me more seriously. I'm going to do what I think will actually help me work. I'm going to do what I damn well want to do, instead of doing what I think will make me look good.
Tomorrow, I'm going to wake up, and I'm going to work out what the hell I'm doing with myself, and this journal, and my project. Then, at the end of the day, I'm going to sign into my GameDev account. And rather than leaving a cryptic node that implies consistent progress and spiritual development, I'm just going to bitch on for a while about the thoughts in my head, like a normal person would. You know, as opposed to some d-grade office worker trying desperately to convince his superiors as to why he shouldn't just be fired.
Thank you, and goodnight.