Welcome ! As said above read through the wikis and such before doing anything else. I am still t a very basic level of modding but the way I learned was to take a mod map, look at .yaml file and see how the rules affect the game, what is changed, etc. To view the /yaml take a .oramap and extract using an archive program, I run OS X and use Archive Utility. Once you extract there should be at least 2 files, a .bin which is the map layout and tiles, and a .yaml which controls actors and rules of the map.
This next tip I find is good for understanding the game balance as well. Go into the package contents of the openra game and look for the .yamls of rules, defaults, weapons, vehicles etc. In those you will find the actual numbers and modifiers which give units their stats abilities, etc. You can compare stats of units and buildings to see which is actually stronger/faster etc.
Note that in the files these must be indented correctly to be understood by the game, I just pasted here out of convenience
Ex:
120mm:
ReloadDelay: 90 (decrease to shoot faster)
Range: 4c768
Report: CANNON1.AUD
Burst: 2 (how many shots)
InvalidTargets: Air, Infantry
Projectile: Bullet
Speed: 682
Image: 120MM
Warhead@1Dam: SpreadDamage
Spread: 128
Damage: 60 (base damage of weapon)
InvalidTargets: Air, Infantry
Versus:
None: 20 (strength against armor types)
Wood: 75
Light: 75
Concrete: 50
DamageTypes: Prone50Percent, TriggerProne, ExplosionDeath
Warhead@2Smu: LeaveSmudge
SmudgeType: Crater
Warhead@3EffGround: CreateEffect
Explosion: small_explosion
ImpactSound: kaboom12.aud
InvalidImpactTypes: Water
Warhead@4EffWater: CreateEffect
Explosion: small_splash
ImpactSound: splash9.aud
ValidImpactTypes: Water
This is the yaml code for a "120mm cannon" . You can see I put some comments in parenthesis that aren't part of the actual game files. If you increase the amounts under Versus (none, wood, light) the weapon will do more damage targets of those armor types. This is the mammoth tanks weapon I believe, but you could edit the rules of the light tank to have it use this weapon. Put under light tanks weapon, 120mm cannon and it will now use this instead.
Lets look at light tank:
1TNK:
Inherits: ^Tank
Buildable:
Queue: Vehicle
BuildPaletteOrder: 50
Prerequisites: ~vehicles.allies, ~techlevel.low
Valued:
Cost: 700
Tooltip:
Name: Light Tank
Description: Light Tank, good for scouting.\n Strong vs Light Vehicles\n Weak vs Tanks, Aircraft
Health:
HP: 220
Armor:
Type: Heavy
Mobile:
Speed: 128
Crushes: wall, mine, crate, infantry
RevealsShroud:
Range: 4c0
Turreted:
ROT: 5
Armament:
Weapon: 25mm (Change this to "120mm" )
Recoil: 85
RecoilRecovery: 25
LocalOffset: 768,0,90
MuzzleSequence: muzzle
AttackTurreted:
WithMuzzleFlash:
RenderUnit:
WithTurret:
AutoTarget:
Explodes:
Weapon: UnitExplodeSmall
EmptyWeapon: UnitExplodeSmall
LeavesHusk:
HuskActor: 1TNK.Husk
You can see it has the 25 mm cannon, in that area change that to 120mm cannon and you now have a more powerful light tank! Decrease its speed and it won't be moving very fast though.
All these things with " : " next to it (ex. WithMuzzleFlash:) are traits, go to
https://github.com/OpenRA/OpenRA/wiki/Traits and learn what modifiers you can use to customize each trait, see which are required, etc.
I am new to this myself so others please correct me if I am wrong about anything.
Edit: keep in mind sometimes things aren't so simple and if you add something to a unit there's a possibility it needs another trait. Very important: always test one new at a time to eliminate variables!