Tuesday, April 28, 2020

Fences

More work on the game today. I can't stress enough how much better the game is now, well it's far from perfect, but the 2004 version lacked so much, it seems. Today I've worked on a level which was another, rather linear, explode-targets type of mission. I couldn't really make this one less linear in map design, it's clear that the targets need to be in a specific place, so I needed to think of new of giving the player choices. Choice! Options! I want to give the player as many options as possible.

In the end I simplified the map, made all of the walls destroyable and added multiple ways of getting to and from the target, even some really easy ones, then tried to balance things so that all ways seem about equal. You can even walk right around the back and reach the target without seeing a single enemy, but you will need to find a way back to the start afterwards. I also shook this level up a bit by making your team small and heavily outnumbered; this mission is like the raid in The Guns of Navarone (although, actually, the mission is name Arachnophilia in homage to another film).

One issue I had yesterday was that I have a small chain-link fence object but enemies were walking on it, as though it were a small wall. Making these walls isn't as easy as you might imagine. I have blocks, and they have a height. If they are short enough, 1M in my case (my game uses real-world units) then soldiers can walk on top of them, and shoot over them, and see over them. If the bullets go below their height, they hit the block.

For stone walls this is simple, but actually seeing, walking and shooting through are different things. A window can be 2M high, not walkable through(!) yet you can see through it, and might be able to shoot through it (although in my game you can't). A door toggles between transparent and opaque (it's also odd that you can't close doors in Taskforce, I've got the capability in the code, just haven't added it). A chain-link fence might be 2M high and you can't walk over it, but can see through it AND can shoot through it. And a short, 1M high, fence might be seeable over and shootable over, but you can't really stand ON it... but you can in Taskforce. I have a flag for CAN-SEE-PAST, which can be switched on or off for doors, for example but height is one number that includes shoot-over ability and walk-over ability.

Perhaps I could have two heights. For most walls, the walk-height would be the same as the shoot-height, but for the fence, it could have a walk-height of 2M (so you can't walk over it) but a shoot height of 0 (so you can shoot through it), and it's flagged as CAN-SEE-PAST.

I could have a see-height too, but the height of eyes might differ... if you duck, you are lower (and, in fact, the game noticies this, you are able to shoot, or evade, enemies by ducking, though it's technically the height of the gun that changes, not the height of the eyes), but, actually, some units are short... must I store the height of the eyes to calculate the vision requirements for the tiny minority of diminutive enemies? It would allow you to crawl and sneak past low walls, for example, but actually, low walls are rare anyway. This complexity becomes inefficient at some point.

Even adding a separate shoot and walk height might be inefficient because a chain-link fence is just about the only object it would apply to, and also, would it be realistic to be able to throw a grenade through one? Not really.

So, I can either keep the fence short but allow people to walk on top of it like a tight-rope walker, or set it to 2M high and stop anyone firing over/through it (but they can still see past it).