The first week after I made the Gauntlet announcement post was a bit of a mess and I didn’t have a lot of time for Scraps work. It was getting near time for an update post and I was left wondering what I could make the next one about. What could I do in a couple of days or so? I didn’t really want to do another small Gauntlet mode work post because that’s all I’ve been doing for a while.
So my decision was, you know what, it’s time to take a short break from the new game mode work and put something new in the game, for the players.
I looked through my figurative bag of potential parts to add and the Plasmanator came out.
http://www.scrapsgame.com/wp-content/uploads/2016/07/plasmanator1.jpg
Changelog for v0.5.5.0
– Added Plasmanator weapon
– Replaced uLink closed-source version with uLink source code
– Reduced network bandwidth use a little
Plasmanator facts
- Area effect weapon like super a Plasma Artillery.
- Charges up. Holding down the Fire button charges it, and releasing actually fires it.
- Drains lots of power while charging, and some power while sitting at full charge.
- White smoke and a change in audio indicate full charge.
- More charge = more damage and force on hit.
- Unlocks at 4700XP.
More charge also used to mean a faster bullet, which was nice conceptually but made it horrible to aim because you could never really get a feel for it unless you always waited for full charge. So the firing force is constant, but the hit force does increase with charge. There are bigger bullet and hit FX for the weapon for bigger charges.
http://www.scrapsgame.com/wp-content/uploads/2016/07/plasmanator2.jpg
http://www.scrapsgame.com/wp-content/uploads/2016/07/plasmanator3.jpg
I wasn’t sure how a charged weapon should handle the “R” key aiming mode where weapons only fire if they’re aiming inside the circle area. It’s just not a great weapon to use in that mode really – and you can of course turn it off. Currently it works the same as any other weapon, which means that the firing state cannot be active for it when it aims outside the circle. Since it charges while “firing”, it will charge while inside the circle if you’re holding fire, but if it goes outside the circle while being charged it’ll fire off a shot since the “firing” state is turning off.
I also wasn’t sure how the AI should use it. Well, conceptually I was, but algorithmically… well, I wish I could just tell it to “behave like a human.” I’d given Dave an assignment to look at it sometime but then I ended up doing it myself today. Basically I told the AI that if it’s firing a charged weapon, it should release Fire momentarily to let off a shot IF:
- Its aiming is going off-target OR
- The weapon is fully charged OR
- Power levels are very low (which would suggest that it won’t be able to charge any higher)
What I sometimes find is that in my code I’ll go maybe a little overboard trying to find the perfect solution that covers every possible case, whereas Dave will code something super fast that’s simple and yet more often than not turns out to work fine. Sometimes it’ll need some tweaks and changes later, but usually the fact that it’s simple at first means it’s also easy to change. I feel like I might have managed a bit of a Dave-style solution here for once where I was worrying about how the AI was going to handle all these complex weapon scenarios, I ended up just adding a few simple rules, and actually it seems to do well enough to fool me that maybe the AI could even be somewhat intelligent.
Of course as always if you find any bugs with things, please report them.
This video was in my sneak preview update but here it is again. If you want to see something new with it, just load up the game – the Plasmanator is in the game right now!
P.S. Take note of where your shots hit. If you don’t seem to be doing much damage, you may be hitting in front of the enemy instead of directly on them. The bullets drop fairly fast so aiming a little above the target is key.