Wow, lot to process there.
I have not taken on the role of balance maintainer. I have, however, pointed out areas where certain units simply don't make sense (the madsam and packo were good examples) and helped fix them (in this case the scripts were garbage).
Classic game design? First of all, if anything, I would move it more towards an OTA design. OTA was a shitload of fun, and BA implements some spring specific things that take some of that fun away. However in the broad sense, understand that if anything, I'm more of an OTA purist.
Repairing costs, that was a change that Floris agreed to in order to make nanoshielding actually cost something (15% energy), instead of the case simply being WHEE I HAVE TONS OF BUILDERS
+iwin <- google it.
Fighters firing at ground? I have done nothing with air. Talk to floris.
Build ranges... Christ, in order to build something, cons were having to hug whatever they were building. The problem is that super short build ranges results in a LOT of unnecessary con unit packing/unpacking and shifting movement as well as the probability that cons would get stuck on a building. On the flipside, too long of build range and all of a sudden nanoshielding is a very real issue. The new minimum range (200) solves both issues.
Wrecks blocking movement, Actually what you aren't understanding is that it only applies to map/wrecks that are 2x2 and below. Anything larger still blocks. The issue is that wrecks blocking movement is neat and cute until you have massive wreckfields that completely make t1 useless. t2 can just roll over the t1 wrecks (t1 units by and large are 2x2). But that's not the real reason for it, the real reason is that historically BA units move like shit. A lot of the time they would be accelerating or braking, never simply cruising at their max speed. As a result, not only does it make pathing gawdawful, it also make controlling units in areas like that awful as well. This essentially mitigated the issue altogether while still maintaining that larger wrecks would still block movement. It also helps people who play BA on a potato get far better performance.
Binds, BA's "binds" were simply a widget setting binds in uikeys. You can still use uikeys, nothing is stopping you, but an addition was added by commonplayer that allows for there to be dynamic hotkeys for building units and structures, and display those hotkeys directly on the buildpic. About that same time it was thought... HEY wouldn't it be neat if we could show costs too (which are toggleable btw, Talk to Floris)? The binds do not interfere in any way with your uikeys.txt
Friendly fire, this is a necessity, tbh. What you don't know is that in 9.46 battles are far more of a crapshoot than you could ever have imagined. Many units never get hit at all, other units have projectiles fly right through them. Sometimes you will think that the projectile hit due to aoe damage from the projectile hitting the ground, but that aoe isn't the full damage that should have been done to the unit that should have been hit. This is due to tiny hitboxes being added to each and every unit as a method to make some units work when stacked. In theory, neato. In practice, it's awful. Here is an example of the flash tank hitbox vs a proper hitsphere:
As a more practical example. This is why when you dgun things in 9.46, sometimes it simply doesn't hit, even though visually it seemed to impact the unit(s). There is even a thread on this forum complaining about it.
Furthermore, the gadget that intends to mitigate some of the issues makes them even worse, by taking these collision volumes and reducing them by about 20% (guesstimation). In order to fix collision volumes properly, friendly fire needs to be disabled. Put simply:
If units block each other's shots = collision volumes will be awful
If units don't block each other's shots = collision volumes will function the way they should
Unfortunately, realistically, the choice is binary.
Death sounds changes, This was done because BA used 3 explosion sounds for the deaths of all the units in the game, save for commanders and 1 or 2 buildings (nuke silo, etc). The death sounds gadget was written by flozi and it allows you to assign categories of explosions to various units. At the moment, all the units in BA currently have a library of about 20 explosion sounds for when a unit dies. The Commanders have about 5 different nuke explosion sounds that are used when they die. This ensures that the battlefield sounds far more dynamic than hearing the same explosion for every unit that dies.
Death explosions different, what you mean is that they are actually using spring's particle system (CEG). This is part of a larger point so I will address this further down the line. Suffice it to say that CEGs look better and use far less particles. For example, in 9.46 4 goliath tanks firing continuously, use about 5000 particles. This is insanity. Even worse, it will bring lesser graphics cards to their knees. BA has for years used the default engine explosions which overuse particles in the most wasteful of ways. There are times in a large battle in BA 9.46 over 20k particles will be in use. This is unacceptable, it is lazy, and it is shoddy. A huge battle should spike at around 6 maybe 7k, and normal battles should use around 1k, and those are the extremes. Ideally, far less than that should be in use at any given time.
All costs rounded, I had nothing to do with this. That was Floris wanting to make things pretty and it was a pain in the ass for him to do it all, so you're welcome.
All turn speeds and accelerations, Desperately needed. As I stated before, units in BA very rarely ever hit their maximum speed, they were always accelerating or braking, as a result, it has a huge impact on pathing. Proper turn speeds allow the units to respond properly to a player's input as opposed to waiting for a unit to eventually obey your order. That said, for a full 180 reversal of movement, the difference between 9.46 and latest BA is about 2 milliseconds.
Many AA units changed, I only fixed the scripts for the packo and madsam, Talk to Floris.
Energy generation changes, Huh? Talk to Floris, I know nothing about this. Talk to Floris?
Wind generators don’t chain, take a moment to think about how fucking stupid of a mechanic this is. Wind generators? You know why they were made to chain? Because the BA maintainer at the time didn't want people playing on greenfields, so in order to discourage it, windgens were made to chain. Pretty fucking stupid right? Regardless, I didn't have anything to do with it. Talk to Floris.
Missile and projectile speed changes, Talk to Floris.
Ok so I typed all of that up, now I am going to show you something. You know all of those changes you were talking about?
They are pretty much all put behind modoptions (that were initially disabled by default until Floris told me to make them the default).
https://github.com/Balanced-Annihilatio ... s_post.lua
The vast majority of what I have done is in Post.
if (modOptions.betterunitmovement ~= "disabled") then --Modoption
if (modOptions.firethroughfriendly ~= "disabled") then --Modoption
modOptions.fixedhitspheres ~= "disabled") then --Modoption
if Spring.GetModOptions().smallfeaturenoblock ~= "disabled" then --Modoption
As you can see, most of what I do that would effect gameplay in any tangible way is behind a modoption.
That means it can be toggled, by you, the mod itself, or the host.
----------------
What I've done in BA internals so far (that I can remember, it's a ton of cleanup so I'll probably forget some stuff):
Help BA move from SVN to GIT (thank fucking god).
BA was using resources.tdf. To any of the other real (I.E. Non *A) gamedevs here, you know what a cancer resources.tdf is. Anyway, implemented proper resources.lua and fixed the resulting buggy chaos from bad maintenance.
Implemented my generic CEG sets and implemented them in BA's units as well as the sprites. This was a massive chore that took about 3 entire days to accomplish. In the process I also cleaned up the death explosions clutter in BA. All of this was preliminary with the understanding that Floris was then going to go through and properly implement explosions and effects the way he wanted them to be. This resulted in a massive drop in particle waste, which now allows players computers not to be overwhelmed when a lot of action is happening.
Implemented deathsounds. While going through death explosions, I was startled to find that only about 3 explosion sounds were used for every single unit in BA. Implementing deathsounds required adding customparams to all of the unitdefs which was a monumental chore, but now Floris can have categories of sounds for when units die. For example he could have one sound set for kbots, another for vehicles, watery sounding ones for subs and ships, etc. All done very easily and within minutes as opposed to months.
Implemented CEG effects for unit pieces that fly off when a unit dies (this is why it looks so pretty when shit blows apart now (that and Floris implemented a really nice effect for it)).
Updated LUPS, BA's lups was ancient. I updated it and at the same tiem we also implemented lups nanos. Floris got a little carried away with particle usage on them, however ;p But nanas have since been switched back to the default engine one due to the fact that at any given time BA has hundreds of builders, all of which end up overwhelming things. This is a serious issues and exposes the huge flaws in BA's buildpower makeup.
Standarization of buildtime and workertimes, In BA 9.46, buildtime was a meaningless statistic. In latest BA I made it mean something by reducing buildtime to the seconds something would take to build with 1 workertime. So essentially I put it on a 1:1 ratio. Then, I went about standardizing workertimes which were all over the place. I only touched actual builders, not minelayers and stuff like that.
t1 and t2 factories get 3 buildpower (same as commander)
t3 factories (gantries) get 6
I should point out that the only factories that really benefited in a meaningful way from this is t1 factories. I noticed that in order to properly produce t1 units, it was necessary to have at the least 1 nanoturret (preferably 2) for your t1 factory. In OTA, t1 factories produced t1 units at a satisfactory rate, and so after upping t1 factories and testing quite a bit, it was made default.
t1 constructors get 1.5 (nanoturrets have 2)
t2 constructors get 3
Ofc this impacts aircons, because now aircons don't completely suck anymore. Instead of making aircons crap at building again, the solution was to simply reduce their max speed. This means that in base they can be really great, but you can't just use them to go populate the map in 2 minutes kekekeke.
Remastered sounds, BA has been using 8bit mono sounds for years. Unchanged from OTA. I remastered them in 16bit mono (preferred format for spring). Maintained the same volume while adding depth (smile EQ for the most part).
Remastered unittextures, Has anyone notice that the units in latest BA look way more clean and nice? You're welcome.
Updated BA's aging lua handlers, added utilities, etc. Gamedevs who why this crap is important. From a pure player aspect, the impact is nil.
Implemented Music, you're welcome. You can now even easily have your own local soundtrack for BA. Huge thanks to Floris for adding volume sliders and sexy track names and controls to the music widget <3.
Implemented loading music, used a placeholder song which ended up becoming the defacto I guess lol.
-----------------------
Now to address some of the utter bullshit that has been spread by Senna and various others.
Forb is trying to ruin BA so ppl will play evo.
Bruh, really? First of all, I don't really want BA players playing Evo. The evo community is nice to each other and we have fun. You guys are cancer. Stay in BA where you belong (Like a good side bitch, stay in your lane). If you do come over, be nice or get banned. I have zero tolerance for harassment of newbies. But overall, no. I don't want you.
omg decay is gone and is replaced by forb
I have my own game to work on. Floris needed help and in a very macro sense, I helped him. Anything that I did that effected balance went through his approval .I said I've been working on it (on a macro scale), I don't think I've ever claimed to be officially part of it.
Mr Gundam
Seriously... How do you mistake me for Smoth? Bruh. Smoth actually has talent.
We can't dl BA from springfiles anymroe BAW
I can see how if you are stuck in spring 7 years ago this might be an issue. It really isn't and Rapid is a far better method of distribution. That fact isn't up for debate. I even made a frontend for it (Windows) for those of you who have broken fingers:
PR-Downloader Menu -
https://drive.google.com/drive/folders/ ... sp=sharing (Someone who knows python better than me should convert this *hint hint*)
There is more, but those are the ones I can remember off the top of my head.
-----------------------
My main goal in touching BA has been to bring BA into this decade. BA has been a poorly maintained pile of junk for many, many years. Mostly touched by people who only knew how to change numbers in a unitdef. These people have rarely understood nuance and more often than not do not realize that there are more ways to balance something rather than the kneejerk reaction. Beherith tried valiantly to polish BA, and in a lot of ways helped matters a lot, but the fact of the matter is that behe hasn't touched BA in quite a long time, so all of the great work that he started just got dumped by the wayside. BA effectively has a history of holding the engine back. This makes myself and other gamedevs justifiably angry, especially due to the fact that BA is generally looked upon as a cancerous growth attached to Spring. Now, internally, BA is as modern as the rest of the games (more or less anyway), with the exception of 3do and BOS/COB. So that is a pretty huge deal. Please understand that I mean no disrespect or offense to previous BA maintainers.
In my changes to BA, my focus has been to make it more fun to play in a macro sense. I'm not talking about macro vs micro, I'm talking about macro in a player sense. Fun to play for vets, fun to play for newbies. 9.46 has the very frustrating mechanics of units that do not obey orders in a timely fashion, units that path badly around obstacles (like wreckfields), projectiles that don't actually hit their target when they appear to do so, and the lack of capability to do minute micro with individual or groups of units. The latest BA fixes all this although Floris disabled hitspheres fix and firing through friendly which needs to be reversed for a lot of reasons, but he's in charge so what he says goes, however they are modoptions so you can enable them at your leisure.
These changes help the overall gameplay. Are there smaller more subtle impacts? Sure there are, for example reapers and bulldogs are fantastic MBTs as they were meant to be (maybe a little more fantastic than they should be?). Understand that changing a unit's turnrate does not make the turret turn faster, as a result, you still have to deal with the fact that the barrels on most BA units turns slowly. And if the units is turning opposite of the barrel, aiming may still take a while. You can see this pretty plainly when using a group of raiders or stumpies. But what it does promote is unit formations and concaves.
But these impacts are minor, and any impacts can be fine tuned for more precise balance. But an even larger point is that the modoptions that I have implemented, when enabled, promote unit synergy. When you have no useless backline units (I.E. units sitting in the back of your army, can't fire because friendly units in front, and when the units in front die and the units behind can fire, the units that are behind end up having their projectiles hit the wreckage in front of them sometimes), that means that your army can work together as a whole unit, which means that putting better thought into your army makeup will result in more favorable engagements.
I suggest tuning out people that simply whine about any change, and trying to understand how changes promote better overall gameplay. Nothing is ever final, and everything can always be tweaked. Becoming a drama queen doesn't help anyone.