Well, I haven't been coding much lately. The last real bit of code I wrote was a php script for getting information from a Minecraft server for use with a server I'm not hosting for friends. Before that it was a python script for my boss, over a month ago. Yeah, little has been done on getting my precious coding time in. Then I got this email: "Trefall started a new personal conversation with you."
At first it didn't seem like much. Coming back to it 9 days later I read the contents over again and it hit me: this is one of the programmers I look up to on Gamedev, sending me a PM because I used some of his code. Now, it wasn't a bad message. In fact, it was simply Trefall letting me know that he had updated his component engine and separated it into it's own code repository. This still meant a lot to me though, because it showed that Trefall came around and read enough of this blog to know I was using a modified version of his code and he approved of its usage. This made me realize I haven't been doing one of the things I enjoy doing most: coding games.
So I sat down tonight to rethink my game a bit. I had been writing a game engine for a 2D RPG but the engine wasn't exactly suited for the task, at least not yet. So what would be good utilization of the code then? I didn't feel like rewriting the code again.
An RTS. An RTS would be perfect utilization of the engine I have right now, and would give me enough usage to develop it further to a point where it could be quickly modified for usage in an RPG. I didn't want to build just any other RTS though, as there are plenty good ones out there (StarCraft 2. Go play it. Now.). No, I wanted to build something a little more personal.
You see, in most RTS games you play as this god-like existence leading your horde of countless minions to their slaughter. You hardly ever get any attachment to a single unit, as you spend too much time worrying about building the next unit in order to be able to compete with the onslaught heading your way from Player 3. Some of you more advanced players have this magical ability called "microing," and what lucky bastards you are. Microing is the ability to be able to multitask fast enough to control multiple buildings/units in a very short time frame, being able to quickly switch back and forth between them and utilizing their special abilities to their maximum potential. I can't do that; I sit there doing attack-clicks hoping that my mass of stalkers is strong enough to prevail over the waves of marauders hurling grenades at them. I'll give you a hint at the outcome here: not good for me.
Ah, I'm off subject a tad. I was talking about making things personal, right? In order to make the player more personal with the game, they need to feel some sort of an attachment to their character(s). They need to feel like losing one can drastically affect the outcome of a match. So what I plan to do with this is develop a game based on fewer units, both in number of types and the number of units onscreen. I'm currently thinking up units, trying to decide which ones are best and have come up with these options so far:
- Tank Buster - Stronger attack, heavy armor, slow speed, medium cost.
- Telepath - No attack, weak armor, normal speed, high cost. This unit uses a special ability that can convert one of the enemies' units to it's own for the duration of it's life per round.
- Foot Soldier - Normal attack, normal armor, normal speed, low cost.
- Assassin - Weak attack, weak armor, fast speed, low cost. This unit also benefits from a cloaking ability that lasts for a small duration of time (with cooldown).
The idea with these units would be that each player starts a game with a small amount of money that they can use to purchase an initial set of units. Upon purchasing these units, they can give them their own unique names. With a team of units, they can then start a game using a subset of the units they have, or all if they are limited in the number of units. Each player is allowed the same number of units per game, though the number may be different between games. Players will then have to use each units' strengths and weakness against the other team until one comes out the victor.
I thought about the concept a little more and played with the idea of stats as a personalization factor. Having a team of units with identical stats to everyone else's but different names doesn't exactly make you more in touch with them. You need a reason to keep coming back to one unit as your favorite, or maybe even two or three. Persistent stats are hard to implement properly in a match-based game though due to the advantage a seasoned player can have over a new player. In order to combat this, I would be either using stat adjustment on a fractional scale, or a system that allows you to adjust your units' stats both positively and negatively based on a cumulative point count.
I like the cumulative point count because it makes all units theoretically equal and leaves it up to each player to maximize their effectiveness but also makes it harder for me to find a way to reward players for winning. The fractional stat adjustment would handle this easily by auto adjusting every player's units' stats based on their performance and the stats of the opposing team, but at less of a noticeable gain.
And so, Gamedev, I leave the current stage of the design up to your ideas, comments and criticism. Where do you see this failing? How can I improve the design? Do you have any further unit ideas?
Please leave any feedback in the comments and thank you for taking the time to check out my blog.