Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2026-06-15 in Posts

  1. News: Following my initial idea and combining it with the Endovelico mod (however, I'm developing it completely separately for easy application for anyone who wants to use it) World map: Made with GeoJson using the QGIS application; It is now possible to train more than one Hero/General. Coming soon: FrogWar, province defense updates, and perhaps skirmish maps entirely focused on combat, a total war-like hybrid. I'm still seeing what's possible at the moment.
    5 points
  2. 1 point
  3. Hello everyone, I'm Yordan Vasquez (username: vyordan on Gitea). I'm 20 years old, from Guatemala, and I'm currently in my 5th semester of Systems Engineering. As a personal project, I'm developing KEM, a programming language built from scratch using C++ and LLVM. Its main goal is linguistic inclusion and education – teaching programming logic. --------------------------------------------------------------------------------------- Repository: https://github.com/vyordan/KEM English README: https://github.com/vyordan/KEM/blob/main/README_english.md --------------------------------------------------------------------------------------- What is it exactly about? The core idea is to make language separation purely lexical. To achieve this, I placed all reserved keywords in an external JSON file, which allows the language to be translated into any human language without modifying the compiler. Given my local context, I primarily thought of Mayan languages (Kaqchikel, K'iche', etc.). My goal is for people in my country to learn programming without English being a mandatory barrier. By default, the language ships with Spanish. Current status I've just finished the first phase of the compiler. I'd like to ask you, if you have a moment, to take a look at the repository and share your opinion. Just reading the README makes it very clear how I structured the logic and the reserved keywords I've implemented so far. Do you think such an approach can truly be useful for education and technological inclusion? Thanks for reading
    1 point
  4. Creating a new post which goes into details about Delenda Est's current technology tree and its icons/portraits.
    1 point
  5. Not specific to DE, but some other possible updates:
    1 point
  6. Please can I remind the lobby players to stay calm and take a moment to reflect on the current environment. Recently, we have observed some severe instances of toxicity and personal attacks in the lobby, especially in high level games. This is destructive to everyone. Despite being absent from the game lobby, I was able to detect the spillover aftermath. It’s becoming pretty clear that the sexual insults, heavy swearing, and targeting is putting new players off. When that kind of stuff happens, it signals that we aren't a welcoming or safe space - the already small player base shrinks further. Plus, we’re seeing a lot of unfounded claims about DDOS, exploits and market manipulation. Throwing these accusations around without proof just result in more disputes instead of solving anything. A few months ago, I introduced two of my real life colleague-friends to the game. To begin with, they really enjoyed the economy building part and cooperative strategies. However, as they started participating in high level games, the experience took a bad turn. Both of them encountered unwelcoming players, excessive swearing and long waiting times. One of them even reported being banned from a TG just because the host wanted an easy win. The other complained to me about severe sexual harassment as a part of trash talking while playing. I have also encountered all of these situations myself; it is very discomforting and discouraging to see offensive comments and accusations being thrown around as casual exchanges. Such behaviour not only damaged the image of the 0AD community but also made the real life relationship awkward between us. Some recent arguments even leaked out of the 0AD domain into my personal discord server. Let’s ensure that our discussions are respectful and contained within the appropriate space, even when we disagree. I have not posted any specific evidence here, as the goal is not to target any individual offender but to ensure that on a global level, for both new and OP players, they are able to enjoy their time, not feeling excluded or targeted. A safe space is also where privacy is protected - recording people's voice without consent and asking for their exact home address or other personal information are not appropriate. This brings us to the mindset of some OP players. We understand the drive for winning and balance. However, prioritising exclusivity over respect creates a hostile feedback loop that only reduces the talent pool and weakens the community over time. High-ranking members should lead by example, not by fostering a culture where toxicity is the default. This behavior signals that the community is unwelcoming and unsustainable. We also need to stop allowing sexual insults to define the lobby, and letting the desire for victory override basic decency. Thank you to all of you who are holding the line on respect, because your good behaviour is exactly what keeps 0AD an enjoyable game.
    1 point
  7. I want to report myself for being the most toxic 0ad player alive.
    1 point
  8. Yes, that was my chief inspiration.
    1 point
  9. A good rule of thumb is that if you are the worst player in your team then you should never be the first player to resign and that better players may be more liberal when resigning. If the lowest player in the team is doing poorly then the team may still win. If the highest player in a team is doing poorly then it is very unlikely your team will win. Here, it appears you were the lowest player--you should've waited.
    1 point
  10. I think there’s a balance to find between resigning too early and staying overly stubborn. If you feel like your teammates are still enjoying the game, still have a decent economy or population, then there is always a chance to come back, even if it’s small. In team games especially, one player being behind doesn’t necessarily mean the game is lost. On the other hand, if people start resigning too quickly, then a huge number of games would basically be decided on the first rush. We’d probably see something like 70–80% of games ending right after the first big fight, which removes a lot of what makes team games interesting: comebacks, coordination, and late-game decisions. So in my opinion, it’s less about whether you personally think the game is lost, and more about the overall situation of your team. If others are still in a good position or still trying to play it out, it’s usually better to stay and see where it goes.
    1 point
  11. Now you know why I delete everything before resigning
    1 point
  12. Since so many TGs end without all 4 players resigning I made a classifier for my version of the local ratings mod. This could be made to be used as a victory condition. I am getting also annoyed by mates that resign too early. But some games are already decided long ago and if there is a huge dis-balance in the score and population one could already call it a gg: So for a clear victory condition one could set the score factor to 1.2 and population to 1.8 or so. Just as a suggestion for the game or a mod. I don't have time and the desire to code atm.
    1 point
  13. LocalRatings Team Balancer A mod that extends LocalRatings by Mentula with two new buttons on the game-setup screen. One balances teams automatically by rating, the other evaluates the current setup and adds two outcome-based rating systems, Glicko-2 and OpenSkill, alongside the original LocalRatings score. Why outcome-based ratings? The LocalRatings ranking list already shows the problem: even with plenty of replay data, some known-strong players end up rated poorly and some known-weak ones look stronger than they are. Raw in-game statistics don't track skill cleanly. In a 4v4, if three players focus-harass one strong opponent, that player's stats look weak, though they're being targeted because they're strong. A useful comparison: modern chess engines evaluate positions with neural networks far beyond human understanding, yet FIDE still uses Elo, chess.com uses Glicko-1, and lichess uses Glicko-2. Even with perfect game analysis available, the established outcome-based systems remain the standard for tracking player skill over time. Win/loss results across many games carry a signal that in-game metrics miss. 0 A.D. has no chess-engine equivalent, so the case for outcome-based rating is even stronger here. Rating systems Three systems are available, selectable in the LocalRatings settings: Local Ratings (original) - rates players by in-game statistics relative to others in the same match. Works for all game types but inherits the limitations above. Glicko-2 - tracks each player with a rating, a rating deviation (confidence), and a volatility. New players start at 1500 ± 350. The conservative rating used for balancing is rating − 2·deviation, so a fresh player is treated as significantly weaker than someone who has won even one game. OpenSkill - an open-source Bayesian system based on the Bradley-Terry full model. Each player has a mean skill mu and an uncertainty sigma. New players start at mu 1500, sigma 500. The conservative rating is mu - 3·sigma. Glicko-2 and OpenSkill only count locked-teams games with exactly two teams; free-for-all and unlocked-team games are excluded. All other LocalRatings filters (minimum duration, population cap, cheat games, etc.) still apply and can be configured in the LocalRatings settings. Win/loss counts are tracked separately and shown alongside ratings. Balance button When the host presses balance, the mod reads all currently assigned players, looks up their ratings, and finds the partition into two teams that minimizes the difference in conservative rating sums. It then reorders the player slots. The result is posted in chat with rating sums, the rating difference, and a predicted win probability. Note the win probability it calculated with the raw rating and the pairing done with the conservative rating. Non-host players with the mod see a suggest button instead. Pressing it posts the same proposal to chat without changing any settings, so the host can decide whether to apply it. Both buttons have spam protection: pressing them again with the same player constellation does nothing. Slot shuffles or team swaps don't count as a new constellation. Evaluate button Reports on the current team assignment without changing anything: rating sum and conservative sum per team, the rating difference, which team is stronger, predicted win probability, and a full player ranking by rating with win/loss counts. Observers in the lobby appear in the ranking as well. End-of-game rating updates When a game finishes, the rating database updates on every mod user's machine. To avoid multiple mod users posting the same numbers to chat, only one client announces the changes; the others update silently. There's a known chat-line spacing bug that pushes this announcement far below the regular chat area. It can be fixed with this patch Including older replays The engine only exposes replays from the currently installed version, so by default ratings are built from 0.28.0 replays only. To include 0.27.1 replays, copy them into the 0.28.0 folder. They count toward all three rating systems. Linux: copy or move everything from ~/.local/share/0ad/replays/0.27.1/ into ~/.local/share/0ad/replays/0.28.0/ Windows: copy everything from %APPDATA%\0ad\replays\0.27.1\ into %APPDATA%\0ad\replays\0.28.0\ macOS: copy everything from ~/Library/Application Support/0ad/replays/0.27.1/ into ~/Library/Application Support/0ad/replays/0.28.0/ After copying, open the LocalRatings page and press Rebuild list to re-process all replays in date order. This step is needed even when rebuild isn't normally required, because the imported replays are older than your existing ones and the ratings have to be recalculated from the beginning. The imported replays won't be playable as visual replays in 0.28.0, but their metadata is read correctly for rating purposes. Limitations Team rating is inherently harder than 1v1. Individual contribution isn't fully separable from team performance, and the rating systems see each game as a single team win or loss. This is a fundamental constraint of every team rating system, not something specific to this mod. Cold-start: ratings come from the host's local replays only. Since the database is built from whatever the host has played or observed, players who appear in the lobby with no recorded games start unrated, and their conservative rating sits well below average until they accumulate results. A genuinely strong player with only a few recorded losses will likewise look weaker than they are. The automatic team pairing works as a correcting instance: A strong player with low rating will be paired with players with a high rating, resulting in a very strong team and a high likely win. This strong player will then accumulate wins. These unbalanced games might be frustrating. Three things you can do meanwhile: Accept the balance and play. The fastest fix is more games with the automatic pairing. Adjust manually. Use /rate username 1600 to set a player's rating before the match starts. Useful when a rating is obviously off. Seed the database. Download games with known outcomes from replay-pallas and drop them in your replays folder, then rebuild. Pick a balanced selection - similar wins and losses for each player - so you don't accidentally bias the rating in either direction. A player can help to fix their rating by uploading a few decisive games to replay-palas for the hosts to download. Non-decisive games. Most 0 A.D. team games don't end with the entire losing side eliminated, and Glicko-2 / OpenSkill can only update on games where a winner can be determined. The LocalRatings Team Balancer ships with an Auto-Classifier that infers a winner from in-game data (surviving populations, final scores and defeated-count difference) for games that ended without a clean engine verdict. The quality of your ratings therefore depends partly on how well the Auto-Classifier performs on your replay set. Per-game rating changes under your current settings are visible in the replay section. Locked teams. The most sensible option usually would be only evaluate games with locked teams. The problem is when one switches the map e.g. from mainland to balanced-mainland the settings defaults to unlocked teams. In most cases this is harmless as the players just don't change their diplomacy states. Therefore the option Rate unlocked-team games exists. LocalRatings_Team_Balancer.zip
    1 point
×
×
  • Create New...