For a while now I’ve wanted to try my hand at creating something similar to the old DOS “Capture the flag” game by Carr Software. I remember only playing the shareware version. I feel like I did some workaround to play edited maps, but maybe I just watched CPU players play? At any rate, as I wrote this I actually bought a copy through a little sale he has going on, for 5 DOS Games. Last time I checked, I seem to remember it requiring mailing a cheque and stuff- but you can do it through paypal right now.
I’ve always liked how The Capture the Flag game worked. I suspect it’s a central engine that is used for a few different games as some of the others he has available do look similar.
It’s a turn-based game where each player has what you might call “pieces” but are of course team members. They have specific numbers of action points to move on each turn, which is based on their stats. Your ability to see both terrain and other players is based on the vision capabilities of the players as well as the details of the terrain and even the stance of the other player. For example, an opponent may be able to hide in a dense tree tile by crouching successfully if you run by, but you might catch them if you use the “lookout” stance- but that also uses an action point.
I want to try my hand at implementing something similar, and then make it unplayable by adding way to much crap to it, as I do.
As per the title I’ve decided to basically call it “Capture the Flag”, but swap the words, making it Arrest The Insignia. It is already very popular, lots of people have been talking about ATI since the 80’s. (/s).
I’ve already implemented a simplified beginning engine for the map and visibility. Right now I seem to be bounded by the issue of visibility calculations, which seem particularly slow, so I may need to optimize it further. Of course there is still a lot of work to do on it to make it into something that could be a game- Right now it’s just a little dude I can move around a map, really. Next I’d like to shade out the grid squares that aren’t currently visible, a sort of fog of war if you will.
Ideally I’ll be able to make some interesting Random Map generation here as well, such that it could create something playable. I’m toying with perlin noise here which is of course infamous for it’s use in terrain gen. It’s being used to make the trees. The concrete blocks I have for testing completely blocked visibility.
For the trees what I did was actually generate the tile layer overlay dynamically. Basically the “engine” I made underlying this can have any number of arbitrary layers on a square. It draws the layers in order one over the other, then draws any entities on that square.
My “goal” of course is to have something that plays not unlike the DOS game that I’m trying to clone. But from there I would like to expand further. Perhaps you could find items like telescopes/binoculars, if you use them, you’re vision range is greatly increased- but you get a minimum distance so can’t see anything at all within some number of squares too, making your player vulnerable. Another obvious thing is some sort of stealth item that makes you invisible or harder to detect, though I can see that having balance issues; stuff like placable cameras that will keep particular areas “visible” at all times without a player are another interesting idea, etc.
I’ve designed it to separate the front end entirely from the actual engine, such that for example the front end doesn’t actually know what is in the black grid squares. Idea is I can create a second implementation of the interface being used and it could implement online multiplayer by connecting to a server in some manner.
Have something to say about this post? Comment!
