Skip to Content

Need ideas on random enemy movement

12 replies [Last post]
dbaker84
Offline
Joined: 11/17/2009

I'm working on a game that will be played on a hex or square grid; I've been tinkering with both as far as tile layout but this random movement thing will probably end up being a deciding factor. In other words, systems designed around either grid would be viable.

What I need to happen is fairly simple. Each round I need enemies to move from one tile to another. It needs to be unpredictable enough that players can't dance around it, while still following basic rules. Here are the conditions that need to be met:

A. There will be many enemy units on the board; depending on how far into the game it could be over a hundred.
B. The enemies need to recognize players as a threat/target and respond appropriately
C. There needs to be a way to move these units quickly and efficiently; moving 100+ individual units would be tedious and likely result in a lot of errors.

To deal with these conditions I've come up with a few ideas.

To address both A & C, I've considered some type of clumping/grouping system. Basically, once so many units occupied a space (say 3 or more), they get joined into one single group that moves as a unit. They will remain as one unit until they drop below the previous threshold. There would have to be a maximum limit (say 12) that after which point the group doesn't pick up any more new units.

In regard to B, at the beginning of each round a player could do a simple die roll to test whether they are detected or not. If they pass, they are simply ignored during the enemy movement phase.

Based on this, I still have a couple problems. 1, how to randomize the movement, and 2, how to track the movement. I've considered using some sort of coding of tiles and the roll of two dice to randomize movement. If there were 3 tile types, a roll would would be done first to decide which tiles were actives, and a second roll to decide which direction units on those tiles moved.

So with all this in mind, this is a very basic idea of what I thought of as far as a structure to this system:

1. Players roll to see if they are detected.
2. Players who are detected are attacked by enemies moving into their tile.
3. Roll to select which enemies move randomly.
4. Roll to select which direction previously selected enemies move.
5. Move enemies.
6. Player turn.

This is already getting excessively long so I'll end here but I'd love to hear input, suggestions, etc.

Thanks everyone!

Nix_
Nix_'s picture
Offline
Joined: 09/23/2009
What is the theme of your

What is the theme of your game? You should try to have your movement match the feel of the theme (it doesn't make since to have units teliporting in a game based in the 1800s).

I don't know if you already have something, but it seems like detection is a major part of your game; there should be some way to reduce the likelihood that you will be detected.

For movement. You could divide your board into different zones first rolling for the zone, and then direction of movement.
Have a kind of hive movement where every group of units moves, but in the same direction.
Instead of having units move randomly, have each player choose a certain number of units to move. You could put restrions on units a player could move like how close they are to the player.

bielie
Offline
Joined: 11/05/2009
My thoughts

My thoughts:
--Too many units on the board may make the game too complicated. Have you considered reducing it?
--Random enemy movement may not be the answer: Consider moving them according to rules. For instance: Units weaker than the enemy move towards other units in order to unite and become stronger. Units failing morale (based on comparison with the enemy strength) move away. Stronger units move to engage the enemy. This can become seriously complicated, but I have seen the principle implemented in games.
--Consider making the non-player-randomly-moving units belong to a player: they will instantly become intelligent.
--Mark all units with a 1-6. Roll 2 dice. The red die says which units move. Say if you roll 2 all units marked "2" move. (Or make them different colours, that would be easier) The white die says in which direction: 1 is N, 2 NE, 3 SE, 3 S etc around the hex tile. This may work for a game simulating the movement of bacteria in a primordial soup but would be stupid for a battle simulation.

OK, thoughts now ran out.

bielie

bielie
Offline
Joined: 11/05/2009
boids algorithm

http://www.red3d.com/cwr/boids/

Boid's algorithm simulates intelligent crowd behaviors with very simple rules. See my point #2 above

your sequence of events could perhaps be like this
1)Player units move
2)All player units in grid spaces adjacent to enemy units roll for discovery.
3)Enemy movement
-a)Units adjacent to discovered player units roll for morale (based on the strength difference).
-Units that fail morale move
--i)if they are adjacent to other enemy units, they combine with them.
--ii)if they are not adjacent to other units they move away from the player unit.
-Units that do not fail morale attack the player unit
-b)Units not adjacent to discovered player units
--i)if they are stronger than the player units they move towards the player units
--ii)If they are weaker than the player units they move towards their closest allied units.

Something like this could only work if you do not have too many chits on the board

dbaker84
Offline
Joined: 11/17/2009
Thoughts

It is a modern day survival themed game.

I've been tinkering with this for a few days and have come upon a solution that so far seems to work fairly well.

Instead of marking zones on the board, I decided to mark the units themselves. I chose 3 unit types that correspond to 3 different colors on a d6 (2 sides of each color). I used the hex grid, since the 6 directions match nicely with a d6. The structure I've used to move things around is this:

1. Roll colored die to select which units move
2. Roll directional die to select direction
3. Move unit markers to their new locations
if moved into...
a. empty space - piece is done for this turn
b. space occupied by other enemy units - unit that just moved goes on top of whatever stack is there
i. if the new stack is less than 6 tall, movement is done and this stack remains as its own unit.
ii. if the new stack is 6+ tall, it is "exploded" meaning distributed to the surrounding hexes. Any remainders from this (if the stack is 7+ tall) remain in the current space.
c. space occupied by a player - combat
4. Player turn

