Tuesday, 13 December 2011

Aggro-vation

While my (as yet untitled) game is designed largely with PvP in mind, I do want there to be a single-player campaign, and a good one too; not some MW3 rubbish. AI in general is probably too broad a topic for this post, so I'd just like to focus on aggro; that is, how, and more importantly when enemies react to the presence of the player.

There are a number of different options available. The simplest of these, which can be seen in a huge number of games from the creeps in LoL to absolutely everything in Skyrim is attack-on-sight: the mob sees the player, and attacks it. There may be cases where it is slightly modified; for example, there may be a range check, or a timer triggered allowing the player to back away before a confrontation is initiated. This is the system used in the majority of FPS titles, and it works fairly well. It's also extremely easy to implement. The only major problem with it occurs when you introduce multiplayer elements to the mix. When a wolf sees two players charging up fireballs at it, which does it attack?

One solution to this problem, which will be extremely well-known to players of pretty much any MMORPG, is the implementation of a threat system, with the mob in question attacking the player with the highest threat. Threat isn't normally linked straight to damage, though of course there is a damage component; often different attacks or types of attacks will cause more or less threat, and some classes or players will have talents or items or whatnot that increase or decrease the threat they generate. This system tends to produce tank-type roles, and while it works relatively well in an MMO setting, I have a number of problems with it. First of all, it produces tank-type roles, and I hate tanks. I really do. They're boring and uninteresting and horrible to balance, and while I'll admit that they have a kind of a place in PvP, I wish they didn't. So that's one reason. The others are perhaps more rational: a threat system is a large and complicated addition to the game; I don't plan on having a class-system, and certainly not a tank-type role; and even if you did want to make a tank, this is a game about spell-casters, and I have no plans for a melee combat system for the player.

So how else could a mob choose between targets? Well, it could be based on some basic AI - always attack the weakest player first, for example, or maybe just target the closer player. Both of these have some merit, but again, I have problems with them. Targeting the weaker player first is likely to result in one player always being targeted and having to run away while the other does all the work, and that's boring for both players. A similar problem is going to arise with targeting the closest player; while this is perhaps the most intelligent thing to do, it is going to mean that one player becomes a tank.

At this point we're running out of options a little, but there's one left: target whoever hit the mob last. Now, at first glance this may appear to be the most ridiculous option thus far, because the mob is going to end up spinning round and round in between two players who are exploiting this for all it's worth. However, to my mind this is exactly what should happen. This is a game where all the players are casters; fragile and unsuited to taking heavy blows to the face. The usual method of combat for a single player will be kiting and avoiding damage rather than healing through it or soaking it up. With two or more players, careful timing and disorienting the mob will be a way of keeping it at bay without requiring a tank or a dedicated healer. And it will require skill. Everything in this game is a skill-shot; spamming spells is generally inferior to taking the time to line up a good one; and there is full friendly fire. Provided that the last-hitting target is only decided by direct attacks, and not DoTs or lingering AoE attacks, I think that this could be a viable alternative to the more commonly used methods. I'll let you know how it goes.

~Roxton.

Monday, 12 December 2011

Introduction

Hi, my name's Roxton and I'm a first-time indie games developer. Or rather, I'd like to be. In the same way that you can't really call yourself a writer until you have written (Coleridge, I'm looking at you), I don't think that you can really call yourself a games dev until you've shipped your first title.

I don't even know if "developer" is the right word; it's a one-man team, so there aren't really distinctions between level designer/coding/writing and so on. Anyway, I'll be using this site to post various thoughts, ideas and updates related to games and game development. Possibly other stuff as well, but I don't want it to get too unfocused.

Finally, a few words about the game itself. As it stands, it's a 2D, top-down action-RPG-thing with the combat mechanics revolving around spell-casting. Multiplayer, both co-op and competitive is planned to be a key aspect.

~Roxton.