Hi all, I picked this game up a while ago and applied the build mod. You've done some great things here, but I wasn't quite satisfied with the gunnery. The cannon just seemed far too weak and short ranged in the game. And who's ever heard of naval cannon firing bombs? From what I've read, cannons could fire round shot at about the speed of sound and had enough range to begin an engagement at well over a mile away, even though they had little chance of hitting anything past 400 yards.
After searching these forums and looking through the code, I've managed to almost entirely remove bombs from my game. After that, it only took me a liittle more research to find and implement more realistic cannon muzzle velocities and fire arcs. It was surprising, but the game plays remarkably well with cannons that can fire over a mile at 5 degrees elevation. I didn't even have to do too much fiddling with dispersion values; hitting a small ship past 200 yards is nearly impossible if the seas are in the least bit rough.
There are a lot of things I can't do, though. I have a basic knoledge of C/C++ (a required `one-semester` course in technical computing...), so I can read and understand most of the code, but I don't really know where to get started on adding stuff. Basically, I want to add ricochets and `ammo-based` inaccuracy, but I have no idea how to start.
It seems as if it might be possible to simulate ricochet by creating a new cannonball with Ball_WaterHitEvent() in AIBalls.c if a few conditions are met, but I don't know what any of the calls are. It would need to know the velocity of the cannonball and some value for the roughness of the seas. It would be pretty straightforward, but is there any provision for creating a new cannonball?
It likewise seems possible to add a switch to do different dispersion calculations for each ammo type, but I don't know how to do this either. This isn't quite as vital, but it seems easy enough to add.
A couple of questions too, if I might: how complex are the shot physics? Is air resistance applied to the rounds? If so, does damage vary based on velocity? If not, is there any way to fix this?
This is all more suggestion than anything, but I felt like showing at least a little bit of initiative. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="
" border="0" alt="smile.gif" />
After searching these forums and looking through the code, I've managed to almost entirely remove bombs from my game. After that, it only took me a liittle more research to find and implement more realistic cannon muzzle velocities and fire arcs. It was surprising, but the game plays remarkably well with cannons that can fire over a mile at 5 degrees elevation. I didn't even have to do too much fiddling with dispersion values; hitting a small ship past 200 yards is nearly impossible if the seas are in the least bit rough.
There are a lot of things I can't do, though. I have a basic knoledge of C/C++ (a required `one-semester` course in technical computing...), so I can read and understand most of the code, but I don't really know where to get started on adding stuff. Basically, I want to add ricochets and `ammo-based` inaccuracy, but I have no idea how to start.
It seems as if it might be possible to simulate ricochet by creating a new cannonball with Ball_WaterHitEvent() in AIBalls.c if a few conditions are met, but I don't know what any of the calls are. It would need to know the velocity of the cannonball and some value for the roughness of the seas. It would be pretty straightforward, but is there any provision for creating a new cannonball?
It likewise seems possible to add a switch to do different dispersion calculations for each ammo type, but I don't know how to do this either. This isn't quite as vital, but it seems easy enough to add.
A couple of questions too, if I might: how complex are the shot physics? Is air resistance applied to the rounds? If so, does damage vary based on velocity? If not, is there any way to fix this?
This is all more suggestion than anything, but I felt like showing at least a little bit of initiative. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid="
