-
Posts
1.265 -
Joined
-
Days Won
9
Everything posted by Silier
-
Hi, This is not currently possible. If you need it, you have to use triggers. @elexis But if you just want to see how building changes if is garrisoned you can switch to actor viewer.
-
Hi, You need to change skirmish default units (https://github.com/0ADMods/pre-colonial-mod/tree/master/simulation/templates/skirmish/units) because you are using not existed templates: ERROR: CCacheLoader failed to find archived or source file for: "art/actors/units/nahuas/infantry_spearman_b.xml" Also I am getting this, I was not able to locate error source: ERROR: CCacheLoader failed to find archived or source file for: "simulation/templates/units/mex_cavalry_javelinist_b.xml" ERROR: Failed to load entity template 'units/mex_cavalry_javelinist_b' Have a nice day
-
This mod contains experimental gameplay features which might not be perfect yet. Also I am aware of some bugs (but if you find any, please report them). NEVER MIX (ENABLE) THIS MOD WITH ANOTHER MODS AND PATCHES WHICH ARE NOT VITAL FOR GAME. I WILL NOT SOLVE CONFLICTS FROM THEM. github repository https://github.com/SlavomirSlovenkai/0ad-gameplay-mode For more changes reade here: https://wildfiregames.com/forum/index.php?/topic/24764-battalion-test-mode/&do=findComment&comment=367259 Features: Phasing is cost free and automatic. Phase requirements Town phase 5x House 1x Market 1x Farmstead 25x Citizen City phase 15x House 1x Blacksmith 1x Market 1x Temple 40x Citizen General You need 1 Farmstead for every 4 Fields to build. Fields has to be build at minimum distance 80 from Civ centre. Soldiers can not gather and can build only military/defense buildings. Cavalry can still hunt. New unit Hunter available in village phase from civic centre. It is melee unit with nice slaughter attack and weak melee, so you can hunt animals even you do not have access to cavalry. New support unit Male. Can build special and military/defense buildings, also storehouse and corral. Only Female can build House, Farmstead, Field, Temple, Market. Melee infantry is trained in barracks, ranged infantry in range barracks, cavalry in stables. Stances got rework. Technologies Every soldier is locked by technology (or more) For example: Spears -> Spearman Spears -> Pikes -> Pikeman Spears -> Hoplite (tech - as they have special formation) -> Hoplite (unit) Swords -> Swordman Javelin -> Javelin throwers Archery -> Archers Cavalry + Swords -> Sword riders (tech) -> Cavalry Swordsman Champions + Swords -> Champion swordsman (tech) -> Champion Swordsman ( unit) Cavalry + Champions -> Champion Cavalry + Swords -> Champion Cavalry Swordsman (unit) Every unit starts with no armour and no shields (some civilisations have shields from start). There are 2 available unit upgrades in the row ( every unit class has its own upgrades ). Each one adds some equipment to the unit, but they needs to be unlocked. For example: Swords + Shields -> Swordsman upgrade (tech - giving shields to swordsmen) Champions are trained fully equipped, but that equipment has to researched. Melee weapons, infantry melee units upgrades and melee infantry champions are researched in barracks. Ranged weapons, infantry ranged units upgrades and ranged infantry champions are researched in range barracks. All kinds of cavalry, their upgrades and champions are researched in stables. Cavalry and champion cavalry itself are researched in corrals. Champions are researched in civic centre. Siege weapons are researched and build in siege workshop. Training is done by garrisoning units into barracks/range/stables. While they are inside, they get experiences and rank up. Units with lower or no rank fights worse ( exception are champions and heroes). You can train them by fighting but they will probably die fast (especially when your enemy has better trained troops than you). As this takes some time, to train unit from nothing to basic rank takes 30 seconds, to advanced next 30 seconds (60 seconds), to elite next 30 seconds (1 minute and 30 seconds), to fully trained in total 2 minutes. You should care about your troops more and you will not want to throw them away and let them fall in battle for nothing. Damage types and armour: Fire -> Special units ( add-on damage, small compared to others, but no unit has strong protection against fire ) Pierce -> Spear, Pike Hack -> Sword Crush -> Slinger, Club, Mace Missile -> Archer, Javelin Range units have minimal range when they can use their weapons, if they cannot they use weak melee attack. Range unit according to spread: Slinger, -> Javelin -> Archer Melee units have MissChance, which is the most 0.5. It means that unit has 50% chance to miss target with attack. Spread and MissChance gets lower as unit levels through experiences. Champions and Heroes now have chance to deal critical damage, what means they can find weak spot and kill enemy with one single attack. Shields and armour Protection is divided between armour itself and shield (based on shield type and armour type unit is wearing). Bigger shield means higher protection than smaller one ( also shield from metal/iron means better protection than shield from wood - roman shields are exception ) Also Chain armour gives more protection than some basic kind of armour. Wearing helmets means extra protection. Attacking unit from back (melee or missile) removes protection given by shield. Rams are 100% missile proof, but weak against all kinds of melee attacks, also their attack rate is reduced. Capturing happens by garrisoning units into enemy building ( aka they brake doors and go in ). To deal with them defender has to garrison troops with better capture rate as enemy does. If attacker and defender are equals in capturing strength and defender owns more than 0.5 of the building or defender is stronger and owns whole building, troops of attacker slowly loose health. Exception are walls ( and maybe later another buildings ), where garrisoned units are visible and they fight against each other. Attacker has to use siege towers to ungarrison units on the wall. Rams and Siege towers requires minimum number of units to be garrisoned to be able to move. Rams requires minimum number of units to be garrisoned to be able to attack, When Gate is under 50% of health it is force opened even if was locked before and remains broken ( unable to close ) until its health is above 80%. Friendly fire is enabled. So you really want units upgrades to not miss their targets. Ammunition ranged units have certain count of arrows/stones/javelins to use. They will get it back slowly. Some champion units (e. g. persian immortals) can switch to bows, throw javelins or spears. Every range unit has ability to disable range attack. Running on command draining energy. Energy is required for running and melee attacks. When melee unit has no energy fights worse ( melee units have some chance to miss ). Melee cavalry can Charge with double click on enemy unit. This drains energy as running. Charging is done to the position enemy is staying, so when he moves, target place is fixed. While units are charging they deal mount damage (no armour can save you from this damage) to every enemy unit they pass around and they deal extra damage when they reach target position. When they charge into formation turned towards them, they get anti-charge damage. Hero selection on the start of the game and auto spawn after that. No resurrection later. Formations They have attack and armour bonuses to overcome units fighting in no formation. Control Selecting one unit from formation means selecting whole formation. You can ROTATE one unit or whole formation with Shift + R and right click to position you want them to face towards. -------- ( Still working on changes )
- 112 replies
-
- 12
-
Add Missle attack for bows and javelins. This way pierce amror can go down and making rams imune to missles. And make repeat time longer. They will still be able to crush units staying infront of them but not so fast and there would be more melee troops available to take it down fast. Maybe give swords and spears attack bonus against them to make it faster.
-
I am playing with gate garrisoning and I found that after this call in GarisonHolder cmpVisual.SetVariant("garrison", this.entities.length ? "garrisoned" : "ungarrisoned"); are again replayed gate_opening or gate_closing animations without calling functions in Gate.js, so it is done by visualisation component. Animations running once should be unselected by visualisation component itself.
-
@The Undying Nephalim I think it is only when Ai plays as Gorons. And pigs have no walking animation
-
Hi @The Undying Nephalim, I like your mode great work. But I have got error messages about petra ai. Once they appear, they are spammed rest of the time. It is a bit annoying. WARNING: JavaScript warning: simulation/ai/petra/researchManager.js line 54 reference to undefined property tech[1]._template.modifications[0] ERROR: JavaScript error: simulation/ai/petra/researchManager.js line 54 TypeError: tech[1]._template.modifications[0] is undefined m.ResearchManager.prototype.researchPopulationBonus@simulation/ai/petra/researchManager.js:54:1 m.HQ.prototype.buildMoreHouses@simulation/ai/petra/headquarters.js:1776:17 m.HQ.prototype.update@simulation/ai/petra/headquarters.js:2828:17 m.PetraBot.prototype.OnUpdate@simulation/ai/petra/_petrabot.js:119:3 m.BaseAI.prototype.HandleMessage@simulation/ai/common-api/baseAI.js:64:2 And I have seen that during Mirora's Wolfos attack animation, one pease of him stayed on its place.
-
How to improve fps, need some settings explained
Silier replied to Bones's topic in Game Development & Technical Discussion
fps throttling means the maximum number of frames drawen per second. Some cpus are so fast they can do 120 frames per second but you could be fine with 60 or even 30 since game looks good and smooth ( I cannot tell you the count of frames for you, you need to a bit experiment here and find what is best for your computer) . The thing is that if you have lags, the throtling fps to lower number can save cpu time and resources for more important computation ( instead recomputing scene, shadows and so on) e. g. path finding. You have it on minimum only for menu, there you do not need it higher. Smooth LOS I would leave it to off if you need to increase performance. Postprocesing brings new work to be done for cpu and gpu. I would leave it disabled. And you can try disable fog. Disabling unit silhouetles could help with performance in later game with a lot of units. But you will not see units behind buildings Normally you would not see sky, since you do not zoom out really very far so you can disable this one I think. -
hi @Dakara. The signup has been closed and matches allready started. Maybe next time
-
Hi, had you checked rated game option in game settings when creating match?
-
Some little mistakes
Silier replied to Akira Kurosawa's topic in Game Development & Technical Discussion
@(-_-) maybe, but I think that if we use these emblems to distinguish civs and then share them, it is misleading -
@wowgetoffyourcellphone I have actual git version from https://github.com/0ADMods/delenda_est. Have you tried Romans(Principates) ? The other romans are just fine. Build and regrut nothing else, only siege workshop and bolt shooter
-
@wowgetoffyourcellphone can you give me link to correct git? Because I am looking to files on git and the second error is still there. And could you please delete cash before trying to reproduce?
-
hi, do not know if this one was fixed, but I just tried git version with A23 release and roman bolt shooter gives actor errors on creation ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/carry_food_idle.xml" ERROR: Could not open path biped/carry_food_idle.xml ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/carry_meat_idle.xml" ERROR: Could not open path biped/carry_meat_idle.xml ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/carry_wood_idle.xml" ERROR: Could not open path biped/carry_wood_idle.xml ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/carry_stone_idle.xml" ERROR: Could not open path biped/carry_stone_idle.xml ERROR: CCacheLoader failed to find archived or source file for: "art/variants/biped/carry_metal_idle.xml" ERROR: Could not open path biped/carry_metal_idle.xml and some other upon map start ERROR: CCacheLoader failed to find archived or source file for: "simulation/templates/structures/xion_corral.xml" ERROR: Failed to load parent 'structures/xion_corral' of entity template 'structures/scyth_corral_empty' ERROR: Failed to load entity template 'structures/scyth_corral_empty'
-
Yes, there is turn rate, but I am not using it now. I am just turning +/- 12 on button click, but I ll probably turn down movement speed for this action so they will get to turned position slower. Currently there is no difference based on side you are attacking formation from.
-
some showcase from controll video
-
@gaius , I will not send you whole file because I have there another changes and you probably do not want them so: file: /helpers/Commands.js find function GetFormationUnitAIs and rename it to something like this e.g. GetMergedFormationUnitAIs. Now find "formation": function(player, cmd, data) should be around line 612 and use renamed function instead old (you need it to form new formation, reform or merge more formations on command) For rest of not renamed callings, create this function, which is not merging selected units into one formation but keeping existing: function GetFormationUnitAIs(ents, player) { // Separate out the units that don't support the chosen formation let formedEnts = []; let nonformedUnitAIs = []; for (let ent of ents) { // Skip units with no UnitAI or no position let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI); let cmpPosition = Engine.QueryInterface(ent, IID_Position); if (!cmpUnitAI || !cmpPosition || !cmpPosition.IsInWorld()) continue; let cmpIdentity = Engine.QueryInterface(ent, IID_Identity); let nullFormation = cmpUnitAI.GetFormationTemplate() == "special/formations/null"; if (nullFormation) { RemoveFromFormation([ent]); nonformedUnitAIs.push(cmpUnitAI); } else { formedEnts.push(ent); } } // No units support the formation - return all the others if (formedEnts.length == 0) return nonformedUnitAIs; let formationUnitAIs = []; let formations = ExtractFormations(formedEnts); for (let i = 0; i < formations.ids.length; ++i) { let fId = formations.ids[i]; let cmpUnitAI = Engine.QueryInterface(+fId, IID_UnitAI); if(cmpUnitAI) formationUnitAIs.push(cmpUnitAI); } return nonformedUnitAIs.concat(formationUnitAIs); }
-
I can show you code if you want to prevent merging of formations when multiple of them are selected.
-
@(-_-) I used this in updateGUIobjects, maybe your approach is better, I did not see it whole yet: function updateFormationSelection() { let selected = g_Selection.toList(); let entsAdd = []; let used = []; for (let sel in selected) { let state = GetEntityState(selected[sel]); if (!state.unitAI) continue; let formation = state.unitAI.formationController; if (!formation) continue; if (used.indexOf(formation) != -1) continue; used.push(formation); let fState = GetEntityState(formation); if(!fState){ warn("fState does not exist"); continue; } if(!fState.formation){ warn("cmpFormation does not exist"); continue; } let ents = fState.formation.members; for (let ent of ents) { if(selected.indexOf(ent) == -1 && entsAdd.indexOf(ent) == -1) entsAdd.push(ent); } } g_Selection.addList(entsAdd); }
-
Well, we are calculating position and rotation and then looking for the closest unit to take it. What is not always the closest unit. If this works, I think it would solve this problem.
-
I think aura for that is just enough and fine. Not range aura, but personal. Actually I am working with concept, where every created formation is one click selectable. And it totally breaks if members are under required count of members (what is actually patch in progress derivation)
-
I do not think they should not I do not see the point of formations and different shapes and bonuses when they are only grouped in non shape cluster during fight. There is cool looking syntagma, phalanx or tetsudo formation but all magic is gone after engage.
-
@(-_-) thanks, I let you know when ready @ffffffff yes, he did great job, but anyway they do not hold the formation while fighting
-
I would need some player vs player test before moving forward. Some volunteers?