Tuesday, April 17, 2012

[FA][REL]The Learned Commander - 02/25/2011 V2 is out.

And so here it is finally, the released version of Learned Commander. Let me know what you think.
Learned Commander
Learned Commander is a modification to the leveling system in which your units level much more often then in the base game. however, they only increase in strength by roughly 1% per level.
Features
The following all level by 1% per level
Health
Regen
Build speed
Resource generation
Weapon damage
Weapon fire rate
Weapon range
Weapon accuracy
Vision range
Radar range
Sonar range
Movement speed
Limits:
Weapon range and rate of fire increase max out at 2X normal.
Inaccuracy only decreases to half normal.
Movement speed is limited to only 2X normal.
All intel improvements also max at 2X normal.
If you play using the Campaign Enabler, you get a bonus to your leveling based on the difficulty you are on.
Easy: 1.5% per level
Normal: 1.2% per level
Hard: 1% per level
These are needed due to the AI getting a massive buff from the free created units every time the play field increases.
Issues:
Billy is a bit OP. The reason for this is simple, the ACU levels faster than a nuke launcher normally does and Billy gets the full benefit of that leveling. It is easily defended against though.
A unit will occasionally get a free 1%. This is so minor that it is not worth fixing.
On hard difficulty, the initial wave of enemies on Mission 2 of the campaign is extremely difficult. This is due to the enemies starting stronger than you and them destroying your ally's base.
QAI's nukes do not work properly against Selen's base due to the mission "forgetting" what army QAI is a part of.
On hard difficulty, the "prevent the bombers from being built" goal on mission 3 has a very tight timer.
The "repair the shield" goal on the first mission of the campaign is unfinishable (it starts repaired).
http://supcom.theworldsofseiya.com/LearningACUV2.zip
Version 2:
Fixes:
DoT attacks shouldnt throw error messages now.
Changes:
Changed display from showing level to showing % of effectiveness to avoid confusion.|||seiya|||Interesting, definitely a new or as you explain it, old take on of the veterancy concept.



I wonder, what kind of RAS bug do you refer to, seiya?



Regarding abilities per level of a unit, that's something I've already started implementing into TVg, though atm it is limited to jumping.

Planned are some more effects well outside of the standard enhancement chain, limiting these abilities to the commanders reduces the strain on creativity.



I do like the concept of rewarding efficient attacks, will be something pros can dig into.



Although, I'm not quite certain that this'll have much of an impact, Since a bit of what you describe has been picked up by GPG and will be used in Supcom 2.



Anyhow, I wish you good luck, if you need help I'll be happy to offer some.|||I like those ideas. The Hero mod was one of my favorites. There was a void until Exavier made the Black Ops ACUs.|||I may not be a UI programmer (I wish i knew UI) but i can offer my vast knowledge of Unit scripting.



Resin|||UI isn't hard, it is just annoyingly time-consuming keeping dependencies in check and locating and choosing good spots to hook into. The latter two are the most troublesome.

ThaPear has delivered some impressive results, maybe he can offer competent assistance.|||Ghaleon|||sent you a pm Resin.|||Ghaleon|||Ghaleon|||AlteredFreak: aaaah that one, right. I've seen it used a bit too often, no way to fix that with script code? I want to close that one for good.



seiya, you'd need to use the Buff system, as in make it apply the economy gains, unfortunately this requires to make all current RAS enhancement unit scripts no longer use a direct ...SetProductionPerSecond call.

That'd be the most compatible solution, really I do wonder why it was being coded with direct calls back then.

Eni did a great job with Total Veterancy, I'd never have started going in as deep without it.|||Well, for the sake of proving I am working on this. Here is Beta 0. Why start at 0? Well because this thing is so rough that it isnt funny. The core mechanic is in though.



What is workin

Units contribute to a global exp pool based on their exp.
Units use their mass as the basis for leveling with level cost being mass * level^2.
On level up, units get a 1% increase to health, regen, range, damage, resource production, build rate, and weapon RoF.


What is not working

Basically everything else.


Known bugs

Cybran artillery projectile starts throwing errors after shooting ~5 times. Unknown if other faction's projectiles will do the same.
RAS overwrites resource buff.
If the unit levels, it overwrites RAS.
Units created before the map starts do not level unless they do damage first, and even then, only when they do damage.
Stopping building something before it is finished throws an error.



To do list