I have a few more things that I need to work on now, and would love input. The first is the detection roll. Players will have rudimentary statistics, set to a 1-6 scale. There will also be a basic item system. From this there will be differences in players' detection rolls. A players turn consists of two parts, a movement and an action. They have the option of doing both parts, and in whatever order they decide. I'm planning on having them roll detection once per location, per turn. For example, if they choose to move, once they arrive in the new space they must roll detection. If they choose to action in this same space, they have already rolled detection and don't have to do it again. If they choose to action first then move, they must roll in the first location (action), then roll again when they move into the new space. The next turn if they action in that space before moving, they will have to roll again. I'm open to variations on any of this; the idea being that they want to be conservative in how they move and act... moving and acting through heavily populated territory could be dangerous and/or painful.

The second thing is enemy population growth. There are two options that I can see. The first is to have random sets of spawn points that occasionally create new enemies. These could be coded like the units so there would be a die roll to see which, if any, points spawn new units. The other option is to populate based upon existing units. A die could be rolled to see which, if any, units were eligible for an growth. A second die could be rolled to determine the eligible size for a new unit to be added to the stack (it could be an over or under, depending on which stacks we wanted to grow).

Thanks again for the fantastic input :)

bielie
Offline
Joined: 11/05/2009
Zombies?

You mean a Zombie game!

Excellent! Zombies are expected to move haphazardly, so your mechanic would complement the theme very well.

Gogolski
Gogolski's picture
Offline
Joined: 07/28/2008
dbaker84 wrote:... I decided

dbaker84 wrote:
...
I decided to mark the units themselves. I chose 3 unit types that correspond to 3 different colors on a d6 (2 sides of each color)
...
b. space occupied by other enemy units - unit that just moved goes on top of whatever stack is there
i. if the new stack is less than 6 tall, movement is done and this stack remains as its own unit.
ii. if the new stack is 6+ tall, it is "exploded" meaning distributed to the surrounding hexes. Any remainders from this (if the stack is 7+ tall) remain in the current space.

If the units are in a stack, only look at the top unit to see if the whole stack moves (even if the rest of the stack are units that don't move this turn).

Start with the highest stacks on the board, if they explode after moving, the may cause lower stacks on the board to remain where they are (as they now have a new top unit that is not the unit that moves this turn)

Cheese!

Nix_
Nix_'s picture
Offline
Joined: 09/23/2009
Just a warning. Moving the

Just a warning. Moving the enemy population and rolling for detection every turn will really slow down your game, which often times can suck the excitement and fun right out of a game. I hope you can make it work.

Kirioni
Offline
Joined: 09/20/2009
Cloaking :)

Nix comment made me think of a mechanic I have seen, and used. Similar to the health stat in Shadows Over Camelot, where each player's health is recorded on a die, perhaps each player can have a cloaking die, that either counts down, ie last only so many turns/encounters or like the health it is adjusted by successes and failures. Once it is gone it needs to be recharged. (i.e. counts back up to full and can re-engage) I could see this adding spice to the game, times a player can be bold moving around the board, but always thinking... where do I want to be when this runs out...?

As for enemy movement, two dice.. one with terrain type (color which are randomly scattered, ala settlers) and another with direction (as people stated above) Zombies!!! :)

I love the idea of explosions, has a Pandemic feel, and as tiles get full could cause some massive infestation chains, resulting in cloaking failing ahead of schedule, as zombies bounce off them.

dbaker84
Offline
Joined: 11/17/2009
Yes, it is a zombie game

Yes, it is a zombie game >_>

I am trying to make upkeep as efficient as possible; I want a good balance of dynamic movement without making it an exercise in accounting. The detection roll will only be once per person, per turn. I do like the cloaking idea; characters can collect items/skills... the ability to have some type of cloaking counter would be very cool.

Just out of curiosity, how long do you guys feel is a good length for a 4 person game in this style? I've been designing with the two-hour mark in mind.

Xanetia
Offline
Joined: 11/24/2009
To reduce upkeep time, you

To reduce upkeep time, you could use a hidden board mechanism. So the players can see a multiple of their move distance away, when tiles are revealed like this depending on some system more zombies may/may not spawn in these new areas. Same with hiding as the areas go out of vision, the zombies are "removed" from play - with the excuse if you can't see that zombie casing you anymore then, it most likely will give up as it can't see you either.

So all that changes from your current play order is a step after player turn, call it detection or something.

Sounds like a good game, two hours would probably sound right - the game sounds like a specialised tabletop wargame and the generally last a few hours.

Markus Hagenauer
Offline
Joined: 12/04/2009
One roll less

Why not just dice onec for detection and for the selection of zombies that move.
If the player dice the colour of his character, he is detected, otherwies all zbmies on a filed of the diced colour move.

Two hours seems very long. But if it is not to much luck based, and it is not possible to be eliminated in the early game, so you can just watch the remaining players for more than an hour, it can work.

Xanetia
Offline
Joined: 11/24/2009
On being eliminated you could

On being eliminated you could give control of the zombies to the dead player in some way, then everyone is involved right to the end of the game, and it gets harder for the remaining non-zombies to stay alive.

Syndicate content


forum | by Dr. Radut