Procedurally Generating Nova Weapons
TL;DR: The Tech Generator is now capable of generating Nova-style weapons, and I am in the process of adding specifications for them.
Nova Features Complete!
At the time of last month's post, I was setting up the Tech Generator to produce weapons in the style of different EVx games, and adding the features necessary for each game as I went. At that time I was adding features to support submunitions, as several Ares weapons require them.
As I write, the submunitions system is working, the Tech Generator is correctly producing Ares-style weapons, and I've also added all features necessary to produce Nova-style weapons! Nova requires a number of features not seen in previous EVx games, so it's been a lot of work, but everything seems to be working smoothly and correctly so far. :)
Now that the features are in place, I'm in the process of adding definitions to actually generate Nova weapons. It's currently producing Blasters, Fusion Pulse weapons, Chainguns, Railguns, and basic Missiles. These weapons all have some established patterns within the Nova scenario, so they were a comparatively easy starting point; many of Nova's other weapons are one-of-a-kind, so it'll be a bit more challenging to create novel patterns for them.
I'm looking forward to creating new types of Ion Cannons... 😈
Burst Fire is Complicated
The most complex feature to implement was Burst Fire– in Nova, some weapons (such as the Chainguns) fire several shots in rapid succession, then pause for a moment before firing again.
On the surface, it's simple, but it requires the Tech Generator to procedurally define all of the following in a balance-conscious way, while giving the user maximum flexibility to guide it:
- how much damage the weapon should deal
- how many shots the weapon can fire before pausing
- how rapidly the weapon should fire before pausing
- how long the weapon should pause
- whether each shot uses ammunition, versus using ammunition for each burst
- how much ammunition you can store
- how large that ammunition is
These values, guided by the user's preferences, have to be coordinated to obtain the correct user-defined Damage-Per-Second and Damage-Per-Ton for the weapon. In some cases, one of these balance targets may be unattainable – for example, if the user specifies low damage values and a long pause time that make it impossible to attain the desired Damage Per Second – in which case the user should have control over whether and how the weapon can be adjusted to attain those targets.
It took a bit of time to figure it all out, but it's working now. :)
This thing was harder to implement than I expected, but it resulted in a lot of good learning!
Overall Tech Generator Status
Here is a rough outline of the stages/milestones the Tech Generator will need to go through:
🟢 Generate EVO-Style Weaponry: I had to figure out how to do this as I was building it.
🟢 Generate Weaponry Per User Specifications: Now it can produce a TC's weapons! Sort of.
🟢 Streamline & Improve Flexibility: Giving the user more power.
🟢 Generate Frozen Heart/EVC-Style Weaponry: A few updates for some unique FH designs.
🟢 Generate Ares-Style Weaponry: The biggest development here was adding submunitions.
🟡 Generate EVN-Style Weaponry: All Nova features are in place and I'm adding weapons now.
🟡 Generate Outfits: Many EVN Weapons actually are Outfits also, so I've done a lot of work here.
⚪ Generate MtG-Inspired Weaponry: One big thing will be weapons with alternate firing modes.
⚪ Add a "Specials" System:
Inspired by classic RPGs, this would be a system whereby the player can
find modified or upgraded copies of a given weapon type – for example,
discovering a one-of-a-kind customized Blaze Cannon that deals extra
damage with each shot.
⚪ Streamline, Reflect, Miscellaneous Updates, add Documentation, Etc: Basically the nuts & bolts of making it a fully-developed, user friendly, helpful tool.
Comments
Post a Comment