Make UI
Redo buff system
Lower ACU/SCU level cost. Mass cost makes them level slower than experimentals.
Rewrite copy/pasta portions hacked in from Hero



I am certain there are other bugs, but those are the ones I remember from my playing.



Lower tier units definitely scale fast, but slow down due to the geometric increase in level costs. I am thinking of making a tier modifier so lower tier units are good longer. I am debating if I should make damage to shields count. Right now, a cybran player is at a disadvantage due to no mobile shields. I also think the scaling maybe a bit off. Aka, I need to increase it from a 1% increase to possibly as high as 5%. You almost do not notice the changes except for health. The most I saw was a light assault bot with 350 life (they start with 96).



Well, play with it and let me know what changes you think need to be made.



http://www.filesmelt.com/dl/LearningACUwip0.zip|||Your idea sounds like The Research panel that we can see in some SupCom 2 demo videos.



My mod that auto-upgrades units with their Veteancy does almost the same like your idea.

From "automatic" to "controlled through UI", the step is small.



Asdrubael and I planned to apply it to Experimentals as well, but I'm stuck ATM to the (coming very soon) release of the new ExpWars :P . :)|||I still find it amusing that several ideas I started in Hero got made into full blown mods/ patched in/ added in a sequel. As a note, I am not claiming that anyone stole from me, an idea is just an idea. And lets be serious, none of them are amazingly revolutionary ideas.



Regardless, for me, this is a way to get back into modding on a larger scale. Since, even if nothing else annoys me about SupCom2 and I get it, the economy needs to be changed. Either way, all of this was started 2 months after SupCom1 came out and I am just trying to get it finished finally.



That aside, I remember now why RAS was such a pain. Why the hell did GPG use two different systems for the SCU and ACU RAS?!?!?! Eh, I think I have a solution. I get to cheat a bit since I have a thread that has to watch for experience gains so I can just watch for enhancement gains.|||seiya|||Manimal|||My solution for RAS compatibility has worked, but in the process of making it work, a number of new bugs have appeared (I noticed them due to needing to do a lot of logging).



New Bugs

The thready for watching the experience total SEEMS to be causing an infinite loop since the RAS compatibility went in.
Building a new unit with high experience is causing overflow errors, but when finally built has the right stats. Related to the infinite loop?|||A much more polished version is now online. On the surface, this is mostly a bug fix, but some of the bugs fixed features that I thought were working, but were not really. Other bugs uncovered more bugs, which uncovered more bugs, which caused one bug that was actually making things WORK, break the whole thing. It was an interesting time.



What is workin

Units contribute to a global exp pool based on their exp.
Units use their mass as the basis for leveling with level cost being mass * level^2.
On level up, units get a 1% increase to health, regen, range, damage, resource production, build rate, and weapon RoF.
RAS SHOULD play nice now.
A unit can level up more than once per experience check.
A newly made unit comes out fully leveled and with full life.
Experience is now checked every 5 seconds so a unit that isnt fighting can level up.
Units start the experience watch timer when made always now. And only once. (Was being called 6 times for a while)


What is not working


Adjacency bonuses
LIMITS!!!!!


Known bugs


Cybran artillery projectile starts throwing errors after shooting ~5 times. Unknown if other faction's projectiles will do the same. Anyone have any ideas on this one, cause I still dont.
RAS overwrites resource buff.
T2 Artillery is not coming out leveled but starts working normally after about 10 seconds.
I consider this a bug, some tiers of upgrades are weaker than the lower tiers at high levels.




To do list


Make UI
Redo buff system
Make shields scale
Make storage scale
Work in my range increasing script to allow projectiles and missiles to go their full range.
Take a serious look at buffing Experimentals.
Check to see if the damage of beams is being buffed (not certain on this one)
Disable friendly fire. I understand now Ghaleon why you did this.
Admit that Ghaleon has the right idea on buffs. Read my rant below to see why.
Take a look at nerfing the scaling of build rate or immensely buffing resources.
Look into nerfing walls somehow.




So, I got a good chance to play this using the campaign activator. Started meltdown on normal and started getting beat up at the start, meaning the computer's units were better than mine for a while. I held on, got shields, which serverely limited their ability to damage me, hence giving me a chance to get more damage/exp then them. Things slowly started turning around for me after that. I eventually got Tier2 up and promptly killed my economy. Yeah, it seems build rate goes up faster than resources do. The exact reason why in a second.



Got my economy moving again through one part lots of T2 generators and one part lots of exp. I got out some MMLs and immediately got a laugh. They were machine guns and had the range to hit the enemy base. I set them to killing factories. Also, I abused something I need to think of a good change for, I started hitting his walls. I will explain this, once again, in a second. I then got went for Tier 3 building. Got a soul ripper out and watched it get ripped apart. I then tried a Monkeylord. This went much better and between two of them, got the enemy off of my back. The MMLs had done enough damage to his factories that I was able to start pushing into his base. At which point, part one ended. Part 2 started with a massive rush. Which was met with massive amounts of base fire power. I lost a little, he lost a lot... until one of my PDs killed all my shields with friendly fire.... I stopped at that point.



Explanation time!!!! The scaling of some units is really odd. Take for example mass extractors. At really high amounts of damage done:

Tier 1 generates 53 mass

Tier 2 38

Tier 3 58

No, that isnt a typo. At the same level, energy was:

Tier 1 538

Tier 2 ~2500

Tier 3 ~4000

Remember my comment about going to tier 2 and my economy crashing. Yeah, my mass income dropped. Not by as bad as I show above, but it was not a good place to be. If you rush to Tier 3, you do get more mass, but it seems the scaling allows low tier mass extractors to perform better than higher tier ones. Energy is a bit more even, but given enough time, it looked like low tier energy would also catch up.



Walls are a problem. They cost so little mass that they level up all out of proportion to their value. The same test where I got the above numbers had walls with 1,000,000+ hp.



In the campaign game I played, Tier 1 bombers were also a problem. With 2500 hp and bombs that were hitting for near Tier 3 bomber levels, it was painful when the computer spammed them. There was a similar problem with Tier 1 mobile artillery, they are just easier to counter.



Most units were firing at such long ranges that their projectiles were running out of lifetime long before they hit something. Yeah, not good. Range is definitely getting limited, as is firing rate I think.



Anyways, this is really long, so here is the latest and greatest version. Please play with it and give me some feedback if you agree/disagree with any statement I made or notice any bugs I didnt.



http://filesmelt.com/dl/LearningACUwip1.zip[/quote]|||I kind of do like this idea, but it raises a lot of uncertainties in my mind. The biggest issue I suppose is the impact on the gap between the underdog and the player who got ahead at some point. Would this army improving exp more likely make the one that got ahead once to become unstoppable or rather maybe allow for the underdog to fight back better...? Which scenario would/should get more advantage out of this?



At least it sounds like if one side successfully skirmishes against the other to harass him and won a couple of individual fights, he would get a better army in the long run even if the other successfully sat in his base ecoing ahead. That does sound good and would give even more reasons to play smart, aggressive and fight.



All in all I personally think the levels should impact the units very very slightly, and the way your levelling curve increases to the square is good. Maybe make so that the stats that don't show up so huge an advantage, like HP and firing randomness for most units would go up all the time, while better stats like damage, range and RoF only improve every other or every third level, or so very little at a time. And a level cap I think has to be there.



Have you considered affecting only combat units with this and leave economy untouched, as to shift this improving to fighting and dynamic play rather than turtling. I can see the dangers of constant economic buffing leading to ridiculous gaps between players in the long run...



All in all this sounds good, and maybe if the UI side start developing, there could be the possibility of the player himself choosing which stats of his army to improve. Unfortunately I can't code UI or much anything else aside from unit basics, and could only do graphics to help if needed.|||Quite intriguing, considering you accomplished all of this with just below 10 kb I'm envious.

I love looking at sleek and efficient code.

However while skimming through it I found a while loop in unit.lua, it's probably a good idea to offer a self:IsDead() check there, just to be on the safe side, can't count how often that particular has bitten my posterior.

Also am happy to see you do use the ArmyBrains.

I look forward to your future releases seiya.



I do however wonder what TargetLocation.lua and the Cybran acu's unit.lua are for.|||Kirvesnaama|||Would this make it the most effective tactic in team games to have all military handled by one player, to maximise vet?|||DeadMG|||Ghaleon|||Ah also in the campaign a few script alterations are not working as intended, I have a couple of UI and other bugs pertaining to campaign issues.



But to be honest, I also very much like to play campaigns and testing there is quite nice.

Tossing around custom tables is good to know how, but really requires effort to maintain well once a certain complexity is reached. Late night coding, typos and all that.



Files scattered, sigh, oh yeah, all the testing and trial and error, pain all over, just remembering.

No comments:

Post a Comment