Confrontation mechanics (slowly turning into full game design)

Started by
7 comments, last by Zanshibumi 16 years, 11 months ago
What I've thought by now (let's see if more info helps). This is for a web-based, turn-based strategy game. Players would play 1 turn/day (real). *** You enter the web page and register a new player. You can choose between joining a race in use or build your own race. To build your own you assign points to a lot of skills and tiny details (think Stars! if you ever played that wonderful game). If you choose to join a prebuilt race you get a list of current races and number of members. So, 1500 elves (as always), 750 humans, 375 Graahhx (race built by an anonymous player that simply became popular because he won a major war), etc... The same with bloodline/subrace. Obviously, if you built your own race you must build a bloodline from scratch; however, if you selected a played race, you can build a new bloodline or choose a played one. For example, you chose elf (why, God why!) and find that there are only dark, blood and gray elves; so, you decide it's time to build the sun elves bloodline. Then you build a clan. You can't join one of those, as your clan is the equivalent of your character. So, you end up being a sun elf of the blinding rapier clan. *** The world is an isometric map (think Civ). In the center of your world is your (beautiful, sunny, elvish) capital, you can see N distance around your city and also the map viewed by any other player who shares bloodline with you. Surrounding your "circle of influence" are other cities by other players. Every time a player joins the game, the map grows a bit. *** The relation between the bloodline is part of the customization of the race. For example a race like ogres could only allow for opposite alignement bloodlines and players of those bloodlines would only be able to trade with the correct half of the race. Or it could be a xenophobic race and allow more/better/cheaper cooperation between the bloodlines and only war relationships with outsiders. The relation between the clans would work in a similar way. A bloodline could have the trait "blood first" (or whatever) that forces every clan in that bloodline to declare war with anyone attacking a clan of the same bloodline. ---------------- What I lack right now are ideas for the mechanic of confrontation between the cities. I'm interested in exploring two precise parts of the design, character building and a "dynamic skill tree". Basically adding to the pair (build, evolution) a customization element that would be repeated every turn. However, for all this to make sense I need an actual game mechanic. As an example, I thought on the city + armies approach. As in Civ, each character has n cities and generates armies which fight other armies, conquer cities, etc... However I'd like to avoid the armies running around, so maybe a Risk approach would work best (regions with non-localized armies). [Edited by - Zanshibumi on May 8, 2007 1:58:47 AM]
Advertisement
One thing to keep in mind, no matter what you end up going with, is balance. It sounds to me like there are certain things that you can get by joining an existing "force" (i.e. race/clan combination) which you can't get otherwise; unless there's something to balance that out, I fear you'd ultimately end up with only one or two race/class combinations doing anything interesting, with any others quickly getting wiped off of the map by the sheer bulk of players that aren't on their "side". I recommend that whatever you do, you find some way to emphasize strength through variety. Perhaps each race has different inherent abilities, and each clan different "specialties" (your Blinding Rapier clan, clearly, has a specialty in tasty home-baked goods, for example). Thus you'd be better off with one huge alliance versus another huge alliance, instead of one huge clan versus another huge clan. It's still not what I'd call a great situation (ideally you'd have lots of little alliances), but it's better than it could be.

As far as actual conflict resolution, I don't have any great ideas. One possibility would be having, say, a hex grid, with the players distributing their "forces" into each grid (e.g. a player with 1000 men could have 750 staying home to guard the city, while another 250 go from one grid to another). Forces in the same grid could actually fight, possibly receiving assistance from neighboring hexes with allied units in them (e.g. archery, occasional cavalry charges). The armies wouldn't be shown as differentiated units; just as numbers occupying spaces. The important thing here is to make certain that combat is more than just a matter of putting together more men than your opponent can field.
Jetblade: an open-source 2D platforming game in the style of Metroid and Castlevania, with procedurally-generated levels
Quote:Original post by Derakon
One thing to keep in mind, no matter what you end up going with, is balance.


I'm planning a mechanic about skills/spells/abilities' cost being calculated every turn taking into account how many times it was used in the previous ones. Kind of an exchange market self-balancing system. But that's another story.

