Nescio Posted June 29, 2018 Report Share Posted June 29, 2018 14 minutes ago, stanislas69 said: Well I can see some people wanting to rewrite an AI from scratch but in general you'll probably just want to tweak a few files instead of rewriting the whole thing Probably yeah, but if that is sufficient to make it part of the engine then all shared content (flora, fauna, etc.) is. Quote Link to comment Share on other sites More sharing options...
elexis Posted June 29, 2018 Report Share Posted June 29, 2018 6 hours ago, Nescio said: Where would you put maps? They include both gaia and civ objects. And the AI? It requires both classes and hard-coded templates. Maps should be unique content -> 0ad. AI is simulation code, so it ought to be in the non-0ad mod. Identity classes are part of the Identity simulation component, so it's not inherently wrong to parse them from the AI simulation. But the identity classes can become more abstract and speak of general properties (Ranged Mechanical) rather than specific names (SiegeTower) for instance. template names should go for sure. 2 Quote Link to comment Share on other sites More sharing options...
wowgetoffyourcellphone Posted June 29, 2018 Author Report Share Posted June 29, 2018 7 hours ago, elexis said: And what would local superiority be? We currently have invulnerable cheering for promoted units. But it's problematic and was reported to me reoccurringly to be a relevant issue that this unit draws arrows, possibly all arrows of the attacker, possibly making him lose the skirmish. Arrows could ignore invulnerable units, but it comes with the cost of code complexity, performance cost, it's a bit timeconsuming to implemen. Depending on what local superiority would be, there might be other problems arising too. For instance if it's a territory gain and 100 units in the territory cheer for 2 seconds, you might lose 200 seconds worth of workertime. Maybe it would be balanced if the units of the enemy player play an anti-cheering animation, but then what do the neutral players do? It needs considerate design. Theres a similar problem what to do if we want to play a cutscene without giving the player the disadvantage of not being able to order units. "Local superiority" was a term I was using to differentiate from game victory. What I mean is, the player's units have defeated all enemy units within vision range after a "battle" has been detected by the game. Then they cheer for 3-5 seconds. The cheering in this instance isn't invulnerable; if they are attacked then they respond. They wouldn't be cheering at all if they could be attacked though, as that would mean there are still enemy units within range. I am not 100% sure about all edge cases, but it seems to work out just fine in Age of Empires III without any issues. 2 Quote Link to comment Share on other sites More sharing options...
elexis Posted June 29, 2018 Report Share Posted June 29, 2018 I guess the invulnerability was forced for the promotion because units aren't in idle state while fighting and only promote while fighting. Only cheering if a unit is in IDLE state would certainly not worsen the players situation (maybe besides getting distracted for the duration of the cheering animation, but that's not so relevant). If superiority means having wiped out the enemy, what does local mean? (A unit could play that animation if there are no more enemies in sight and at least one enemy was killed. But that's behavior of individual entities, not a group.) (This question is also relevant to implement better automated camera movements in observermode) 1 Quote Link to comment Share on other sites More sharing options...
wowgetoffyourcellphone Posted June 29, 2018 Author Report Share Posted June 29, 2018 19 minutes ago, elexis said: If superiority means having wiped out the enemy, what does local mean? I don't know. How does the engine determine a "battle" is in progress in order to fire the battle music? Quote Link to comment Share on other sites More sharing options...
elexis Posted June 29, 2018 Report Share Posted June 29, 2018 It's determined by BattleDetection player component: <BattleDetection> <TimerInterval>200</TimerInterval> <RecordLength>12</RecordLength> <DamageRateThreshold>0.04</DamageRateThreshold> <AlertnessBattleThreshold>4</AlertnessBattleThreshold> <AlertnessPeaceThreshold>0</AlertnessPeaceThreshold> <AlertnessMax>8</AlertnessMax> </BattleDetection> "<element name='TimerInterval' a:help='Duration of one timer period. Interval over which damage should be recorded in milliseconds'>" + "<element name='RecordLength' a:help='Record length. Number of timer cycles over which damage rate should be calculated'>" + "<element name='DamageRateThreshold' a:help='Damage rate at which alertness is increased'>" + "<element name='AlertnessBattleThreshold' a:help='Alertness at which the player is considered in battle'>" + "<element name='AlertnessPeaceThreshold' a:help='Alertness at which the player is considered at peace'>" + It keeps track via damage by subscribing via OnGlobalAttacked and it ignores gaia. So if there are globally enough incidences of violence to exceed some arbitrary number, it will play the war music. (The problem for observermode is (1) which battle to depict if there are multiple and (2) whether to transition cameras. IIRC user1 had a patch to transition cameras smoothly, it was a bit funky) So your local superiority idea could be implemented by using BattleDetection and introducing a second arbitrary number, some geometric measure to determine if two entities belong to the same local superiority group or not. Quote Link to comment Share on other sites More sharing options...
wowgetoffyourcellphone Posted June 29, 2018 Author Report Share Posted June 29, 2018 28 minutes ago, elexis said: I guess the invulnerability was forced for the promotion because units aren't in idle state while fighting and only promote while fighting. Right. If battalions were implemented, I could see a situation where we change this to a thing where the player manually promotes a battalion if enough XP or Glory or whatever was gained. Or... if battle detection was honed like what we're talking about, the 3-5 seconds of cheering after a battle could be when the units are automatically promoted in rank. Quote Link to comment Share on other sites More sharing options...
elexis Posted June 29, 2018 Report Share Posted June 29, 2018 If it's intended that individual units that aren't part of a military group can't be affected by that then yes. (Could also become a formation thing then.) Quote Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2018 Report Share Posted June 29, 2018 (edited) As part of an experiment, I tweaked the battledetection code a little to make all units around the guy that deal the last damage to cheer. Perhaps, for a proper implementation it could be done in a similiar fashion. Entities around the battle vicinity could celebrate. Also if we dont mind lag, at the end of a match, all entites of the victor could be put into the same state. Edited June 29, 2018 by Guest Quote Link to comment Share on other sites More sharing options...
av93 Posted June 30, 2018 Report Share Posted June 30, 2018 On 6/28/2018 at 11:02 PM, wowgetoffyourcellphone said: Choices when phasing up or at the beginning of the match. Age of Mythology, Age of Empires III, Hyrule: Conquest That's already done, shouldn't be difficult to add it to the main engine, without using it in 0 a.d? On 6/28/2018 at 11:02 PM, wowgetoffyourcellphone said: Automatic phasing based on city size (population or number of buildings or both, don't matter). Clicking the "tech" which costs resources to phase up the city seems weird, when you could conceivably build 100 buildings in "Village" phase and have max pop and nothing happens. What happens if you add requirements to an autotech? Wouldn't work? My random wish would be the feature to hide the "cultural" name. There was a ticket somewhere. Quote Link to comment Share on other sites More sharing options...
Stan` Posted June 30, 2018 Report Share Posted June 30, 2018 6 minutes ago, av93 said: That's already done, shouldn't be difficult to add it to the main engine, without using it in 0 a.d? Apparently we avoid to add features we do not use :/ at least it was the case for another patch of mine. The reason is the extra maintenance needed. Could probably be another mod as a dependency. 1 Quote Link to comment Share on other sites More sharing options...
elexis Posted June 30, 2018 Report Share Posted June 30, 2018 24 minutes ago, av93 said: Choices when phasing up I believe too that it's either already supported or very cheap (and probably good practice) to support it, since phases are techs and and phase choices would be tech pairs that we do support. Phases might have some specifics to them somewhere. 21 minutes ago, stanislas69 said: avoid to add features we do not use It depends on the likelihood of it being used by anyone (0ad or not) whether the payoff of maintenance cost is hypothetical or actual. Avoid adding features noone is ever going to make usable. Like implementing the first 10% and then deciding to leave it in there because someone else might do the other 90%. But that's more misleading than helpful (if 90% are missing one has to start at the design stage and it's likely that design constraints were not analyzed by the 10% one). If a feature is fully implemented but not used by the 0ad mod, it's indeed disadvantageous because devs have to understand that code but don't get playerfeedback and bugreports on it and never see the code work in practice. If there is a modder specifically wanting to use something, then the preposition to not add features if they are not used is not fulfiled and we can see the code being used in practice, maintain it a bit more easily too. if the feature itself is as polished as 0ad features then there is no part of that code adding an unfounded burden to development either. So it depends on the feature quality and likelihood of use at all. 2 Quote Link to comment Share on other sites More sharing options...
wowgetoffyourcellphone Posted July 1, 2018 Author Report Share Posted July 1, 2018 (edited) 11 hours ago, av93 said: What happens if you add requirements to an autotech? Wouldn't work? It already works in DE with the Empire Phase auto-researching when the Wonder it built. The only thing that doesn't work is the chat notification and the sound effect, otherwise the auto-tech works as expected. 10 hours ago, elexis said: I believe too that it's either already supported or very cheap (and probably good practice) to support it, since phases are techs and and phase choices would be tech pairs that we do support. Phases might have some specifics to them somewhere. I don't mean simple tech pairs. I mean when you click the phase icon (or whatever tech it is), then a dialogue box opens with choices, like this: Hyrule:Conquest, as far as I know, uses a modded UI to achieve something like this. I can imagine plenty of mods using this feature. Edited July 1, 2018 by wowgetoffyourcellphone 2 Quote Link to comment Share on other sites More sharing options...
asterix Posted July 1, 2018 Report Share Posted July 1, 2018 9 hours ago, wowgetoffyourcellphone said: Hyrule:Conquest, as far as I know, uses a modded UI to achieve something like this. I can imagine plenty of mods using this feature. It uses this https://github.com/AlexanderOlkhovskiy/0ad-civ-choices-mod 1 Quote Link to comment Share on other sites More sharing options...
elexis Posted July 1, 2018 Report Share Posted July 1, 2018 We also have the information dialog in alpha 23 when rightclicking on a tech, but there is no comparison indeed. Quote Link to comment Share on other sites More sharing options...
Lion.Kanzen Posted July 1, 2018 Report Share Posted July 1, 2018 (edited) can be nice explain more the selector dialog/screen. like possibility to more flexible factions, like have sub factions in a single pack like Romans (late imperial, late republic, early republic...etc) special units/mercenaries by choose. technologies to get focus in some play style(turtle, boomer or rusher) or give more focus in projectile and tank units(heavy armor) or faster and cheap(mass). there is a lot of opportunities by player if "we open this door" Edited July 1, 2018 by Lion.Kanzen editing. 1 Quote Link to comment Share on other sites More sharing options...
elexis Posted July 1, 2018 Report Share Posted July 1, 2018 (Created #5248 for the victory/defeat focusing) 1 1 Quote Link to comment Share on other sites More sharing options...
Prodigal Son Posted July 2, 2018 Report Share Posted July 2, 2018 On 6/29/2018 at 12:28 AM, stanislas69 said: Those are good ideas. Maybe @Prodigal Son could consider some of them for the design document. It's missing sockets I wish you had a coding team working on DE as well. For now I'm just working with @Itms on bringing the DD up to date. I have no clue yet on what will happen after that and if it will involve me. I'd consider several of @wowgetoffyourcellphones' ideas, which ones though would depend on target gameplay style and art/coding work needed. 1 Quote Link to comment Share on other sites More sharing options...
av93 Posted July 2, 2018 Report Share Posted July 2, 2018 43 minutes ago, Prodigal Son said: For now I'm just working with @Itms on bringing the DD up to date. I have no clue yet on what will happen after that and if it will involve me What do you mean by udapting? Erasing scrapped ideas and describing the current gameplay or writing a redesign? 1 Quote Link to comment Share on other sites More sharing options...
Prodigal Son Posted July 2, 2018 Report Share Posted July 2, 2018 3 minutes ago, av93 said: What do you mean by udapting? Erasing scrapped ideas and describing the current gameplay or writing a redesign? I mean the first case, erasing scrapped ideas and describing the current gameplay. But that doesn't mean that anything removed for now is necessarily removed for good, it's going to be like a clean start to base further development on. 3 Quote Link to comment Share on other sites More sharing options...
Stan` Posted July 24, 2018 Report Share Posted July 24, 2018 That's really weird the forums keeps marking this thread as unread. Quote Link to comment Share on other sites More sharing options...
Sundiata Posted July 24, 2018 Report Share Posted July 24, 2018 4 hours ago, stanislas69 said: That's really weird the forums keeps marking this thread as unread. For me, everything prior to and including March is marked as unread, and some new topics are sometimes marked as read without having read them... Quote Link to comment Share on other sites More sharing options...
Genava55 Posted July 24, 2018 Report Share Posted July 24, 2018 On 7/1/2018 at 12:54 PM, Lion.Kanzen said: can be nice explain more the selector dialog/screen. like possibility to more flexible factions, like have sub factions in a single pack like Romans (late imperial, late republic, early republic...etc) special units/mercenaries by choose. technologies to get focus in some play style(turtle, boomer or rusher) or give more focus in projectile and tank units(heavy armor) or faster and cheap(mass). there is a lot of opportunities by player if "we open this door" Well, it could be like AoM with definitive choice or like Starcraft 2 with costly choices but not definitive. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.