Week of May 29, 2011
Bluh. ‘Weird Life Shit’ getting in the way a bit. I won’t get into any details because they’re all stupid, but some people apparently think I should be worrying about something other than Megatronica, and I’m not being ironic or sarcastic or anything when I say that is really stupid. I genuinely do not see the big deal about anything if it has nothing to do with Megatronica, or my ability to keep doing Megatronica. Yeah, I said it.
Now without further ado, here’s what’s happened in the past week that actually mattered.
First of all, I got writing crazy-streamlined. I set up a bunch of tools that… I guess I could talk about? I dunno, they wouldn’t seem interesting outside of a developer’s point of view.
– Spruced up my dialogue scripts so now long strings of dialogue can be written without any fuss whatsoever. Also included ‘tags’ that I can put inside dialogue so that, as it writes it out letter by letter (which it’s always done), it will do certain things when it hits those tags. One just breaks up the remaining text into another textbox, essentially playing the role of paragraph breaks. Another interrupts the textbox and automatically jumps to the next one, not waiting for the player to continue, making for natural-feeling interruptions during dialogue. There’s also a pause tag that waits a bit before writing the next letter, but that’s been there forever.
– ‘Live’ textboxes. The normal ones paused the game when they were up, like most RPGs. Now I have ones that don’t do that, meaning you can have people talk to you while you travel, or conversations happening nearby as you walk through town or something. Pretty nice. And hard to get working, strangely.
– Programming quests no longer sucks a bag of dicks. Since I’ve left off writing quests to focus on streamlining the process, the process itself has gotten like 10 times easier. So yes, good time management, team! Everyone give yourself a round of applause.
There is gameplay stuff that got done, but the story and narrative is what’s important, at this point, to ‘finishing’ the game. Ordinarily, when making a game, the story and gameplay are separate and delegated to different team members. One team makes the stuff that makes the game work, and the others make the actual game. Picture Legend of Zelda with all the programming and gameplay intact, but no story. No levels. No structure.
It’s easy to get sucked into making the engine, because it IS a valid use of time, and makes for those fun bullet point parades. However, if I did only that, then by the time January 25th rolls around I’ll have a perfect, beautiful, well-polished game engine, but no actual game making use of it. The story and narrative are what uses the engine to make the game itself.
Ultimately, though, I’d never split this up among different team members. As someone who’s used to writing novels, I think a creative work is best when everyone working on it is on the same wavelength, with the ideal number of workers being one. With a game as intricate as Megatronica, I could not imagine being able to split up the workload while keeping my vision for the game intact. I can barely communicate what the thing is about, and I don’t like the idea of people bringing their own ideas into it and muddling up the whole.
In short, blah blah blah, I’m pretentious, doin’ it all myself.
Luckily now that the process is streamlined, I should be able to develop the story at my usual writing pace. My ‘usual pace’, incidentally, is a 650-page novel in about 4 – 5 months.
Oh man, January 25th is still eight months away?! HA! HAHAHAHAHAHA!
Moving on. On the gameplay side of things…
– Allied AI. This was a doozy. Enemies used to only target the player object, and I had to change that to specify an entire ‘group’, known as the good guys. This was to accommodate having multiple people on the field attacking the enemies, so the enemy AI landscape has changed without me even adding other AIs. This is something I didn’t think I’d be doing for a while, but, the story demanded it.
I guess ‘allied AI’ is a bit of a misnomer, since some of these new guys can be neutral. Anyway, right now they fight like the player, using melee weapons, and eventually, ranged weapons (zzz…). The thing is, programming AI is a bit like training a retarded puppy to be a guard dog. Tons of different variables to be dealt with, and I still need to work on pathfinding in general. So yeah, this sucked up a LOT of time, but now it’s done, thank God.
Another thing is that the story is really dynamic. I’m not getting into this yet, but aside from being obviously non-linear, it’s not 100% driven by the player. If you leave the story and do other stuff, the AI will actually carry on without you, moving through the story. Eventually, they may need to call you for help, and if you ignore them… well… let’s just say, indie games can get away with all kinds of crazy shit. Like making the story unwinnable. An early tutorial prompt says, point-blank, ‘the fate of the world is at stake. Have your shit together’.
We’ll talk about that!
– Enemies that can teleport around. Sounds easy, but it’s part of their AI, and the parameters for it are a little complicated. If you charge them, they may appear directly behind you. They disappear when you lock onto them, too. Or move the cursor near them. It sounds annoying, but it’s crazy fun in small doses, especially when you just end up flailing around like a retard trying to hit them.
– Improved targeting. Now it locks onto anything between you and the cursor when you hold RMB. The cursor also doesn’t ‘lock off’ unless you move the mouse a little further away. Originally I thought locking on was a little too cheap, but it does make the game feel more tactile…
– Improved collision detection. Again.