Quote:Original post by Derakon
It sounds to me like there are certain things that you can get by joining an existing "force" (i.e. race/clan combination) which you can't get otherwise; unless there's something to balance that out, I fear you'd ultimately end up with only one or two race/class combinations doing anything interesting, with any others quickly getting wiped off of the map by the sheer bulk of players that aren't on their "side".

I strengthened those points because I'm afraid of the precise opposite. Maybe I'm wrong but, don't you think every player will want his own race and believe it's the best possible build?

Quote:Original post by Derakon
I recommend that whatever you do, you find some way to emphasize strength through variety. Perhaps each race has different inherent abilities, and each clan different "specialties" (your Blinding Rapier clan, clearly, has a specialty in tasty home-baked goods, for example). Thus you'd be better off with one huge alliance versus another huge alliance, instead of one huge clan versus another huge clan. It's still not what I'd call a great situation (ideally you'd have lots of little alliances), but it's better than it could be.

I'm planning on prebuilding 2-5 races with 2-3 bloodlines each and leave the rest of races be build by the players.

I do want some major races (let's say 5-20) and some major bloodlines in each (2-5 would be nice) but I don't want to force it. I want to tinker with the advantages to make this the most probable result. :)

Quote:Original post by Derakon
As far as actual conflict resolution, I don't have any great ideas. One possibility would be having, say, a hex grid, with the players distributing their "forces" into each grid (e.g. a player with 1000 men could have 750 staying home to guard the city, while another 250 go from one grid to another). Forces in the same grid could actually fight, possibly receiving assistance from neighboring hexes with allied units in them (e.g. archery, occasional cavalry charges). The armies wouldn't be shown as differentiated units; just as numbers occupying spaces. The important thing here is to make certain that combat is more than just a matter of putting together more men than your opponent can field.


