Basic half-guard concepts from the bottom:
1) Always Always Always try and get the underhook on the same side as the opponent's trapped leg. If opponent has already gained this. Bump up to create space and snake your arm through... this control is important. There are sweeps you can do without it but they are generally more difficult to pull off.
2) Always Always Always block and prevent opponent from controlling your head and neck. If opponent has already gained control of your head and flattened you out. Slowly climb your hand to your face and make a sweeping motion (like you're brushing back your hair) as you hip out. Once you've his control off your head/face, block his arm to prevent him from re-establishing it.
3) Generally you should be lying on your side and not your back (much stronger position + more leverage for sweeps).
The following series is the half-guard game that I play. I find that this series works well for me and my body type.
1) Try to hip out and take the back (if you have properly established underhook on same side as trapped leg).
2) If the guy blocks the attempt by putting his weight into you, you can now sweep him in the direction that he's leaning. Simply grab his free leg with the arm that's not underhooking him and bump and roll in that direction as you switch your underhooking arm to control his arm on that side (to prevent him from posting it).
3) If the guy has established underhook control on you and you can't underhook him. I switch my half guard so that the outer leg keeps control of the trapped leg. This leg pulls the trapped leg so the guy is stretched out. I place my other leg between his legs for support. I grab his free leg with my other arm. I then bump when he's stretched out and roll him over. (very similar sweep to #2).
4) If the guy blocks your attempt to take his back by posturing up or leaning back. I first try to transition to a basic butterfly guard sweep by taking the leg that's already in between his legs and placing it as a hook on his far leg. I then proceed to attempt a basic butterfly guard (hook) sweep and play the butterfly guard game.
5) Alternatively, if the guy blocks your attempt to take his back by posturing up or leaning back. I may attempt to grab his free ankle (if it is close enough). I then hip out for leverage, plant my elbow on the ground for base, and sit up while pulling the foot towards me... thereby sweeping him (basically Eddie Bravo's old school sweep).
6) If sweep # 5 fails, it is because his free leg is too far away. If this is the case then there is nothing blocking you from recovering full guard. As such, I usually transition to full guard if I fail to get #5.
7) An alternative sweep that I like is to hip out, unhook my outer leg. Use my outer leg as a hook on his trapped leg (establishing quarter guard). I use my arm (that's not underhooking him) to grab his free leg at the knee. I then kick up with the hook, sit up, while pulling on his knee. It is important that you keep control of the trapped leg with your inner leg to prevent him from passing your half guard when you try this sweep. I find this sweep very effective on wrestlers who try to post their trapped leg up.
That's basically the half-guard game that I play. I also attempt a kimura from time to time but basically I do what I've written above. Good luck and have fun playing half-guard.