Sometimes I find myself unable to get myself to work on something I’ve been dying to work on because my schedule has been so packed that I just need some time to do nothing of any significance, just to decompress. Even though I want to work on my project, I find my mind wanders to different things. Gaming, Facebook, 4Chan, reading MMA news, anything but my project. In the past I often thought that my avoidant behavior was because I secretly didn’t want to work on my project, but upon further reflection, that really isn’t it. After having wasted about half a day doing everything but the work I wanted to do, suddenly I’ll start working and suddenly I’m getting into it. It sucks because instead of the ten hours I had wanted to work on it, I only work on it for three because the first seven hours were wasted on other things.
It helps that there’s some pressure. It helps that this isn’t a solitary project anymore. With a handful of regular players and daily activity, Corrosion has strangely attracted a few people that keep coming back, even though we haven’t really advertised its existence.
It also helps that my brother is involved. A collaborative project is much nicer than a solitary one, especially when you’re both enthusiastic about it, work on it together, come up with new ideas and develop them together. To have someone sit next to you and work in a deep voodoo team, passing the keyboard back and forth trying new ideas and coming up with new solutions is even better. Unfortunately, that’s not the level of involvement I experience from my brother. Has good ideas and likes to think along, but he’s not nearly as dedicated as I am, nor has he put in even a tenth of the time I have. He wants to be involved and he knows what he has to do in order to be involved, but he can’t seem to get himself to do it. Perhaps much like me, he needs time to do nothing of importance before getting to his projects, too, only to never really get to it.
Sure, he lacks the technical savvy, but that’s not anything that can’t be remedied with a little elbow grease. I had to start from scratch, too, and I didn’t have the luxury of asking help or advice from someone. (He’s in a privileged position, really.) No, it’s not the technical knowledge he lacks, he lacks assertiveness and the drive to do learn what he needs in order to make a bigger impact on a game we started together. Unfortunately, I have no idea how to motivate him in this regard. I guess being part of this isn’t enough.
Self motivation can be a big problem. When you lose your momentum or enthusiasm in any project it's hard to pick it back up again. With Corrosion, I had that when I was trying to figure out what to do with the pathfinding algorithm. It was just not performing and it was a draining and harrowing experience. It's still not the way I want it to be, but at least I got it to work to a degree that I could continue.
Then it was implementing spells in a solid way. Shadowrun spells are funny things; they don't operate in a uniform way, so there's a lot of exceptions that you have to build into the code. I've got the spells implemented for players now, but implementing it for enemies is going to be a bit of a pain still. That's where I am right now, thinking about the best way to implement them for enemies. Luckily, I was smart enough to build in several hooks when I was busy setting them up for characters, so it's definitely not going to be quite so difficult as when I would have to build it from the ground up, but still.
Surprisingly, it's also not about the reward; the reward will be a whole new mission that's just waiting to be used once spells get done. All the players are begging me for more content while I plug away at the foundation and the new mission, The Arena, is just sitting there waiting for me to get off my ass and do it. I suspect it's going to be about a week's worth of work. So about 20 hours in total, so that's not so bad, it's just the start that sucks. I'm an idiot. :)
And I can't even start to think about implementing spells into the PvP engine, because that requires a level of sophistication that I don't know how to tackle yet. The PvP engine requires a lot of sophistication it's lacking right now. The combat for characters is all automated, so ideally you'd make a few smart decisions for characters, like when to reload their weapon, when to switch to unarmed combat when their bullets run out, when to apply a slap patch or cast a Heal spell, how long to keep casting spells and at what wound level do you not risk any further drain? And ideally, all these things should be lightly customisable for a player.
Anyway, I'm just ranting a little bit. Talking (or writing) about this project usually gets me motivated. I should do it more often. :)
As you might have concluded from my last journal post, I got demotivated when I hit a snag in my self-devised pathfinding algorithm based on the A* principle of pathfinding. I knew that A* was going to be a simple, straight-forward and decidedly stupid way of finding a path, but I wanted to understand the principles of it before I migrated on to adding "costs" to the logic of the algorithm and making it smarter. I was shocked to see that with the relatively simple map that we had created, roughly 34x58 tiles large, finding a single target from one side of the map to the other made PHP run out of its allotted memory. And so, it took a few days for me to pick up the deving and figure out what was going wrong.
It turns out that when I started to examine the path that was returned for a relatively short example, that there were some mistakes. It returned some tiles as part of the path that weren't supposed to be. Then I took a look at the examined tiles and there were way more than I thought there should have been. It turned out the algorithm wasn't ignoring blocking tiles as it should be. When I had found the problem and fixed it, I found the load was cut by more than 50%. That was good, but it's not good enough. I'm going to examine it some more soon, but it means there is still progress to be made before I start implementing the costs structure. Perhaps when I'm no longer able to streamline things, I'll show you guys what I came up with.
Anyway, reinvigorated motivation FTW.