The main problem I've found with this Civ approach is that as each turn is a day, attacking should be a matter of one turn or two. Slow strategy games can be very hurt by the need of slowly positioning your units in a battlefield.
However, if I find a way of doing this fast... (for example, declaring war in single turn, positioning troops blindly, the opponent positions his side and then the attack is resolved. But I can't think of a way to make this work)
Modern high-level strategy is done on the scale of days. You just need to abstract combat enough that it works properly. For example, don't have the player controlling individual forces. Instead, have the player give orders to position their units. Units on the march would automatically attack units they ran into, give support to neighboring units, and so on. The player's job, then, would be to analyze the current situation to the best of his ability (keeping in mind that his knowledge of the world will be limited), decide on the best dispensation of troops, and then sit back and hope he did the right thing.

As far as players creating unique races, certainly there will be people who want to create their own races. The important thing, though is ensuring that those races don't instantly get crushed or absorbed by some uber-alles alliance. The more factions there are, the more complicated things get, and thus the more fun can be potentially had. Consider three alliances, each having no more than five players in them, all going out after each other. Much more fun than two alliances each with 200 players in them, including the 15 players mentioned in the previous example.

Players should be able to feel that they can make a significant difference in their political faction; this in turn requires that factions be small enough that players can be significant. There should be opportunities for teamwork, but there should also be incentives for individuality. Keep in mind that most players will want to be on the "winning" side; thus, your goal is to ensure that there is no winning side, at least not permanently.
Jetblade: an open-source 2D platforming game in the style of Metroid and Castlevania, with procedurally-generated levels
Quote:Original post by Derakon
[...]have the player give orders to position their units. Units on the march would automatically attack units they ran into, give support to neighboring units, and so on. The player's job, then, would be to analyze the current situation to the best of his ability (keeping in mind that his knowledge of the world will be limited), decide on the best dispensation of troops, and then sit back and hope he did the right thing. [...]

Ok, I'll rethink the Civ idea. So: build army, move army around, place army in opponent's territory to attack. At the end of every turn, armies in the same or adjacent place fight. I'll leave the fighting algorithm for later.

The only problem I can see with this is that simultaneous turns erase the difference between attack and defense. I can't remember a turn based strategy game with simultaneous turns to check for ideas (help anyone?).

Quote:Original post by Derakon
The important thing, though is ensuring that those races don't instantly get crushed or absorbed by some uber-alles alliance.

The first solution to this I thought was making each combat "private". So, it didn't matter if six teamed players surrounded one, someone had to win him in a one on one.

However, as I turn this from a clan vs clan skirmish to war between races or bloodlines, obviously every unit from allied clans would unite and work as one in the "combat resolution phase". And then, the problem of The Alliance dominating the world becomes quite real.

There must be some penalty to be the 100th player to join The Alliance. Right now I can think of:

- The first founder of a race gets certain benefits. Same for bloodline. Those benefits get bigger as more people join, but a new founder would have much advantage over the 200th Alliance clan.
Problems: The founder would be really hard to beat. Nothing avoids two completely different races to ally.

- New players are created far away from established locations so, they might be the 200th Alliance clan and appear right next to The Rebellion, leading to a quick death. Better to start independent.
Problems: Nothing avoids the independent to join the Alliance as soon as he establishes contact.

- Frontiers can't advance towards allied territory, so, as soon as two allies are nearby, they would start fighting for the land or lose part of their growth potential.
Problems: Anyone stuck between two allied lands would have to die for this to happen.


Things that seem clear now:
* Alliances must give a big bonus between clans of the same bloodline, some bonus between same race and just a matter of "next opponent choice" in the rest of cases. (It should make sense to pick the same bloodline as your future allies, for flavor.)

* Not everyone joining at the same time makes it quite hard to have evolving characters. I'll have to find how to keep war separated by power levels or turn into a division by skill levels (no character advancement, just players who learn to play better).
I actually think it'd be neat to encourage people to form alliances outside of their own race, but it's your game, so do as you please there.

As far as limiting the power of alliances, probably your best bet is to somehow dilute the gains that people make when they're in an alliance. For example, if you're in an alliance of 40 people, then every time you win a fight, you only get 1/40th of the reward; 30/40ths is split evenly between your allies, and the rest is lost. Make it so that small alliances split rewards with nearly no loss at all (say, an alliance of 5 gives you 20%, your allies split 75%, and 5% is lost), and large alliances are very wasteful. Explain it as bureaucracy, corruption on the part of ambassadors, and the like. That way, a big alliance can form if it really needs to (e.g. to take down some powerful but undesirable griefer) and if the benefits are in more than just gameplay terms, but for normal gameplay, small alliances are more worthwhile. Even though you're getting "free" income, it's not as big as what you could gain on your own, due to the waste involved. Also, you'd have an incentive to join a small alliance so you could help ensure that nobody in the group is freeloading (i.e. intentionally not contributing but just absorbing the "free" rewards).

Edit: their != they're. Gah. I hate those mistakes and I did it myself!
Jetblade: an open-source 2D platforming game in the style of Metroid and Castlevania, with procedurally-generated levels
Quote:Original post by Derakon
I actually think it'd be neat to encourage people to form alliances outside of their own race, but it's your game, so do as you please there.

I didn't mean I wouldn't like that, I meant I'd like them to first join by bloodline. Actually, thinking about that while coming to work, I established how I'd like people to ally; first by bloodline, then by alignment, then by race.

So, all moon ogres are allied, all good (on whatever alignment system I end up using) are "friends" and all ogres might help each other.

I'm even thinking on having part of this alliances forced, to avoid idiocy. So if you join the mithrilsmith dwarves you are allied with them, share their enemies and can't attack their allies.

Who is a bloodline allied with would be decided by a method specified at bloodline creation (clan leaders vote, strongest clan decides, first clan decides, etc...)

Quote:Original post by Derakon
As far as limiting the power of alliances, probably your best bet is to somehow dilute the gains that people make when they're in an alliance.

Nice idea. So the spoils of war could be:

Winner gets: S/N

Allies get: (S/N) * (1.7/N)^0.6

where: S=spoils and N=number of allies.

Quote:Original post by Derakon
Also, you'd have an incentive to join a small alliance so you could help ensure that nobody in the group is freeloading (i.e. intentionally not contributing but just absorbing the "free" rewards).

Actually a bloodline could decide no one else is of their blood (when they've reached a critical point where they're not getting much benefit for victories.


Now, the problem of power balancing. What to do with people who join late? The existing players would be much tougher.

It seems this game will be quite slow, so separating individual games (people join in a forum, start a game, play, end it) would be quite hard. But a permanent world would make joining after a few turns quite unsatisfying.

Also, I'm most interested in the faction creation and advancement but it's hardly interesting to build the best possible faction if someone who barely thought his can win by matter of played time.

I'm starting to think in making this much faster; so people can join, start at turn 0, fight, finish, all in about an hour. Do you think it's feasible?
Play speed for a web-based game will largely be a matter of coordinating the players and getting them to take their turns appropriately. The day-based system is simple because you can simply resolve things every day at midnight, and it doesn't matter when players get their turns in. Compressing that means forcing players to dedicate time at a specific interval. There's nothing wrong with it, but it will require a different kind of design. Yes, it's feasible; you'll need more coordination between players, though.

One possibility for mitigating power gains is to let more established players have more forces, but enforce the maximum concentration of those forces. Say, each hex grid can only have a maximum of 1000 units in it, so no matter how many cities you can control, you can't bring to bear all of your forces on a single opponent. You can, however, start carrying out wars on many fronts. This gives established players more to do without making them overwhelmingly powerful.

One question I have is what happens to players whose home cities are captured? Are those players simply wiped out? One possible mitigation I can think of for captured players is letting them run resistance forces out of their captured cities; this forces players who get too big to spend more time on holding the peace than on capturing new ground. In fact, you could even use this as a natural limit on maximum territory size. If a native city generates 1000 units, and a captured city generates 300, 200 of which should be used to hold the peace if you want reasonable certainty of retaining the city, then you're only gaining 100 extra units, and your borders are much larger than they were before. Effectively you're more vulnerable.

Mind you, there have to be some benefits for defeating other players; people want to be able to "win", or at least to "be winning", and if there's no way to compare status, then odds are they'll get bored.
Jetblade: an open-source 2D platforming game in the style of Metroid and Castlevania, with procedurally-generated levels
Quote:Original post by Derakon
You can, however, start carrying out wars on many fronts. This gives established players more to do without making them overwhelmingly powerful.

Nice. Make stronger players bigger so they have more enemies. The greatest won't be he who can crush a beginner in 2 turns but he who can hold his territory against thirty beginner cities while keeping nice chatty diplomatic relations with ten more clans, investigating his magic a bit further and still reserves some extra time to play with the kids.

Quote:Original post by Derakon
One question I have is what happens to players whose home cities are captured? Are those players simply wiped out?

I've got no good enough solution now. Maybe the rebels mini-game to recover your city can work.

Quote:Original post by Derakon
Mind you, there have to be some benefits for defeating other players; people want to be able to "win", or at least to "be winning", and if there's no way to compare status, then odds are they'll get bored.

And here start the hard decisions.

I've always thought of making this a 1 turn/day thing. I only contemplated the fast game idea to eliminate the concept of people entering during the game.
That concept is not bad per se, but introduces a great difficulty to player growth; i.e.: If a player can enter after a month of gaming you must let him be able to do something against another player who's been there for a month, so growth has to be extremely slow.

Another problem is game ending. If people can enter middle-game, the game never ends and players will eventually get all existing content, be bored and go (unless you're blizzard and can keep generating content endlessly).
The easiest solution to game ending is eliminate player re-spawn.

However, with 1 turn / day and without re-spawn we lose the persistent world and turn into a persistent multiverse.


So, where does this leave us? I see only one possible solution without many problems in:
- Many world instances, no re-spawn, 1 turn/day. Players could play one or more games simultaneously. Games end when a player kills everyone else or completes some other kind of ending condition.
If a player is powerful enough, he wins and it all ends; If he can't end the game he must not be so powerful. (Here I must only generate enough content to last for a long balanced game, not forever.)


However I think there might be better solutions or variations of this one that solve the problems and don´t generate new ones.

This topic is closed to new replies.

Advertisement