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.

Tuesday, October 23, 2007

Just call me Fred Thompson.

"where's the post" wah wah wah

I won't consider myself up and running until I make some big decisions that need to be made. You all already have some progress done, so it's easy for you to put up new versions after working a bit. I have to make the very first progress in one week, when some of you have had 8 years? Come on.

Saturday, October 20, 2007

A surrogate title.

If you want to have a fancy game title to use when linking to my blog, use...
Vulture.

(I totally didn't make that up just now)

Did I lose yet?

The short answer is "no". Yesterday, while helping that bastard SDHawk, I had a few ideas regarding character backstories and a particular minigame/sidequest that I've fleshed out a bit, and the connected nature of stories has inspired several other branching ideas. I haven't decided yet whether I want to spill the beans about all of my ideas on this blog, as it kind of ruins the surprise. The game will most likely heavily emphasize story and characters, so I don't want to compromise any twists or dramatic events or anything. It's probably safe to reveal the sidequest thing, so here goes:

Like I said, this is virtually a rejected idea from planning for SDHawk's game. My game takes place in the near future, (not super-sentient robots and hyperspace and aliens and all that nonsense, but the beginning of the space age. Think a Front Mission setting, but without the giant mechas (probably)) so computers and some kind of global network are a vital part of everyday living. The sidequest will be a sort of "online" cooperative puzzle game that virtually everyone plays, in which you move your avatar around a node-filled grid, opening doors/flipping switches/what have you, and winning real-life rewards. The idea is that, with computer technology burgeoning, the game's servers are capable of auto-generating an intelligent world for every player, and also connects them to the arenas of other players at various points. What you have to do is talk to NPCs in the game and convince them to help you in the puzzle by opening some switch only they have access to or something like that, in a sort of Lost Vikings way. Some people will do this simply by you asking them; others might do it as a quest reward or something. I haven't worked out the exact mechanics of it yet, but it will probably be pixelated, cute, and hopefully challenging.

I feel I've maybe dropped the ball a bit by not having any sort of tangible progress, but it's unrealistic to start working on the game's guts before I've planned them. There are a few things I could do, but planning is in such an early stage that those ideas could change easily, as there would be no consequence, and I don't want to waste time and effort on something that I won't keep anyway.

But now it's back to playing Legend of Mana. This game is a lot better than I remember it being.

Tuesday, October 16, 2007

A short project introduction.

I've been thinking about this project for probably around 2 years, in various incarnations. The core ideas haven't changed, but some of the particulars have. As my mindset changed and I realized I have as much time as I want to work on this thing, its scope ballooned. After letting a long-term project (MV, for those unfortunate enough to remember it; I won't go into more detail) die after rolling it around for 4 years, I found a new joy in entering the game compos with Your Mother, a veritable team of all-stars (as far as these communities are concerned, at any rate). But alas, the relatively short nature of these projects left a hole in my heart. Er, not really, but for the sake of argument, sure. Anyway, I needed a new pipe dream! So I found one.

Around the time, I started to really enjoy tactics RPGs -- FFT and its ilk. But I realized that they were always... pretty inferior, with regards to, y'know, tactics (and several other things, but I can't fault them for making quick games that appeal to only a small portion of the gaming crowd). So I set out to make the ULTIMATE TACTICAL EXPERIENCE. Except I wasn't really going to make a tactics game.

Originally, the plan was to make what would basically be a Phantasy Star 4 clone, but with tons of skills that did more than increasing amounts of damage. Unique effects and conditions for using them would be my milieu. In stupid developer fashion, I felt that this wasn't EPIC enough, so I decided to make it a multi-party story! That's right, split it into chapters and have it take place from multiple perspectives. A ludicrous idea for someone who is too lazy to make a full game, to be sure. A final tenet was that enemies would behave (gasp) intelligently! The old games were so easy because nothing was ever unexpected. I hear you saying "oh but so-and-so boss had an ability that hit your entire party for 278462 damage and thus killed you instantly! how's THAT for surprises?!" to which I say, "not very surprising." You kind of come to expect that in a game where numbers get tossed around in wanton.

But over time I realized that the system wouldn't be enough. I needed more ways to make the battles creative. So I decided to make it a tactics game at heart -- grid-based combat, using position intimately in the skillset. It will take place in real-time, with skills having cooldowns/delays/action times, but you can pause at any time and reissue commands, at the price of interrupting whatever you were doing and losing whatever you've put into it. I also expanded upon the idea of good enemy AI by having every enemy require a specific strategy (to some extent) to defeat it, and nearby enemies being aware of their allies' thinking methods and needs. A complex system of give and take, that will have to be different for every location.

Add on top of that multiple parties, each character of which having their own unique skillset and role, item crafting, blah blah blah, all the typical epic RPG fare (except done more intelligently, I hope), and you'll see why I called it ridiculously ambitious.

An underlying tenet is that if you go into battle expecting to bash the shit out the enemy until it does not move anymore, heal your damage, and move on, you'll be severely disappointed (and crushed into pulp). The tactic might work in the very first dungeon, so the player will be slowly acclimated to THINKING about combat.

Monday, October 15, 2007

Money doesn't taste good.

Get it? Putting your money where your mouth is? Well, I guess it doesn't explicitly mean putting the money INSIDE your mouth. That would be silly. Think of all the hands it's touched. And other assorted body parts. Eh, why do I bother...

Anyway, if you're as obsessive compulsive as I am, or just as bored, then you've been reading all of the other blogs of the competitors in the GRUEDORF CHALLENGE (just go to one of the blogs listed there and follow the links around), so I'll save you the effort and sum up my melodramatic story in a few words. Ahem, here goes.

I make games, but not very often, and that's bad, so I'm making a game now.

Yeah, that's about it. See the aforementioned link for the rules of this contest. Oh yeah, and Overkill and SDHawk are gay. Totally. Also, something about eternal shame.