Original Post
I want to implement a 1-handed / 2-handed system in my game for weapons. The game is a 3rd person perspective sandbox game, in the style of GTA3 and other games using that engine, populated by various zombies / monsters. What I have currently decided on: When they wield a single weapon (or a single 2 handed weapon) the LMB fires the weapon and the RMB causes the view to zoom. As the player fires, their cone of fire should increase, indicating by a change in size of the crosshair, which closes up again quite quickly. The higher the recoil of the weapon the wider the increase in cone of fire, per shot. What Im not sure of: As an extra gameplay element, I want the player to have to make a choice - if they decide to pack 2 Uzi's for example, they can pump out twice the lead, but there needs to be an advantage to using a single weapon. I've considered a few options. Firstly, I could give this an effect on accuracy. So with two weapons, twice the fire rate means twice the increase in cone of fire, and therefore twice the time before the cone of fire returns to normal. The second option I thought of seems to tie in well with the other controls. When they dual wield, I could have the RMB fire the second weapon, instead of zooming; in practical terms this means they cannot zoom when they dual wield. So again the tradeoff here is one of accuracy. Another option I considered is to prevent the player from sprinting when they dual wield. Against slower enemies this is a considerable problem; They wont be able to outrun an enemy when walking and may quickly become swamped. (I dont really like this option, since dual wielding generally means an increase in the pace of gameplay.) I've considered using the type of weapon the player has to decide their sprint speed, or their endurance. For example, if they decide to pack a light machine gun and fire it from the hip, they cant sprint for long, whereas if they pack a single pistol they can sprint indefinately. Any ideas are welcome.