You have a few different options in ZvZ during the early game. You can opt for a fast expansion, which is a little bit risky if your opponent tries an early pool and a ling flood but it’s not necessarily a build order loss even in that case. You can also try an early attack yourself with an immediate gas pool build. Or you can opt for something in the middle and go with a fourteen pool or even get the overlord and then the pool at fourteen drones. You can even try for something really greedy and opt for a hatch – pool – hatch build where you go up to three bases immediately and pray that your opponent didn’t do a twelve pool. This build is particularly popular on maps like Acolyte which do have such an easy time of defending all three bases.
Generally whatever you and your opponent choose to do there is going to be some early game speedling and baneling action with the aggressor being determined by who made the earlier pool. When you are microing these units you want to make sure to save your baneling hits for the juiciest clumps of lings and right click move away if your bane is going to detonate on just a single ling. Send one or two lings to focus fire down a baneling and use large groups of lings to take on the one or two lings that are trying to pick off your banes. You have to be very careful when going up ramps because often a few surprise banes will be waiting for you and the next thing you know all your lings will be dead. When attacking your opponent’s base make sure you do not waste any banes hitting your opponent’s queens. Banes have excellent splash damage and are really designed to take out a mass of zerglings or drones. Defensive banes can also be morphed in order to fend off an attacking group of ling/bane and you can also use carefully targetted banes to take out groups of other banelings. Make sure to use your queens to transfuse each other whenever possible to extend the utility of these units as well as their ability to tank damage.
Deciding how many drones to make during the early game is a bit of a delicate balancing act. Too few and you risk having a smaller economy and being out produced later on and too many and risk losing the game immediately to an early attack. Make sure to scout actively in order to figure out whether your opponent is massing units or producing drones himself.
Midgame ZvZ is basically a massive roach war. If you can win the upgrade advantage then that is going to be great, and it is also very useful to morph some ravagers as well. Ravagers make excellent support units for roaches and do not require any additional tech. If you end up running out of vespean because you are making ravagers then feel free to complement your forces with some zerglings as well. The real advantage of the ravager addition to your composition is that the corrosive bile will force your opponent to either relocate the targeted troops, in which case your army is going to be more effective while parts of his are running away and then re-engaging, or to take massive amounts of splash damage from the bile, so it is really lose/lose for him.
If you can stay ahead on expansions and workers then you will have a stronger economy and be able to produce more units. You definitely don’t want to fall behind on expansions because not only will you not have the resources to compete you will be lacking in production facilities as well. Getting a lead on upgrades is also a huge advantage especially when it comes to these mass roach battles that characterize ZvZ. You are going to want double evo chambers in most situations so that you can at the very least stay competitive and it is important to time your attacks around your upgrades, so for example, if missile attack is just about to finish you should wait until it does before attacking.
Hydras can also make an interesting addition to your roach army because they do have longer range so if you put a few of them in the back then you will end up with a greater dps on a limited front engagement. Hydras don’t really have the muscle of roaches so you won’t want to make them your core unit but they do serve nicely as support, and are also quite useful if your opponent wants to do a muta switch. A muta switch can gain you the upper hand as you clear away your opponent’s overlords from the map and force your opponent to throw down spores and make a hydra force. Generally, you won’t want to commit to mutas but just make a few of them and go back into a ground-based army.
Lurkers are also very powerful in midgame ZvZ and are basically impossible to attack into, so they are great for defending a base but also for setting up a siege location on your opponent. Towards the late-midgame you can also tech up to infestors as their fungal growth is a powerful spell against zerg, doing both area of effect damage that is important in large-scale battles but also restricting your opponent’s mobility temporarily.
A lot of ZvZ matches are determined in the early game. This matchup is very much a knife fight where one wrong move and the next thing you know your base is being overrun. Late game ZvZ can be a lot of fun and adding in spellcasters like the infestor or even vipers to your army composition is natural when you do have such a large economy and so many units. Even hive tech like broodlords can come into play at this stage of the game, and you will want to get the adrenal upgrade for your zerglings in order to do some truly powerful zergling run-bys if you ever feel the need for a mineral dump. When you do have two maxed out armies choosing the right engagement is critical and you will want to try to get a nice concave with your ranged units to maximize their effectiveness.