So our main focus right now is on a First Person Shooter, an arena-based game where you would fight waves of enemies (in a couple different gametypes). The way that we are approaching it is by tackling the specific systems (such as the functionality of the weapons) and building them in a reusable and flexible way. Our secondary goal is to develop each of these parts of our game into standalone releases to help other people who want to make similar games, a good way to get our brand out and to force us to approach systems in the most efficient way possible (since for someone unfamiliar to the system anything that isn’t well implemented or explained would be difficult to understand).
The first system that we are building is the weapons; making an easy way to add weapons into an FPS. Some of it is originally based on the FPS Tutorial from the Unity team (Which I don’t believe is still up), but it’s been expanded and rewritten so much that it probably wouldn’t be recognized. We have three weapon types: guns, launchers, and lasers(sustained fire weapons). We figured that between those three you could make just about any weapon. The weapons can be modified quite a bit: they can have scopes, Ironsights aiming, secondary fires/attachments, and more which I don’t feel like listing.
My favorite thing about this particular system has got to be how simple it is to implement a weapon : There are only about three scripts necessary and the weapon can be as simple (all it does is point and shoot) or as complicated (has an ACOG sight, underslung secondary grenade launcher, fires in bursts, kickback moves camera, etc) as it has to be, and because of the magic of custom editors the only variables that show up are the ones that you need for the type of weapon you’re making.