lamekupo wrote:I'm glad we all agreed on the push/pull R scheme. Great minds think alike I suppose, heh.
I also agree that making necessary to hold R (for at least half a second) is important. Bolts have a certain "weight" to them that isn't negligible enough to simply flip open. As for having a R-only scheme, you could always save that for lever action or straight pull bolt action guns.
I wasn't aware that Receiver had damage though! Does that mean enemies have health? It'd be interesting if you could add an "armor" factor to enemies, so that certain guns would have more trouble with others than certain enemies. (e.g. .45 ACP is incredibly slow moving and large, so it pierces most things about as well as a butter knife.)
What would be really interesting is an enemy that is mobile (like the flying drones), but is slower and uses a gun (like the turrets). In essence, something that fights sort of the same way the player does. As the game currently is, I never really even need a second mag, and therefore I never even speed reload. I feel that with a mobile gun enemy, your firearm handling skill would really be tested. Right now, the most important skill in the game is mostly just good and quick aim, which is disappointing given the fact that the most interesting feature is the micromanagement.
Just speculation though. I'm not sure how feasible adding new enemies or modifying the existing ones is. I've been wanting to take a look myself, but I've never messed around with Unity before, and I'm sort of short on time in my current state.
But back on topic, how are you planning on handling the controls for inserting a stripper clip vs inserting single rounds?
Yeah, making you have to hold it makes more sense so I'm gonna try to write that, and I'll keep E to toggle the rotation for now. It does make more sense for just R for lever action guns/similar so yeah, I'll leave it.
I quickly went through the script and it doesn't seem like the robots have health, it's more like if you're able to hit a part that is vital to it operating then that part will be destroyed. When a bullet hits a robot, it adds some angular velocity and just calls a function with the part the bullet has hit and disables it, there is also a small chance of a lucky shot that disables it regardless of where you hit.
Basically like this:
Code: Select all
if(obj.name == "battery" && battery_alive){
battery_alive = false;
motor_alive = false;
camera_alive = false;
trigger_alive = false;
And creates that impact spark, etc. It's certainly possible to add some sort of armor threshold, possibly having it degrade slightly every time it gets hit, but I'm gonna wait a little bit to try something like that. It turns out changing the muzzle velocities won't skew the damage crazily, it will pretty much just hit the robots harder.
I have actually been trying to implement the flying gun drone, it's simple to replace the taser instantiation with a bullet, but changing it's target position the way I want is difficult. I want it to hover within a radius and look at you rather than flying directly at you while spraying bullets, like it actually hits you if it's flying straight but it's pretty much like the shock drone just with a farther reach.
Then there's the mobile turret, the math for rotating the back wheel around to aim at the player would be a lot simpler, but it would need some sort of path-finding for that so it doesn't just drive into a wall. There's a crap ton of ideas I have that I want to work on but I think finishing what I have would be best, today I'm going to finish the Thompson so it operates properly and maybe try to get a stripper clip working.
For handling the stripper clip, I think it would work this way but I won't know until I try it - Basically have it act as a magazine. If you press insert while the bolt is open and there is no magazine in your hand, insert a round, but if there
is one in your hand, insert it like a magazine. Then if you press insert again, have a for loop constantly push rounds up out of the magazine and add them to the internal magazine at the same time. I think it would turn out great using a for loop, I can have a random number generated to break the loop, making it sometimes require more than one single push to get all the rounds inside. Then the bolt toggling function can simply check if there's a clip inserted to prevent it from moving until you take it out.