Leaderboard
Popular Content
Showing content with the highest reputation since 2026-08-20 in Posts
-
8 points
-
I've been working on a new feature to add to the game. The idea is to provide an easy way to preserve our hotkeys, create templates, and quickly switch between them. Potentially export presets into a plain text file. I currently have a basic implementation that covers the minimum functionality: duplicating and deleting hotkey presets, while always keeping a Default Preset as a baseline. The presets are stored in binaries\data\mods\public\moddata\hotkeypresets.json (in theory, this would be mods/user in a compiled redistributable version). Just like with user.cfg, this .json file only stores hotkeys that differ from the default hotkeys. Initially, I wanted to use an INI-style file structure, but I'm not sure if there is an equivalent function to WriteJSONFile for that. I chose this location because it is already included in the whitelist, so I can avoid making changes to the Engine. I also didn't want to use user.cfg and add dozens of extra lines to it. So basically, the code adds a .json file that stores, reads, and modifies hotkey presets, and then copies/applies the active hotkeys to user.cfg. As for mods that interact with hotkeys, the idea is to change the current workflow as little as possible. So if there are any details I should take into account from a modding perspective, please let me know. Do you think this functionality would be useful to have? And, especially for the devs, does this seem like an appropriate approach, or would you recommend a better alternative?4 points
-
3 points
-
Three versions ago? Maybe? Supposedly? It was communicated then. I never paid attention to it, but I believe @guerringuerrin.3 points
-
3 points
-
3 points
-
I think it is pretty nice! and you can presumably share custom hotkey setups as a .txt file. I think it is useful, and simple enough that it fits with the existing intrastructure.3 points
-
A proposed upgrade for Han houses: The Tower House +5 population bonus +5 vision range +1 projectile (short ranged attack added)3 points
-
3 points
-
The issue here refers to showing the ceasefire timer to players who do not use the dev overlay timers. This and a few things I noticed myself have prompted me to make some changes in a mod that possibly should be considered for the core game. Specifically: Issues: The game version text on the top panel takes too much real estate in-game There is no ceasefire feedback to players not using the game time overlay It is not easy to identify if Wonder Win or Regicide is active - I have seen this determine matches Actions: Move the game version info to an About page available in-game freeing space on the top panel Add color and countdown status to the diplomacy icon Enhance the Match Settings icon to give feedback about Wonder Win and Regicide I'll post some screenshots in comments below this for discussion.2 points
-
If you guys make the map and outline a story, I’ll write the required triggers for2 points
-
Not to be rude Emacz, but it’s kind of annoying that every post you make outside of your one thread is just an advertisement, I click on each thread in hopes of some new knowledge or idea, and it’s just a commercial.2 points
-
2 points
-
The Thebans were quite big in music (mythologically, the walls of Thebes were built by Amphion with his golden lyre). Since the Han have Ministers, and I proposed Ephors for the Spartans, I'm going to propose Philosophers for Athenians, and had in mind Musicians for Thebans, for each civ to have a unique limited non-combat unit. Apparently, Theban aulos players were credited with adding keys to the instrument around 400 BC, like clarinets today (https://lucianofsamosata.info/wiki/doku.php?id=2013:aulos), with the most famous player of the instrument being Pronomos of Thebes (https://instrumentheritage.com/aulos). Timotheus of Thebes, as another example (both him and Pronomos had long beards):2 points
-
Given the amount of sources already used in it, I can only recommend : I don't know what Feminine Mystique does, but Bibasis Dance could be an historical alternative making use of an interesting attested Spartan custom, and the icon a Spartan woman (who were famously fit because of their exercising) doing it: And as you might now, the armour progression shown is quite unrealistic (and I'm not sure about feeding wrong ideas just because they might look more intuitive ). This is explained by historian Roel Konijnendijk (posting as Iphikrates) in https://www.reddit.com/r/AskHistorians/comments/5d3bkk/what_is_greek_hoplite_armor_made_from for example, one of the main points being "no real evidence of the use of leather armour" in Ancient Greece (even when more medievally inclined people tend to think otherwise). Then, streamlining a bit what I proposed in Thoughts on the Spartans, one could start with Bell Cuirass, and go through the more period accurate techs (or their more prevalent adoption at least) Transitional Cuirass, Muscle Cuirass and Linothorax, while making them look progressively more interesting: One could add the pteryges (leather strips) on all armours, but they are an integral part of the last, and I ran out of free AI images (abs should be added on the second, and the last can be improved).2 points
-
The WFG team is in current discussions revolving around the inclusion of LLM content in the base game. The consensus seems to be swirling around these points: No LLM-generated Art or History articles in the base game. Must be written or created by a human. LLM-generated code is only okay if the one presenting the code understands the code. This is important for further improving the code and in being able to communicate with the other programmers. I support both contentions. However, for mods, I think the sky is the limit and we should be able to push the limits of what's possible. For the base game, let's push the limits of what's possible by volunteer human minds and hands. I think being looser with mods is a good trade off. So, yes, in Delenda Est you'll see these LLM-generated images.2 points
-
2 points
-
Stop Troll Connection Spam Tired of banned trolls constantly spamming your game log? Banned players might not be able to fully join your host, but they can still flood your screen and logs with relentless "Player is connecting" and "Player has left the game" notifications by repeatedly trying to join. This mod silences that behavior completely. Originally built to deal with persistent nuisances like ***, it works against any banned troll trying to clutter your UI with connection attempts. Log & UI Cleanup: Suppresses connection and disconnection chat/log messages from banned players. Server Stability: Blocks the notification spam without interfering with your standard ban list setup. Universal Protection: Easy to customize or add new troll names/IDs to keep your screen clear. Installation & Usage Drop the mod file into your game's mod directory. Ensure your ban list is updated with the target player(s). Edit gui/ban***/banlist.txt Host your game as usual—connection spam will now be filtered out automatically. Feedback and bug reports are welcome! Mod by Geriatrix.2 points
-
2 points
-
Here I will now share a modified map of "battle of the tiber" scenario. I call it "rome with crossing". Water depth is modified so that ships have more movement options. Especially in the swamp area. Altough there first the trees need to be cut. There is also a small foot-path to cross the tiber river in the middle of the map so that land units have a small path to cross the river. Altough not wide enough for rams etc. they still need to take the long way around the bridge. Hence the change of the name. In the beginning only merchants and fisher can pass, also when trees cleared all ships have passage there. Merchantman can travel almost up to Vai while military ships only half the way. There are also lot of treasures all over the map but also to give rome a boost in the start, because they start with no units unlike other parties having a small group of champs. The screenshot shows a arrow ship in the swamp surrounded with worker units. PS: This is the map with my water-fall messing up in topic "waterfalls" Rome-with-Crossing9.xml Rome-with-Crossing9.pmp2 points
-
Depends on what. Rendering and simulation are on the same thread, pathfinding runs in multiple threads. Sound is in its own thread. The OS decide which threads goes onto which core. @vladislavbelov is working on a way to run the rendering on parallel to the next simulation turn. That will help although on higher end machines, rendering isn't so hard on the GPU.2 points
-
You could always open issues or even better pull requests and get the problems fixed. It is surprisingly easy to make a PR for text changes using just the web UI.2 points
-
2 points
-
2 points
-
2 points
-
We need ideas for Han Xin and Wu Han. Global Aura, a Ranged Aura, a Special Technology, and an Upgrade (usually to a mount, but sometimes some other kind of upgrade, such as Empress Dowager for Empress Lu).2 points
-
@lilypoppy I'll go through Richardson's commentary to refine each scenario. He states that Appian thinks Carpessus is Tartessus, but "it is often assumed that Appian here means Carteia, on the bay of Algeciras, close to Gibraltar". This means that Carpessus/Carteia should be in the south of the map, and Tribola in the north: Also checked A Historical Commentary on Polybius, by F. W. Walbank, but there's no more info regarding the Titthi and Belli, while in Hispaniae, also by Richardson, it's stated that "might be that there was a division between those of the Belli and Titthi who supported Rome and those who sided with the Arevaci", meaning, maybe not all of them were pro-Roman (there are contradictions between Appian and Polybius anyway). Finally in The Decline of the Roman Republic, by G. Long, I find: "The quaestor of Vetilius was with the troops which fled to Carpessus. Appian says that he applied to the Belli and Titthi for five thousand men, that he received them and sent them forward against Viriathus, who killed them all. The quaestor himself kept quiet within his walls waiting for help from Rome. We cannot understand how a man shut up in a town on the south coast could communicate with people in the centre of Spain, and receive troops from them. If the Belli and Titthi fought with Viriathus, it may have been in their own country and in self-defence. Appian's narrative is here unintelligible". Trying to follow Appian as closely as possible (not to overcomplicate ourselves), I'd leave things mostly as stated before, assuming that somehow the Titthi and Belli are at the scene already, or arrive after being called upon before these events, or just after but a long time has been compressed. I'm thinking then, as I said before, to "move the Titthi and Belli colonies closer to the Romans", but maybe instead of colonies they should be rally points from where their armies will enter the map after triggered. That would be great, thanks a lot! I have no problem writing whatever needed.1 point
-
That's why you should avoid fishing during spawning season1 point
-
@Thalatta Here's how I understand the scenario 1 , let me know if this is right: Setup: player starts bottom-left near the Roman army (Carpessus/Tartessus). CC is top-right, representing Tribola. Phase 1: skirmish cavalry distracts the Romans while the rest of the army retreats to the CC. At the CC: we regroup and grow stronger (tech, troops, defenses) before the Romans arrive, then fight and defeat them — Vetilius dies here. Phase 2: a trigger fires and Belli/Titthi armies attack the CC. We destroy them to win. Two questions: Is the CC meant to be Tribola specifically? Is the fight against Vetilius at the CC a real battle, or a scripted event on arrival? Thanks again for all the work you put into this! Here's the map:1 point
-
Shipsheds should be rotated 90°, that way you can easily make them longer in the correct direction to fit the ships inside. Vanilla follows this idea, but it's also wrong there, because the game does this: When it should be like this (more efficient): These are Athenian structures, built monumentally, most other Greeks (like the Thebans, who were not good at sea) would use impermanent timber shipsheds.1 point
-
Maybe we should enhance the tooltip of fruits (bushes, trees ...): https://gitea.wildfiregames.com/0ad/0ad/src/commit/2cc0cf457a766000e6372355e8c2b97e824bb962/binaries/data/mods/public/simulation/templates/template_gaia_fruit.xml#L9 Any ideas?1 point
-
"Strategy Game Icon Style" (the standard I've taught the LLM to maintain): Iconized for in-game: Athletic Dances (replaces "Feminine Mystique") Cost 300 Food 300 Glory Effect Spartan Women +100% attack. Spartan Women +25% health. Spartan Women +5 carry capacity for all resources. Description Ancient Spartan dance was closely tied to education, athletic training, religion, and communal identity. Spartan boys and men practiced martial dances, especially the pyrrhichē, which imitated combat movements—dodging, striking, advancing, and retreating—and helped develop rhythm, agility, and coordination. Choral dancing was equally important at festivals such as the Gymnopaidiai and Hyakinthia, where age groups performed songs and dances that celebrated discipline, military virtue, civic continuity, and the gods. Spartan girls also received unusually extensive physical training by Greek standards, and dancing formed part of that culture of public athletic display. The female Spartan dance usually called the bibasis (Greek βίβασις) was an especially athletic form. Ancient descriptions portray dancers repeatedly leaping upward and striking or touching their buttocks with their heels while airborne, apparently counting the successful repetitions. It was therefore less like a restrained ceremonial dance and more like a combination of dance, jumping exercise, and competitive athletic display. Both young men and women could perform versions of it, but Spartan girls became particularly associated with the feat. One ancient anecdotal tradition even praises a girl for performing a thousand consecutive kicks or jumps, although such numbers should be treated as celebratory exaggeration rather than a precise athletic record. For Spartan women, the bibasis fits the broader educational ideal attributed to Sparta: girls were encouraged to cultivate strength, stamina, coordination, and bodily confidence, rather than being confined exclusively to domestic accomplishments. The dance would most plausibly have been performed in a short, practical tunic, allowing freedom of leg movement, probably barefoot, and without armor. It was athletic, rhythmic, and distinctly Spartan in the way it blurred the boundary between dance and physical training.1 point
-
AFAIK that's how they behave in the wild. And I agree that foxes should not attack unprovoked.1 point
-
@lilypoppy, this was actually harder than I thought because there are some issues with Appian's account. I ended up using another version that made more sense, for then to realise it was "forced" to make more sense by transcribers. In any case, I'm using it, and will explain things at the end (referred with *, ** and ***) of the following summary (hidden for those who just want to skip it): For my campaign proposal, first of all, I don't really know what can be actually done regarding certain triggers, hopefully things can somehow work as I state (and I've seen in other games), otherwise modifications will be needed. Campaign title: you used Fire of Freedom, which sounds a bit weird to me. I guess it takes from Polybius' "Fiery War" term regarding these and related events. Burning Heart could be another name, hinting to Braveheart (a barely similar story), and it's a song by the band Survivor (Viriathus survived the massacre, just to have some obscure connections I guess). I arranged all in four scenarios: Scenario 1, The Blood of Lusitania (based on §60, §61, §62 and §63) Introduction: mention of the ongoing war, Viriathus made leader after saying they should escape the Roman army instead of seeking talks, or they could be massacred again. Setup: one starts with no resources, with a CC on one extreme, and on the other extreme an army with skirmishing cavalry close to a Roman army and settlements, with Belli and Titthi armies standing by (if Carpessus is Tartessus, the armies should start in the lower left, and the player CC in the upper right). Objective: distract the Roman army with skirmishing cavalry while the rest reach for the CC. After a certain time, supposedly after the first Roman wave is repelled, the armies of the Belli and Titthi should attack, and killing all of their troops wins the scenario. Scenario 2, The Fire of Carpetania (based on §64, §65 and §66) Introduction: mention about raiding and expecting different Roman armies to be sent, while planning to convince the Arevaci, Titthi, and Belli to join the cause. Setup: one starts with an army without builders, and no resources. Objective: certain amount of loot, treasures, tribute, and similar, as to be obtained, ideally making conquering not the way to go. At some point in time or progress, more and more Romans come into play (they should be unstoppable), and the option to somehow convince the Roman allies to join appears. The scenario is won when convincing a certain number of them. Scenario 3, The Wrath of Hispania (based on §67, §68 and §69) Introduction: mention the defeat against Aemilianus, along with the expansion of the war in other regions, and that after a few engagements, Servilianus has been sent with elephants from the Numidians and is seemingly defeating Viriathus in a battle. Setup: one starts with neither buildings nor resources, just with an army being attacked by a much larger Roman army (with elephants from Africa), and the Lusitanians having then to retreat, and plenty of passive units around become the player's when approaching them (or similar, to represent rallying of fleeing units). Objective: turn the tide of the battle by finding these "capturable" units fast. Capture buildings to start gathering resources. Certain Roman CC must be captured to win the scenario. Scenario 4, The Ashes of Betrayal (based on §70, and also foreshadows §74) Introduction: mention that with the last victory Viriathus obtained a peace treaty, but that Caepio is not happy about it and convinces the Roman Senate to reignite hostilities. Setup: besides a certain amount of Gaia dropsites, I think the rest could be normal. The Vettones and Callaici could also be present to distract the Romans, which should start with advantage. Objective: destroy the Gaia dropsites before a certain amount of them is captured by the enemy. Ending: (based on §71, §72, §73, §74 and §75): mention the ignited guerrillas, and Viriathus wanting peace but betrayed and killed, the new leader Tantalus trying but surrendering to the Romans, with the Lusitanians obtaining lands to live the peace, ending the war. This would be similar to the endings of movies like The Last of the Mohicans or The Last Samurai, not a victory in a way, but a story of resistance.1 point
-
Match Settings indicator: Could show time remaining for wonder win when hovering (as this is sometimes lost in the center notification area with other messages) Red when an opponent will win with Wonder Green when your team will win with Wonder Yellow when no wonder has been built yet Magenta when regicide is enabled1 point
-
1 point
-
1 point
-
1 point
-
There is no deep plan yet. I'll need someone with a deeper understanding of the game's code to help me do this part, or, at least, make it possible in the base game's code for mods to add battalions of this type, even if public mod ("Empires Ascendant") doesn't use the feature.1 point
-
I can see that but it might be worth noting you are not the author of this mod but Geriatrix is and naming it after a player even someone most people know well does give it a bit of an uneasy feeling especially given it's such a minor problem.1 point
-
1 point
-
It runs fully sequentially, but there is good potential to parallelize parts of it. This is something I'm working on actually. Yes, I think so. Sadly, I personally don't know enough about it to implement it myself, but I know that there have been experiments/attempts by others in the past.1 point
-
@lilypoppy, I'm not sure what's going on with that writing format, but it took me a lot of time to try to edit a quote, just to lose everything like 3 times just by doing CTRL+Z on text that wasn't even in the quote. Also, I wonder if you are tagging incorrectly, since I saw your post by chance, it doesn't appear in my notifications, and also I didn't see it under Unread Content, which is even weirder... Anyway, regarding potential allies, the source states that the Romans hired the Celtiberians (Belli and Titthi) against the Lusitanians, even after the death of Gaius Vetilius. It's later on that Viriathus detached them "from their allegiance to the Romans". I'd say first read all that's said there about Viriathus, and then think about how you want to organise the whole campaign. I wonder if you really have to limit yourself to just 3 scenarios. Also, the Vettones are pre-Celtic, like the Lusitanians (both were usually allies), thus not Celtiberians (although some claim otherwise, but doesn't seem the main view). All of them appear in this map (these things might not appear on ancient sources, you have to read modern texts also): EDIT: that map represents the situation 150 years before Viriathus, but 100 years later (200 BC) the situation was still quite similar:1 point
-
My recommendation would then be to try to make it historically accurate. You can check Appian in https://www.livius.org/sources/content/appian/appian-the-spanish-wars, where Viriathus' story covers from §60 to §75. I can help you with the distillation and writing of information if you need that. You could for example paraphrase Livy (who didn't write a lot about him) by stating somewhere "From shepherd to hunter, from hunter to bandit, from bandit to leader".1 point
-
1 point
-
I think firstly that walls must be made more useful and less buggy before another countermeasure to them (new Siege Tower features) is implemented. Walls need: 1. Environmental Snapping, such as to (very important) cliffs and impassable water edges, and to objects such as stone mines. 2. A health/cost/buildtime rebalance once they become more ubiquitous in multiplayer. The balance here will be crucial. Perhaps they should be slightly OP in most situations so that countermeasures such as Siege Towers (and other things? Undermines?) are warranted in the first place. 3. (not crucial) I'd like to add Sally Ports, which are like narrow "gates" but only allow one unit through at a time. So, they allow your units through and are more defensible than gates, but are allowed much lower passable bandwidth (and only let soldiers through, not civilian units, elephants, or siege weapons). Battle for Middle Earth II had these and they were nice. 4. I think the way archers "unturret" off of the wall is goofy-looking. Furthermore, which side of the wall they ungarrison to is not immediately clear nor easily controlled (if currently even possible at all?). We should fix this somehow. Maybe we can animate units running laterally across the wall's parapet to the nearest wall tower and ungarrisoning from those.1 point
-
1 point
-
1 point
-
I think only ramming ships should be able to board, and should have a harder time with faster ships, needing to ram them a bit beforehand. Then, a defending “base garrison” would need to also be overcome in “virtual combat”. This base garrison could be depleted by ramming, making the target ship incur a speed (and maybe attack) penalty. After capture, the base garrison from the attacking ship (never involved in boarding actions) should be automatically distributed among both ships. Base garrisons could slowly replenish at sea, fast at ports. All this easily removes the necessity of having to garrison everything, while making things realistic by keeping boarding fairly common (as it was) but preventing snowballing from opportunistically hoarding ships. Better explained: It would be annoying to have good ships get captured by hit and run tactics from slower ships with a small crew and when not even engaged in combat (which happened mostly with sails lowered, but I guess the game simplifies this and that’s why the ramming ship has them like that). This is the Fortress capture problem at sea (which these ideas also try to solve). Boarding should then be done only by ramming ships, the one representing close combat. They should have a “Grappling Hooks” button that would work when really close, but the target ship should have a chance to get away depending on its speed relative to the attacker’s ship. Ramming was done not just to sink ships, but also to slow or stop them by shearing their oars (which would injure or kill the oarsmen). Only then using grappling hooks for boarding would be feasible. The corvus could prevent the target ship from getting away, but it wasn’t just “way more efficient at boarding”, it was necessary because the first Roman ships were slow compared to the Carthaginians’, after a couple of battles their ships improved and they ditched the corvus (which apparently made ships unstable), so it shouldn't be seen as a technology that improved things from then on but as a short lived early necessity. I’d change needing “4 or more garrisoned troops” and instead give every ship a “base garrison”, taken into account for the defenders when in virtual combat. This would be just a few parameters regarding how many they are, their attack, and defense (and loot, which I’d reserve for a successful boarding, but maybe that’s extra code and not how the game works). The number of troops needed to take an ungarrisoned ship would then depend on the ship itself (would be annoying having to garrison the biggest ships because of small ships with 4 archers lurking about). I feel units like cavalry or elephants shouldn’t count in any of this. An attacker can choose to disengage the grappling hooks if things are going south, which would also automatically happen if the defenders repel the attack (leaving the attacking ship only with its untouched base garrison). Most oarsmen were skilled armed free men, who were killed or taken prisoner, not generally made row a captured ship (which is very complicated, they had to be willing and motivated). This is why I disagree with “the first ship will receive part of the second ship's garrison”, it's not rooted in reality, and it's too snowbally. If the boarding is successful, the base garrison from the defending ship could be considered killed (or sold to slavery considering loot, etc), and the one from the attacking ship would need to be split (maybe in proportion to capacity). A depleted base garrison should give speed penalties to the ship. After all, captured ships had to be scuttled or were slow after battles for being poorly manned. The base garrison could replenish slowly, fast if close to a port. All this makes keeping ships harder than just boarding and capturing, allowing for more strategic decisions and preventing disproportionate gains. When everyone is killed in the target ship, one would take control of it and, while still hooked, one should be able to choose if to keep it or scuttle it (and maybe if just abandon it). For now I'm not proposing any base garrison manual redistribution not to complicate things. I’d make ships suffer damage mostly from ramming only, I feel ships are too weak to arrows in this game, they should be more like rams, while arrows should mostly affect their garrisoned troops, and the base garrison should be affected mostly by ramming (oar shearing and hull breaching). I would add this mechanism on everything, siege engines and buildings. Fortresses would have a decent base garrison with a bigger defense bonus than on a ship. They wouldn’t count as population, they’re just a “resistance to be taken” parameter (which is going to be implemented one way or another anyway, better to rename things realistically for immersion and intuition, all this is a bunch of parameters only), and a “speed (and maybe base arrow rate) penalty” if depleted, for things to work nicely on ships to take faster ones. Big ships is one of the things that are good about this game, no need to try to be just another RTS clone. A few words about realism: what I said before greatly simplifies reality, even when much was written. The only difference from the original proposal is the few parameters to characterise a base garrison, whose quantity would influence the speed of ships and be reduced by being rammed (if just being damaged can be considered for now that’s ok), and that faster ships could get away from the grappling hooks (Edit: and removing the arbitrary troop quantity requirement to be able to board, one might try capturing a small ship with 4 soldiers, but a big one would be suicide). If one would want more realism, ramming should be done on the sides (made difficult when ships are formed side by side), and shearing should be done with an angle from the front (diekplous), or back after going around (periplous), but I know this is too much detail for a game like this (although the more is taken into account the better for tactics).1 point
-
Goguryeo armor and Han Dynasty armor are relatives, because Goguryeo armor is largely dependent on the craftsmen on the Han Dynasty land they occupied, so many times we will refer to them when restoring Han Dynasty armor.1 point
