Jump to content


Community Members
  • Posts

  • Joined

  • Last visited

Everything posted by azayrahmad

  1. Considering many wallpaper-worthy screenshots here, perhaps 0 A.D. Wallpaper section can be updated with some user contents?
  2. Amazing. The second one is my wallpaper now. ...now if only the territorial range can be hidden somehow...
  3. I've been thinking a lot about this since I've seen the battalion proposal years ago. I think hard battalion (Total War style) is difficult to apply in 0 A.D. due to citizen-soldier concept and such (In vanilla/EA, at least. It should be easier to implement in DE). But we can still work on soft battalion (Cossacks style). However it's still a long way to get there. Looking at 0 AD code, my opinion is that many unit behaviors (UnitAI) needs to be worked on first before we are working on battalions. Units in formation should have different set of stances than individual units. Currently formation is just about positioning, but not task allocation. Sure they have different pose in each row, but they still do the same thing once enemy comes. I think units should behave differently considering other units in the same formation. Simplest example is healer in formation should prioritize healing soldiers in formation instead of any soldiers within range. Or archers in formation should be able to shoot continuously instead of all at once. Or a little more complicated, soldiers with low health moves to the back of formation, letting others with higher health to continue attacking. These are reducing micro and very useful as a base for battalions behavior. This is also a great step towards battalion. Age of Empires III has Banner Army concept for Chinese civ that works similarly. At least this is a good step to reduce micro. I know this is a thread about Forge rework, but @wowgetoffyourcellphone's screenshot of battalions really pumped me up somehow. I really want this feature lol, but I admit I haven't yet to comprehend UnitAI.js entirely.
  4. @Alexandermb, As now we have DamageVariants that can set different variants based on health level, can we now also apply different animations to it? For heavy damage, set the similar actor but with walking animation replaced with wounded walking variant?
  5. I have done a bit of research on the idea of secondary resources in my City Building mod, and yes, it would create micro that while make sense in city building games, quite distracting in RTS games. One way it could work like in Stronghold games is by making forge converts wood/metal into weapons using ResourceTrickle. Technologies can be used to switch/stop production. In this case, just like in Stronghold, soldiers can be instantly trained. The problem is that the GUI doesn't really made to accommodate so many resources. @Monder87's 0AD Economy Simulation mod has overhauled the UI for this reason, however I haven't yet able to fully comprehend the code to implement it in my mod, so I will postpone this idea for now.
  6. @Freagarach This works with Alpha 24, haven't tested it on SVN. I have tested the morale regeneration using Aura i.e. create aura that increase morale regeneration, and it works well, suggesting that the morale regeneration is not the issue. That's why I tried to copy some code from Auras.js to Morale.js, I don't know why the morale regeneration is not applied. I haven't traced the whole chain though, that is a good suggestion. I should have also check whether there's something wrong with ExecuteRegeneration. I will take a look at it in the weekend. Thanks!
  7. In previous alphas the models don't have those bases, so on uneven terrain sometimes the building seems to be floating, sometimes half the building gets buried underground. So the developers decided to add extra base for each model to avoid this. It's not like the artists created tall fortresses and the developers decided to bury half their height. As to why they are shorter than wall, I believe it's for historical purposes. Ancient fortresses were not medieval castles like in Age of Empires II, they are just oversized towers/standalone gatehouses here. Artists and historians here please CMIIW.
  8. Hi @Freagarach, Sorry I forgot to check that the repo was private, already made public now: https://github.com/azayrahmad/0AD-morale-system I did clean on ownership change, but I put it without checking for INVALID_PLAYER, as Auras.js done as well: Morale.prototype.OnOwnershipChanged = function(msg) { this.CleanMoraleInfluence(); if (msg.to != INVALID_PLAYER) ... }; I put Warn code inside ApplyMoraleInfluence & RemoveMoraleInfluence to debug and they are both triggered during the game. However, I don't know a way to see what entities morale influence applied to, and I see that my units are not impacted by the defined effect (They don't have increased morale). Please let me know if you notice something wrong, and thanks for your help!
  9. So I'd like to create a Morale system mod... My plan is to make it to be some kind of Aura of units that influences other units in range. However I need it to be more dynamic, i.e. the effect strength would change according to unit's own morale strength. I decided to create separate component. Morale.js. There are two mechanisms in this component: (1) Morale level and how it affects unit performance. This is similar to how Health.js works. (2) Unit effect on other units in range based on its own morale level. This is intended to be similar to how Auras.js works. The first one already work, but the second one is not yet. I still don't understand why the effect is not applied yet. This is the repository on GitHub: https://github.com/azayrahmad/morale-system The problematic part is in simulation/components/Morale.js. Here are the snippet of the relevant parts: Init: Morale.prototype.Init = function() { this.affectedPlayers = []; ... this.CleanMoraleInfluence(); ... }; The CleanMoraleInfluence(), intended to be similar to Clean() function from Aura.js. The target here is to apply morale influence to any allied units in 10m range. (GetAllies() also includes player's own units right?) Morale.prototype.CleanMoraleInfluence = function() { var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager); //Remove Morale let targetUnitsClone = []; if (this.targetUnits) { targetUnitsClone = this.targetUnits.slice(); this.RemoveMoraleInfluence(this.targetUnits); } if (this.rangeQuery) cmpRangeManager.DestroyActiveQuery(this.rangeQuery); //Add Morale var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); if (!cmpPlayer) cmpPlayer = QueryOwnerInterface(this.entity); if (!cmpPlayer || cmpPlayer.GetState() == "defeated") return; this.targetUnits = []; let affectedPlayers = cmpPlayer.GetAllies(); this.rangeQuery = cmpRangeManager.CreateActiveQuery( this.entity, 0, 10, affectedPlayers, IID_Identity, cmpRangeManager.GetEntityFlagMask("normal"), false ); cmpRangeManager.EnableActiveQuery(this.rangeQuery); } Here is the apply and remove morale influence functions. The intention is to apply the effect (add Morale regenrate by 1 per second) and remove it if no longer in range). Morale.prototype.ApplyMoraleInfluence = function(ents) { var cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); cmpModifiersManager.AddModifiers( "MoraleSupport", { "Morale/RegenRate": [{ "affects": ["Unit"], "add": 1 }] }, ents ); } Morale.prototype.RemoveMoraleInfluence = function(ents) { if (!ents.length) return; var cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); cmpModifiersManager.RemoveAllModifiers("MoraleSupport", ents); } And lastly OnRangeUpdate. This should run apply and remove functions when units are moving in/out of other units range right? Morale.prototype.OnRangeUpdate = function(msg) { if(this.rangeQuery) { this.ApplyMoraleInfluence(msg.added); this.RemoveMoraleInfluence(msg.removed); } } I have been looking at the code all day and still don't understand why does the effect not apply. In the repo I added template units that includes Morale which start at 50%. The intention is that every players unit within 10m range should have increased Morale, but they don't. If you want to test this with Aura and see how I intend this to work, you can put these snippet inside template_unit.xml: <Auras datatype="tokens"> morale_friendly </Auras> Any help would be extremely appreciated. Thank you!
  10. Hi @vladislavbelov, Your solution works wonderfully. However when I tried to switch tab, the rightmost column (Livestock bred) remains in all tabs. This does not happen in vanilla. Not sure what happens, but at least it's minor bug and as a whole still work.
  11. The flashing is nice to have, but highlighting when hovering is really important, I think.
  12. I'm especially interested in the wounded state feature, definitely want to adapt this to my mod . Is it possible to make injured units stance to Flee? I think it could make for a realistic unit behavior.
  13. The voice list is here: https://trac.wildfiregames.com/wiki/Audio_Voice_List. It's nice though if this documentation is available in-game.
  14. Hi @vladislavbelov Here are the zip file of the mod and the interestinglog for the issue encountered. Thank you. coin_resource.zip interestinglog.html mainlog.html crashlog.txt
  15. Wait... Is the nude women intentional? And is it only on certain civs? I rarely played Mauryan in DE though so not sure.
  16. I tried the ModdingResources tutorial on Trac and find that there is no information on how to edit Summary screen at the end of the battle to show the newly created resource. So now after adding new resource, opening Summary screen shows error message like this: Anyone knows how to solve this? I tried to look at other mods with new resources (DE and 0abc) and found the same error.
  17. Historically ancient Greek women were forbidden to work, especially the kind of work depicted in-game (farming, lumbering, and mining), except the very poor who have no other option. Is it possible to reduce women percentage for Hellenes citizens? I see that in DE A23 the percentage can be set in actors (but then the women have men's voice lol), not sure how it should be done in A24.
  18. @Alfred Thanks for your suggestions! Some of your suggestions have also been in my mind recently. I decided to not make houses generate coins, as there's no record of ancient governments taxing households coins. But I am working on creating a food taxation system. I have in mind to create this as well, but a bit unsure about the historicity of this. Nobility taxing the lower class seems to be the truth in medieval era, but I'm not sure this is the case in antiquity. In Greek city-states, the wealthy are the ones who funded public/civic duties (liturgy). Someone with history expertise might want to share opinion? Now this, I read that Athens' Piraeus harbor implemented this trade tax, not sure about land markets but let's assume they did as well. But it can be done. So the coin resource trickle would be 5% of Trader's capacity. This is great idea. I just read an article that says Parthenon was used to deposit a large sum of coins, probably used for war effort. This sounds like taxation system in Delenda Est. Well this mod is city building mod, the coin was made to reward city planning after all. Besides all buildings consume money (coin negative trickle) as well, so it should be well spent and not infinite. I'm still balancing between trickles to prevent too much coins. This is great idea but I'm not sure how it would implement in RTS like 0A.D. I tried to avoid the feature to feel like AoE3 Home City. Perhaps it could be simplified, like techonolgies researched at markets/docks. E.g in Rome's market: "Open Trade Route with Caesarea" cost: 700 coins, effect: markets trickle -1 food/sec, +1 wood/sec. Different civs could have different trickle effects based on their historical trade. Trade could also be stopped with another tech "Stop Trading with Caesaria" that stops the trickling.
  19. @Alfred Silver resource is not in this mod, but in @Nescio's 0abc mod (another, more polished mod). In my mod I called it Coin, but yeah it works similarly with 0abc. As for your suggestion, yes that was what I aim for. Currently the coin seems to increase exponentially lategame, and I want to reduce the rate per second. However as I mentioned in previous comments, I'm afraid this concept i.e. governments taxing coins from households, is a bit ahistorical. I'm contemplating a way to a more realistic and historical currency usage. Probably simulating coin minting by converting metals to coins in civic centers/markets. I also want to limit coin usage for expensive soldiers only (champions and mercenaries). But I'm still thinking if this is too redundant for creating another resource (I also have in mind to create Knowledge resource for researching technologies).
  20. I agree that I think the best civ for tutorial is any of the Greek civs (Hellenes), in addition to them actually being colonists (If we already agreed on the story being the founding of a Greek colony), they are also make up almost the majority of civs currently available in 0 A.D. As for @Freagarach, I agree with your tutorial syllabus, but I suggest putting Basic Warfare before Advanced Economy. Basic Economy should be followed immediately by Basic Warfare, so we could see the connection between economy and combat immediately. I also agree with @wraitii that 0 A.D. Interaction can be put much later. I suggest putting this after Basic Warfare. My first RTS was StarCraft, and this game has only one official tutorial, basic economy (goal is to gather 100 resources). The rest of the mechanics are explained piecemeal across the entire campaign. And I enjoy it more in comparison to AoE2 style of tutorial campaign set. Some other tips I think would be useful: 1. Beware of combining too many learning materials in one scenario. It's better to have only simple goal for each scenario (e.g. gather 100 food, train 10 citizen soldiers and build 1 barracks, etc). The rest of the time can be filled with explanation or history. This is where story/narrative plays a part, i.e to make simple tutorial less boring. 2. Make the goal specific and the solution general. Do not rely on triggers to goad player into completing a goal in a specific way. I've seen a countless tutorials where I have to walk to certain spot before the next step, and then the next order never came. It was bugged. Tutorials relied on scripts so use it wisely as little as possible. 3. Reveal the features slowly. It also means hide features that are not yet needed in the scenario. If the goal of the scenario is to build farmsteads only, then ensure all units can only build farmsteads, hide other buildings from UI. I'm really looking forward to 0AD tutorial campaign
  21. LOL this cracks me up. On a more serious note, in StarCraft series, Archons can be made by selecting two High Templars and with enough resources, essentially merged them into one Archon unit. If we have mechanism where builder can be deleted after building completed, we can implement this.
  22. I was surfing the web, trying to find some free 3D models for my mod when I found this site: https://www.smk.dk/article/digitale-afstoebninger/ The site is in Danish, so I have to use Google Translate. So SMK (Gallery Museum of Denmark) 3D-scanned some of their collection and released the 3D models free of charge (CC0). We still need to reduce polygon and paint it, I guess (I'm not skilled in 3D modeling). It's okay to use Public Domain object for 0 A.D, right?
  23. Hi, I'd like to use the Athena statue in DE for my mod. I traced the information of the author of the statue and found this thread. So if I understand it correctly, it was a free model from www.cadnav.com, heavily modified by @Enrique for use in Delenda Est mod by @wowgetoffyourcellphone. Soo... where should I acquire the authorization to use this statue in my mod? Thank you.
  24. I noticed that in YouTube, 0 A.D is not yet listed as a game, so it can't be shown in game category like this: Anyone knows how to add 0 A.D. to YouTube listing?
  25. @captBluesky You probably want to read some previous discussions about rams. As for some of your ram ideas, I agree with them. 1. It is doable in current game engine. However it is arguably complicating the game i.e. adding micro. 2. Possibly doable with some tweaks. I believe rams were capturable before, not sure in current alpha. 3. So like below certain health it is immovable? Again, arguably complicated, but interesting. 4. It already is. 5. Doable with aura. But rams are already deadly to building as they are. I will try to implement this to a mod if time permits this weekend, see how they go.
  • Create New...