One of my biggest things about space sci-fi is the way "battles" are portrayed. The physics behind having an actual battle between ships in space makes it difficult and impractical at best and nearly impossible at worst, unless you manage to completely cancel the effects of gravity. First of all, at any point in space, you WILL be moving. This is the basis of orbital mechanics. Unless you'd like to be constantly accelerating towards something many hundreds of times more masseous than you are. No matter where you are, gravity will be present, therefore you will always be orbiting something. Now, one could theoretically circumvent this by having a battle at an extremely far orbit, maybe the farthest possible orbit. In the case of the Earth, this would be somewhere in the neighborhood of about 1.5 million kilometers. This distance would give one an orbital velocity of about half a kilometer per second (for reference, the ISS orbits the Earth at roughly 350 kilometers and it's orbital velocity is about 7.7 kilometers per second). So, at 500 meters per second, a space battle might be feasible. Ideally, both ships would be moving in the same direction and have a similar orbital inclination, but if one ship's orbital velocity did reach 0, it wouldn't be disastrous. It would recover quickly enough to gain back an orbital trajectory. In theory, both ships could have zero velocity for the duration of their battle and probably have several hours before having to accelerate into an orbital trajectory. But let's say, by chance, you wanted to have a battle at low orbit (defined as <2000 kilometers above the Earth's surface). Both of your ships would have to be moving with almost identical orbital characteristics to even have a chance at shooting each other without completely missing every time, and there's not a lot of margin for error. If your orbital velocity gets higher, that won't be a big deal. If your orbital velocity drops, well, you're gonna have a problem, and you won't have a lot of time to fix it. If your orbit gets too low, depending on the size and thrust:mass ratio of your ship, the atmospheric drag will be too great for your ship to overcome, and you'll suddenly find yourself in a rapidly descending, probably permanently-stranded-on-a-planet (or completely doomed) vessel. Now let's talk about weapons. Explosives will almost never work well, simply because in the vacuum of space, there is no air to transfer either a shockwave or heat. Even nuclear weapons will be ineffective, unless they are detonated really close to a vessel (anywhere between one and five kilometers, depending on the yield of the weapon). A direct hit, or shaped explosives might do the trick, but I still wouldn't bet money on them being too effective, or efficient. Kinetic weapons would work fine, as long as you have big enough slugs of metal to puncture a ship's armor. With that, it really just depends on the difference between one ship's big-ass guns and the thickness of another ship's armor. The thicker the armor, the bigger the bullet you're going to need. Of course, you still need to worry about actually hitting the target. Remember how I talked about orbital velocities? Yeah, don't forget, you're still moving really freaking fast, and if you're smart, you're going to be taking evasive maneuvers. Getting a solid hit on another ship would be difficult without getting really close. You could possibly make guided missiles that instead of either exploding or fragmenting uses a mechanism in which it either delivers a slug or is effectively a self-propelled slug itself. That's about as far as I can get into actual weapons, since we haven't really yet perfected railguns and we don't have weaponized lasers or plasma bolts yet, or anything of that sort of thing.