Monday, December 17, 2007

It just gets more and more pathetic.

Well, I've decided to slap myself in the face and stop using OGRE, at least initially. I'm back to ika. Hopefully I can separate the game logic from the drawing parts enough that I could theoretically go back to OGRE once the main game systems are done.

I've reverted to some basic windowing code that I made back in the last game compo, and hopefully once I get that in, I can start coding the basics of the battle and ability systems. The ability part can be reused somewhat, but it'll be scaled down and made simpler because I no longer have to worry about the time aspect, now that abilities execute simultaneously.

So yeah... another non-update. But it's okay, no one's watching this place anyway. I bet you wouldn't even see if I took my pants off... ahh, that's better. No one can see me, because I'm invisible. Can't even see my tinfoil hat. Ain't nobody gettin' in here, not even ME. Mwahahaha.

What? The mic's been on the whole time? I swear, the help is always so incompetent. This interview's over. Over and out.

Monday, December 10, 2007

Oops.

Yeah I guess I went two weeks without posting. This isn't going to be a real post, just a crappy pseudo-update like usual.

Some character/story ideas I've had:
- one character is a female sniper on the planet who lives in an abandoned fort. She maintains the machines, such as defense turrets, to keep out raiders and protect her little brother. Her actions accidentally start the conflict, and bring the other civilization to the planet.
- a male worker bee in the orbiting civilization in charge of monitoring and finding new planets. A beacon from the planet the game takes place on leads to the conflict, and this person is interested in learning more about the planet, whose data is inexplicably already stored in the ship's records.
- a male wanderer gets tangled up in a mercenary plot and is forced to pretend to be their leader. Eventually they wind up taking a contract investigating the orbiting civilization, but get in over their heads. Inner conflict in the group forces this individual to make an important decision.

Gameplay: Battles are now simultaneous, much different from originally planned. Commands are entered for the turn for all your player characters, sometimes allowing you to chain abilities or delay your turn slightly; otherwise, all abilities execute simultaneously, except for a few which go before or after and can modify sequence of events. This removes the problems with coding, a continuous update state, and the problem of constantly interrupting the action by taking input from the player.

Monday, November 19, 2007

Technically a game now.

A short update; didn't do much, so I won't say much. You can now "walk" around (as in, change your position; doesn't actually animate yet). A screenshot wouldn't show anything, so that's it. Yeah I suck.

Monday, November 12, 2007

Another lame pseudo-update.

Okay, okay. So I lose AGAIN. No big deal by now; practically everyone has lost at least once by now. It's the thing to do.

All the actual progress I got done this week was thinkin'... oh, and I fixed a little bug with the camera rotation and started moving code around, but that's not very excitin'. I did a few more lines of ability code before deciding to scrap it again, and I've thought of a million different ways to do it, before finally deciding to bite the bullet and code some nasty crappy code and just get it done.

So where did the time go? I spent 3 to 4 of these 7-ish days playing the newly released Metal Max Returns patch from Aeon Genesis, and I liked the game a bit so I played the whole thing. Then, I was still itching to play something so I spent a day on DeJap's Star Ocean translation, which for some reason I haven't started until now despite being a fan of the series. I'm also working on another thing that no one here would care about, so I spent another day on that.

Anyway I guess it would behoove me to make this an actual update instead of excuses, so I'll explain s'more about the game systems.

Exploration:

Walking around in towns and other non-hostile areas will be the same as it is in... well, hostile areas, except zoomed out a bit probably so that it looks a bit like a world map but still enough like the meat of the game. I might lock rotation, just because. I can't really explain why, but it creates a certain "transitional" vibe. Walking is tile-based, of course.

Can't decide about shops or whatever (or even if there'll BE shops; more on that later), whether to have it just switch to a menu when you walk in, or let you walk around inside the shop. The original plan was to make everything very interactive, but I'm rethinking it as it adds cruft and, for once, I don't want cruft. Items are going to be fairly secondary, at least compared to my original plan, which hinged on a complex crafting system.

Combat:

Once in a dungeon (or hostile area), you move around like normal. Enemies appear on the map as other entities, and only move when you do, like a rogue-like (OR AZURE DREAMS). When you are a certain range away from enemies, you can initiate combat mode (like Fallout), or just try to walk past an enemy. Depending on how hostile they are/their relative strength to you, they might initiate combat anyway and get a headstart.

Once in combat, things switch up a bit. It goes from strictly turn-based to real-time that pauses when you enter menus/active abilities activate (like Growlanser or my old compo entry, Commander Charisma). This MAY change in the future because one of the thoughts I had this week was that this system might not work. With the amount of tactics involved, there's probably going to be some trial and error and some completely ineffectual moves, and if you have to manage time along with all of that, things would get pretty annoying. I'll see how it works in practice before making a decision about this.

Abilities:

Abilities have two main properties: trigger method, and effect type. The two trigger methods are active and passive. Active abilities require you picking the ability from a menu; passive abilities are in effect by default, or happen in response to something else. What I've called effect types here relate to duration. An ability can either happen once and then end, get toggled on or off and have a persistent effect that may or may not run out (for example, something like an enchantment that doubles the strength of fire abilities), or be in effect only while the user is using it (traditionally called channeling). There are other catches, but these are the main factors.

Abilities will have all sorts of conditions that are required for execution or that raise/lower their effectiveness or change their parameters. To make this more complicated, just combine any two of the aforementioned types. An important idea in this system is that abilities are VERY effective, but only in certain situations, as opposed to the generic cover-all stuff we get in other tactics RPGs. (Why is it that when I use a fire spell on an ice monster, I only get a 25% boost? Lame.)

Say we have a hard-shelled monster, with a passive ability called Hard-Shelled. This ability reduces damage by 90% unless the attack is Piercing. Now we COULD give our hero a separate piercing attack, but that's not exactly strategy. The only factor to consider would be, which ability do we have to pick, every single time? Instead, we'll add a layer of complexity by giving a 2nd character a channeling ability called Pierce Through which gives the abilities used by its target the Piercing attribute. This is just a very simple example of what I'm talking about; things will likely be a lot more complicated. Keep in mind that conditions could also have to do with synergy between specific characters, distance, timing, effect patterns, height, walls, traps, arrangement of combatants, et cetera. The key word is tactics.

Let's say an enemy has an active ability called Sever Link that terminates any channeling abilities being used by its target. Another enemy could be laying in wait to deliver an attack between the time that channeling ability is severed and that character is able to get it running again (because of the slight cast delay). There are a lot of ways we could combat this. The character affected by the channeling ability could be waiting to unleash his attack until the channeling ability takes effect, preventing the enemy from having enough time to sever it. Or, use a repositioning ability to move the Sever Link enemy out of range. Or, use a status effect to prevent his casting. Or, use some other counter ability to penalize the enemy for Sever Link. Or, just bash the enemy's head in before all this happens-- oh wait, this isn't a standard tactics game, so that won't work.

A+!

I hope that's enough to make up for my failure. Unless Aeon Genesis patches another awesome game this week, I think my next update should be meatier.

Sunday, November 4, 2007

Ability inability.

Progress on the game's code has started. Whoooo!

The first thing I'm coding is the ability system because it's basically the crux of the game. As a tactics game that's trying to emphasize tactics, the abilities are extremely important. It took me a long time to figure out how to properly code the system to be as flexible as I need, but I think I've succeeded. The system itself is just starting, but I now have a clear idea of how to proceed.

I made the bold (read: stupid) decision to hard-code each ability since their effects will mostly be unique and very widely varying. I might reverse this in the future if I find a lot of overlap, but I don't see it happening.

Because I'm just learning ogre and I don't have a very easy way to do input parsing (I could just take keypresses or put some crappy GUI widgets up, but that's a hassle since I'm still shaky around ogre), I'm also writing a pseudo-battle-state-machine by which to test the interplay of abilities. It feels almost silly to be saying this since I can't really illustrate it, but I feel it necessary to report on my actions.

Here's a screenshot. It doesn't show much, because there's not much to show yet. Yes, that is the default ogre robot mesh. I've injected my own texture into a material and made the randomly generating tile map thing you see there. What's most important is that it illustrates how exploration will be tile-based, and the camera will be third-person at an angle (I totally didn't gank this from Azure Dreams. Really.)

(Also I didn't show the screenshot directly because I didn't want anyone jumping to it immediately and going WTF THIS SUCKS OMG. Read the post, goobers. And keep in mind I've just started the project.)

Tuesday, October 30, 2007

A shift in direction, along the Z axis.

My project will now use Python-Ogre. Why? Because I'm insane. But more realistically, because Azure Dreams has infected my mind and I must steal as many design elements from it as possible.

I don't have any real progress to show, as I've just been learning how Ogre works, reading tutorials, messing around, etc. I am prepared to take a beating from everyone, particularly SDHawk, for this decision, but I don't give a shit. I must pursue what I want to do.

Suck my ass.

Wednesday, October 24, 2007

On storytelling.

My story will be told from the perspective of several characters and divided into chapters, each character having a certain amount of chapters dedicated to his branch, probably spanning a great deal of time and not in chronological order at all times. In addition, each of these characters will have his own unique party of friends/followers, with some characters leaving, rejoining, and possibly joining other parties at some point.

One character's actions can potentially affect another character's available actions. And in tandem with that online puzzle game thing, the characters' actions on their puzzle grids can affect some other character's puzzle grid, the same way that an NPC's actions can.

The story and setting have also changed. (See? I'm not doing nothing.) The timeframe is now a bit further in the future. On the planet is a cluster of smaller, more traditional societies who all pay tribute to a church run by scientists, sometimes not voluntarily. One day, the denizens of the world awaken to find a giant metal wireframe shell covering their planet, obscuring the sun. Its purpose and origin are unknown (to you, at least!).

For the record, I posted an idea within the first week, and SDHawk has only posted ideas up to this point, so I feel like I've fulfilled the once-a-week requirement just as s/he has.