Design concept: multiplayer, customizable, 2D shooter
I've been talking to a few of my friends about developing a relatively small action game, and I figured it might be a good idea to get all yall's feedback on the concept. Although the target audience is myself and my friends, it would always be nice for the finished product to be viable shareware. CONCEPT: The game (currently dubbed "Tanky-Tank") is a top-down, 2D shooter. Each player controls a single tank or similar vehicle in some sort of playing field, arena, or landscape, and the objective, like most action games, is to destroy all your enemies. In theory, the final product will include multiple game types (free-for-all, teams, capture-the-flag, etc...) and different maps on which to wage the battles. The game is primarily intended as a multiplay network game, though there might be a single-player-vs-bots mode for practice. The whole concept is that players get to design their own tanks from the ground up, including graphics and abilities. The graphics are all 2D, and rotations are done on hardware, which should make creating custom graphics a snap (a tank consists of a number of 64x64 or smaller bitmaps). Abilities (speed, firepower, etc...) would be based on a point system. A tank is logically divided into multiple "parts", such as chassis, turret, gun(s), maybe special ability or secondary weapons. This customization concept, while nice, still isn't particularly innovative or awesome. What I hope will make it really cool is how combat works in combination with the customization... Let's say that you kill an enemy tank. The enemy tank explodes, but in the process it "drops" a part of itself intact, say a turret or gun. You then have the option of moving over to the dropped piece, pressing a key, and picking it up, replacing your equivelent (turret for turret, gun for gun, etc...) with it. Through this process, you can upgrade your tank by using pieces looted from your enemies. (I call this process "frankensteining".) If you yourself get killed, you respawn as your own un-frankensteined tank. In theory, you can run around with a chassis designed by you, a turret designed by Bob, and a gun designed by Joe (just imagine the look on Joe's face when you kill him the weapon he himself designed). ISSUES (gameplay): There are of course a lot of issues with this model that need to be resolved. The point system, if balanced well enough, should prevent players from designed tanks that are too powerful, but allowing the players to create their own artwork is another beast entirely. One possible way that players could abuse the system is to create images with only transparent pixels, effectively rendering their tank invisible. One solution might be to require that a certain number of pixels be opaque. Obviously I can't stop anyone from creating crappy of innapropriate artwork, but I hope that most players would take pride in what they create and try to do a good job. (on the plus side, this system takes a lot of the content-creation lode off my back and lets me concentrate on programming) ISSUES (technical): Another big problem is technical in nature, in that all custom artwork needs to be seamlessly transmitted to all other players. I calculated that on the very high end the graphics for a tank could take up as much as a megabyte uncompressed (there would have to be a lot of multi-frame animations for it to get that big), which means graphics transmission could take a few seconds per tank per player over a 10 mbps network. Ideally, I would like players to be able to join a match late, which means that I can't simply do all graphics transmission at startup and forget about it afterwards. I'm currently considering a system where graphics are streamed in as fast as possible, but at a lower priority than gameplay message so that it doesn't get too laggy. Perhaps the graphics detail could be gradually increased as more data is recieved, much like images downloaded from webpages. STATUS: I'm currently working on a prototype to get the networking components working great before work on the more innovative stuff (see above) begins. The game as it is right now plays great -- the controls (keyboard for movement, mouse for aiming/firing) work great and are very responsive. The other players' tanks move smoothly around the screen, and lag is very hard to detect. This was tested on my own 10 mbps home network with 3 players (one hosting, two clients). A stress test that included 100 bots being controlled by the server with one additional networked player worked flawlessly with similar performance, which I'm estimating would be roughly bandwidth-equivelent of having 8-10 players. (obviously it might fare very differently over an internet connection, but the primary target is for LAN games) The movement dynamic isn't very twitch-based, which keeps bandwidth usage low. Note that I have *not* tested out any of the customization elements, only the networking elements having to do with game action. FEEDBACK: Anywho, these are the basics, and I'm interested in any feedback people might have on them. Do you think it could work? If so, what do you like best about it? If not, then what don't you like about it? What other issues can you think of? There are a lot more minor details I've been thinking about, but these are the big ones. Again, thanks for any feedback! - Fuzz [Edited by - Holy Fuzz on July 21, 2005 1:13:49 PM]
I can't imagine there would be much lag on something like that AT ALL, either on a LAN or on-line. The graphics sound more like original atari level tank combat and the like. Which I think is excellent for twitch tactical on-line play. Pare down the graphics load and put everything into gameplay. There are a lot of game designers that could use that advice. Players only expect killer graphics because they have been conditioned to. Personally, I'll take lag-free edge-of-your-seat gameplay over flashy graphics any day.
What are the specifics of the combat? Multiple weapon types? Minimap? Radar? Radar guided weapons? Guided weapons at all? Shielding? Are there a variety of movement speeds or types? Barrier penetration by weapons?
What are the specifics of the combat? Multiple weapon types? Minimap? Radar? Radar guided weapons? Guided weapons at all? Shielding? Are there a variety of movement speeds or types? Barrier penetration by weapons?
Quote:
ISSUES (gameplay): There are of course a lot of issues with this model that need to be resolved. The point system, if balanced well enough, should prevent players from designed tanks that are too powerful, but allowing the players to create their own artwork is another beast entirely. One possible way that players could abuse the system is to create images with only transparent pixels, effectively rendering their tank invisible. One solution might be to require that a certain number of pixels be opaque. Obviously I can't stop anyone from creating crappy of innapropriate artwork, but I hope that most players would take pride in what they create and try to do a good job. (on the plus side, this system takes a lot of the content-creation lode off my back and lets me concentrate on programming)
How about each transparent pixel costs points?
Effectively players could then have a "invisable" tank...but it won't have much (if any) armor, manuverability, weapons, etc...Makes for a simple built in balanceing factor.
My deviantART: http://msw.deviantart.com/
Sounds like a fun game. And the overall idea sounds feasible. Looks like you have a good project to work on.
Hey, thanks for the feedback!
I guess I'll just have to wait and see how hard of a hit it is. I don't really have any doubts about whether the system can work, just how much time it will take for me to get it to work.
I think that the low-tech graphics will work especially well for this game. The graphics are about as detailed as they need to be for the players to be creative with their artwork, but any more detail or flash would inhibit their ability to easily create their own custom tanks. The emphasis here is on the player's abilities to be artistic, not on their ability to take advantage of some fancy rendering system I've created.
The problem here is that having transparent pixels cost points encourages players to create tanks that are large squares, taking up every available pixel in order to reduce the cost of their tank, which in effect limits their ability to be creative with their artwork. Also, tanks will probably be adorned with health bars and/or other indicators floating beside them, making "transparent" tanks not nearly as useful. Probably a cleaner method would be to allow tanks to use some sort of cloaking device at a cost.
All that's still under a lot of scrutiny, and most of it will probably come down to what works best as the game is being playtested. That being said, here's what I'm currently looking at in terms of the specific parts and how they influence the abilities of a tank:
Chassis - HP, Speed (forward and reverse), Rate of Turn (when either moving or standing still), Armor (front, sides, rear), Armor Type (different weapons would be more/less effective against different armor types.)
Turret - HP, # of gun mounts (tripple-barreled tanks, yeah!), Rate of Fire
Guns (up to 3 or 4) - HP (maybe), Range, Speed, Rate of Fire, Firepower, Area of Effect, Projectile Type (fire-and-forget, heat-seeking, etc...), Warhead Type (more/less effective against different armor types.)
Special Abilities - dependent on the ability.
For calculating points, I'm considering the following formulas, which will undoubtedly change as the game is balanced:
cost(chassis) = HP + (speed_forward + speed_reverse + ROT_moving + ROT_standing) * (armor_front + armor_sides + armor_rear) * cost(armor_type)
cost(turret) = HP + #gun_mounts * ROF
cost(gun) = HP + (range * speed + ROF * firepower * cost(warhead_type)) * cost(projectile_type)
cost(tank) = cost(chassis) + cost(turret) + sum(cost(guns[0...n])) + sum(cost(abilities[0...n]))
The logic determining if/what part drops when a tank is destroyed is still under a lot of scrutiny, but currently I'm most fond of each part having an individual chance to drop depending on its value in points, meaning that the higher the value of the part, the more likely it is to drop. This means that a destroyed tank can drop more than one part, and bigger/better tanks will likely drop a few parts, which will hopefully make weaker players willing to gang up on the stronger players. I'm not sure if this system will work better than having better parts drop *less* frequently or giving all parts an equal chance to drop. Another possibility is that the stronger the tank as a whole, the more likely it will be for more than one part to drop.
POSSIBLE FEATURES:
Radar could influence whether you can see enemy tanks that would otherwise be hidden, and/or it could also determine how far out you can zoom the camera (which follows your tank as it moves), since zooming the camera out effectively gives you a greater sight range.
Probably a minimap. I don't see why not.
Powerups could exist depending on the map and game type. They might spawn randomly, they might come out of destroyed strategic targets, or might drop from destroyed tanks. I'm especially fond of powerups that are easily visualized within game, and possibly have other side effects other than just increasing your power. For example, a health powerup might increase the actually size of your tank by 50%, giving you 50% more HP, but making you easier to hit. Powerups like these with drawbacks would not be automatically collected when you drive over them - the player would have to hit a key to collect one.
Possibly different types of locomotion. For example wheeled vehicles would be faster and more maneuverable than treaded vehicles, but wouldn't work nearly as well on muddy, rocky areas.
Destructable objects on the terrain, such as trees, houses, etc... Yes, there could be warhead or projectile types that allow a weapon to penetrate through certain destructable objects.
Of these possible features, destructable terrain objects are almost a certainty (though penetrating warheads are unlikely, at least until very late stages of development). Powerups and a minimap are also very likely. Radar and different types of locomotion strike me as bringing less to the core gameplay than the other features, and so are also unlikely to be implemented until very late in development, if at all.
---
Again, thanks for the feedback! Much appreciated.
- Fuzz
Quote:
I can't imagine there would be much lag on something like that AT ALL, either on a LAN or on-line.
I guess I'll just have to wait and see how hard of a hit it is. I don't really have any doubts about whether the system can work, just how much time it will take for me to get it to work.
Quote:
The graphics sound more like original atari level tank combat and the like. Which I think is excellent for twitch tactical on-line play. Pare down the graphics load and put everything into gameplay. There are a lot of game designers that could use that advice. Players only expect killer graphics because they have been conditioned to. Personally, I'll take lag-free edge-of-your-seat gameplay over flashy graphics any day.
I think that the low-tech graphics will work especially well for this game. The graphics are about as detailed as they need to be for the players to be creative with their artwork, but any more detail or flash would inhibit their ability to easily create their own custom tanks. The emphasis here is on the player's abilities to be artistic, not on their ability to take advantage of some fancy rendering system I've created.
Quote:
How about each transparent pixel costs points?
Effectively players could then have a "invisable" tank...but it won't have much (if any) armor, manuverability, weapons, etc...Makes for a simple built in balanceing factor.
The problem here is that having transparent pixels cost points encourages players to create tanks that are large squares, taking up every available pixel in order to reduce the cost of their tank, which in effect limits their ability to be creative with their artwork. Also, tanks will probably be adorned with health bars and/or other indicators floating beside them, making "transparent" tanks not nearly as useful. Probably a cleaner method would be to allow tanks to use some sort of cloaking device at a cost.
Quote:
What are the specifics of the combat? Multiple weapon types? Minimap? Radar? Radar guided weapons? Guided weapons at all? Shielding? Are there a variety of movement speeds or types? Barrier penetration by weapons?
All that's still under a lot of scrutiny, and most of it will probably come down to what works best as the game is being playtested. That being said, here's what I'm currently looking at in terms of the specific parts and how they influence the abilities of a tank:
Chassis - HP, Speed (forward and reverse), Rate of Turn (when either moving or standing still), Armor (front, sides, rear), Armor Type (different weapons would be more/less effective against different armor types.)
Turret - HP, # of gun mounts (tripple-barreled tanks, yeah!), Rate of Fire
Guns (up to 3 or 4) - HP (maybe), Range, Speed, Rate of Fire, Firepower, Area of Effect, Projectile Type (fire-and-forget, heat-seeking, etc...), Warhead Type (more/less effective against different armor types.)
Special Abilities - dependent on the ability.
For calculating points, I'm considering the following formulas, which will undoubtedly change as the game is balanced:
cost(chassis) = HP + (speed_forward + speed_reverse + ROT_moving + ROT_standing) * (armor_front + armor_sides + armor_rear) * cost(armor_type)
cost(turret) = HP + #gun_mounts * ROF
cost(gun) = HP + (range * speed + ROF * firepower * cost(warhead_type)) * cost(projectile_type)
cost(tank) = cost(chassis) + cost(turret) + sum(cost(guns[0...n])) + sum(cost(abilities[0...n]))
The logic determining if/what part drops when a tank is destroyed is still under a lot of scrutiny, but currently I'm most fond of each part having an individual chance to drop depending on its value in points, meaning that the higher the value of the part, the more likely it is to drop. This means that a destroyed tank can drop more than one part, and bigger/better tanks will likely drop a few parts, which will hopefully make weaker players willing to gang up on the stronger players. I'm not sure if this system will work better than having better parts drop *less* frequently or giving all parts an equal chance to drop. Another possibility is that the stronger the tank as a whole, the more likely it will be for more than one part to drop.
POSSIBLE FEATURES:
Radar could influence whether you can see enemy tanks that would otherwise be hidden, and/or it could also determine how far out you can zoom the camera (which follows your tank as it moves), since zooming the camera out effectively gives you a greater sight range.
Probably a minimap. I don't see why not.
Powerups could exist depending on the map and game type. They might spawn randomly, they might come out of destroyed strategic targets, or might drop from destroyed tanks. I'm especially fond of powerups that are easily visualized within game, and possibly have other side effects other than just increasing your power. For example, a health powerup might increase the actually size of your tank by 50%, giving you 50% more HP, but making you easier to hit. Powerups like these with drawbacks would not be automatically collected when you drive over them - the player would have to hit a key to collect one.
Possibly different types of locomotion. For example wheeled vehicles would be faster and more maneuverable than treaded vehicles, but wouldn't work nearly as well on muddy, rocky areas.
Destructable objects on the terrain, such as trees, houses, etc... Yes, there could be warhead or projectile types that allow a weapon to penetrate through certain destructable objects.
Of these possible features, destructable terrain objects are almost a certainty (though penetrating warheads are unlikely, at least until very late stages of development). Powerups and a minimap are also very likely. Radar and different types of locomotion strike me as bringing less to the core gameplay than the other features, and so are also unlikely to be implemented until very late in development, if at all.
---
Again, thanks for the feedback! Much appreciated.
- Fuzz
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement