Enhanced Balance Mod for 3.x

Did you create a mod, map, music, or a tool? Present them here and earn feedback!
Note: addon requests do not belong here.
Note, everything uploaded to this forum, MUST have a license!

Re: Enhanced Balance Mod for 3.x

Postby MIH-XTC » 05 Sep 2016, 15:47

Cyp wrote:
MIH-XTC wrote:I need to change some things in stats.cpp, statsdef.h and the QT scripts to implement the below.
What's the best way to submit that to you?



The best way would probably be making a ticket with a patch, or at least a link to your repository, if you have/make one. Or something like that.



Okay. I did create a GitHub account a few months ago but I haven't taken the time to become familiarized with it. How do I keep my forked version up to date with commits from other people? I would think that's what a "pull request" is but from what I've read, a "pull" request is how one "pushes" their changes... (Shouldn't a pull request be called push request?)

I did a practice commit a few days ago to see if I was doing it right
https://github.com/CalculusWZ/warzone21 ... 86b02c2137

Did you get notified of that?
MIH-XTC
Trained
Trained
 
Posts: 127
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Postby Cyp » 05 Sep 2016, 16:59

Oh, yes, I had actually seen that test commit. I didn't get notified of it, but I happened to have seen via https://github.com/Warzone2100/warzone2100/network .

You keep your version up-to-date by pulling from the main repository or from other people. With a command line, one would usually do «git fetch origin» followed by «git rebase origin/master» or «git merge origin/master». Rebasing keeps the history cleaner, but merging is better if other people are also working on your branch. For now, I think rebasing is probably better.

You can push changes to a server (you → server), and pull changes from a server (you ← server). A “pull request” is a GitHub term which means to request that someone pulls from your server (from your GitHub repository, that is).

After someone pulls your changes to their computer, they might then push to their public server/repository, so maybe they should be called “pull then push request”s. Although I think GitHub does something a bit weird, where GitHub does the pulling via the web interface, instead of your computer pulling and pushing. Anyway, I don't really know of a better word to describe whatever it is GitHub does.
Cyp
Evitcani
Evitcani
 
Posts: 667
Joined: 17 Jan 2010, 23:35

Re: Enhanced Balance Mod for 3.x

Postby MIH-XTC » 10 Sep 2016, 18:24

I have to stop here for now, I'm back in school full-time until Christmas and won't have time to do anything with WZ. I just wanted to post the deliverables I have for the time being.

On a side note, I'm taking 2 data analytics classes, one using Excel and the other is advanced analytics using R studio and Python. Last week we were analyzing data from .json files and I was the only one in the class who knew what .json was so at least my WZ experience has a little bit of carry over in the real world :).
Attachments
Stats Editor.zip
Editor used for making mod
(1.38 MiB) Downloaded 41 times
10c-EB-Sample.wz
Sample Map with mod
(78.3 KiB) Downloaded 36 times
EB.wz
Modded Files (13 text files)
(44.93 KiB) Downloaded 44 times
MIH-XTC
Trained
Trained
 
Posts: 127
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Postby MIH-XTC » 11 Feb 2017, 17:09

I've still been working on this over the past 6 months and wanted to post an update.

Thus far I haven't touched the templates.json file because I didn't think there was much to be done there but after trying to figure out how to get the AI to make the newly implemented Helicopter propulsion I got really detoured and now I'm working on making an AI.

WOW what a difference it makes when the AI makes the best units available... it's no wonder the AI plays so bad, they're currently making silly units. They're making viper flamer when they could be making cobra minipod... I didn't know telling the AI which units to make was as simple as listing them in the tmp[] array and adjusting the MAX_RANDOM_TEMPLATES as necessary. So I used the stats editor to make an additional 70 templates in templates.json and then ordered them from worst to best. It's now much easier to showcase changes to the stats when the AI can demonstrate them for you :lol2:

Spoiler:


I also created the sensorDroid event in Nexus.slo. I see someone created the array in the .vlo file but there wasn't a corresponding event in .slo. It has a 50/50 chance of picking from the two best sensor choices so that AI can make CB turret and wide sensor at same time.

So now I'm going off in this direction...

I also wasn't aware that non-fatal errors were being logged in the log files... I just assumed if WZ had a problem it would crash. I found that the map I was using to test was causing some infinite loops, I think from excessive research centers but I fixed all errors with this mod (not sure if it was throwing any before).

I just wanted to give an update because working on the AI I feel that someone may be working on similar things or might have advice.

This is where I'm currently at with .slo and .vlo files:

https://www.diffchecker.com/KrNKqT3Y
https://www.diffchecker.com/yDwuEsym
Attachments
nexus.vlo
(19.85 KiB) Downloaded 7 times
nexus.slo
(116.5 KiB) Downloaded 7 times
MIH-XTC
Trained
Trained
 
Posts: 127
Joined: 31 Jan 2014, 07:06

Re: Enhanced Balance Mod for 3.x

Postby MIH-XTC » 11 Feb 2017, 23:22

Elaborating a little bit further… I’m going to create a test AI that

• spams cyborgs/tanks in groups of 10 and eliminate any notion of defending (just for the time being. ). When the AI spams sensor droids and turrets with good range they can be challenging to play and it seems like simple behavior to default to.

• Get rid of this behavior where AI runs past enemy droids and suicides. All combat AI units should move in “patrol” mode but attack towards enemy base. They should stop or maintain proper attacking distance.

• There isn’t a buildResearchCenter event like there is buildPowerGenerators so I’ll create one and ensure num_resCenters >= (num_derricks / 3). The AI needs to have good researching behavior. Researching should also be the only cost inducing activity when current power is below LOW_POWER with the exception of a few scenario’s when building a base.

• Need to figure out how to make VTOL’s attack anything and everything in sight (namely droids) or add DROIDs to the vtolTarget[] array. Just like ground units I only want to spam bomb VTOL’s.

• Import and order all of the missing structure and research stats into the tech[], structs[], defStructs[], and wallWeaps[] arrays in the .vlo file.

• Set the research order for all weapon lines and import into arrays.
MIH-XTC
Trained
Trained
 
Posts: 127
Joined: 31 Jan 2014, 07:06

Previous

Return to Addon discussions