Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2023-12-28 in all areas

  1. Spidermonkey also breaks API in minor versions sometimes (happened for 78). Another issue was the ICU problem where you need to have the same version between spidermonkey and 0ad else it will fail to link, but they do not pick it from the same place.
    2 points
  2. I don't really know how well this works in principle, I mainly took it originally that Petra should be moved out into it's own mod w/o public and nearly all the managers should be exposed to zero_ad.py (my main focus was https://github.com/0ad/0ad/blob/master/binaries/data/mods/public/simulation/ai/petra/tradeManager.js#L587) but since multimodal LLMs can make judgements on strategies from gamestates/minimaps/Atari(like) bitmaps it might make sense to query it once for general strategy and then as the game progresses check for changes in strategy (using the LLM is a bit of a cheat/hack + no way of knowing if you get the best strategy). It would be a little like say reading all books on Themistocles strategies + presenting state (or minimap) for next best set of build orders or something, ie "He persuaded the Athenians to invest their income from silver mines in a war fleet of 200 Triremes." ... but then again looking through some of the managers quite a few methods have already really been somewhat optimized (and LLM would probably ruin some things). I think I looked @ https://github.com/0ad/0ad/blob/master/binaries/data/mods/public/simulation/ai/petra/startingStrategy.js#L207 before as well. (Also bear in mind my game + map setup is always the same + conditioned for this so it doesn't apply to the overall game) and swap to MicroRTS for a "lighter version of 0AD", https://github.com/Farama-Foundation/MicroRTS-Py ...
    2 points
  3. 0AD's initiative to give a historical and educational context to the game, the AoE saga also brings this feature, where AoM stands out the most. It explains every detail, technology, building and unit. The encyclopedia is included in the game. It gives a simple and short summary of the topics covered. ----- @ShadowOfHassen here is.
    1 point
  4. I thought it was clear enough; but since the ptols don't have another way of research maybe cut the word "Structures"?
    1 point
  5. It's a python-3.12 issue, I created a trac ticket with a link to the upstream patch, no need for more info or experiments, it's easy enough to reproduce. Gentoo did for the longest time, then stopped because the restrictive header check became annoying for packaging, not because it could lead to OOS. Pretty sure once upon a time Ubuntu did the system mozjs thingy as well. The header test I consider a remnant of the sm-1.8 days. The pc file already ensures same major version.
    1 point
  6. Thanks! It was always interesting to look at the game from a new angle. It's like your character is running right along this wall.
    1 point
  7. Apparently Fedora also uses devel packages so you'd need https://packages.fedoraproject.org/pkgs/mozjs91/mozjs91-devel/fedora-39.html, not mozjs91.
    1 point
  8. The LLM is a full time hallucinating machine :-) it was meant to be a (half) a joke. However I think at some point you can feed (or "fine-tune") it with a more in-depth version of a game manual and have it work pretty decent (definitely not as fast as what might be required for RTS) but more as a critic for moves maybe. I recently read Sony would adjust settings in realtime (https://insider-gaming.com/sony-patent-game-difficulty/) which seems a bit (odd) interesting (I thought tons of games already did this). It would be actually kinda cool if say you did spawn a Themistocles or hero you got a chat/hint message from them on your gameplay if human vs. AI ... but that is future talk on running locally or remote (ie OpenAI API, etc.) - who knows maybe that day is sooner than realized :-\
    1 point
  9. I've been fooling around with an orthogonal camera. It would be nice if it was more consistent with the perspective camera. This is as good a result as I can get, at least for today: Boston
    1 point
  10. I don't know why passing the value by a global variable didn't work last time, but this time it did! Boston.
    1 point
  11. I want to just point out that unlike how ChatGPT says, Brasidas died around the 400 B.C. He did not live anywhere close to the year 0 A.D. Also, I think the LLM is hallucinating costs for units. It also spends 150 wood when you only say 100. You'd have to get a pretty good LLM to have it not do that with 0 A.D. However, I do like the idea of having customizable AI, probably not for the skirmish because having Athens's always do the same strategy could make the game repetitive, however having AI in campaign act like the actual generals during history would be cool if it would play well also.
    1 point
  12. I really enjoyed making this one: You can see @Freagarach's Gaia emblem there. BTW: The "Statistics" area will list the basic stats for the unit, similar to my "Template Viewer" mockup. I think the in-game Template Viewer could remove the "History" section and instead have a button to open the Game Library article. Save a little room on the Template Viewer.
    1 point
  13. Guess you know what vanilla refers to code wise, so in this context I define it as the shared vision of the game while modifications as approximation of an individuals vision of the game. By review I mean a patch reviewed by the formal process on phab and finally committed to svn. Generally I'd say it's not a big deal but lets assume I host a tournament with a prize pool significantly larger than a bar of chocolate for the winner, then in the spirit of e-sport some measures need be taken to ensure the rules I set. Ofc a lan tournament would be ideal but often unrealistic. So next best is to require a screen recording of the game and optionally a face cam to be analyzed. You can also run heuristics on the replay (network commands). The latter is possible for random ladder games as well. Still you can only assume no one is cheating if you don't catch anyone. I can't stress enough that any and all attempts to prevent users from cheating by code on the users machine I deem utterly futile. So the question of what prevents people dumping stuff into public I can only answer with nothing and nothing ever will. We still haven't established what fair even means, more to that further down. But if there are no downsides to be honest about your modifications why would you hide it. So the environment needs to be pretty bad already for this to be a concern. Perfectly normal, that's why I called imaginary evil. We know there is cheating but don't know what it is. We only know It's something out there that threatens us, which could jump us any moment and has the potential to utterly threaten our existence. So it's imperative that we start gear up with stage props and ostracize people we suspect have fallen to the dark side of force. I guess you can smell some cynicism here. If you want to entitle a group of people to define what cheating is then their first task would be to write it down, not in terms of named mods but what type of modification they don't want to see on the ladder, then we can see if we can develop heuristic to scan game data transmitted during the game for suspicious activity. But before we have such an approved list cheating simply doesn't exist as far as I'm concerned.
    1 point
  14. I'm not sure deserve is the right term here. But point taken. Define Vanilla ? How do you review it? What prevents you from dumping 5 mods in the public mod? Cause to me it's assuming people play fair and that' apparently not the case So far all the discussions ended in disagreement with regards to what is cheating But I suppose that's normal considering everyone has their opinion Reputation points are generally nice, however If my understanding of the current lobby is not too outdated the problem is that there is a small group that always play with each other and never with new players and due to the sheer lack of players that just makes them quit the game
    1 point
  15. Well (in a general sense), the current overall global behavior is really locked and not based on anything, for example here: // Petra usually uses the continuous values of personality.aggressive and personality.defensive // to define its behavior according to personality. But when discontinuous behavior is needed, // it uses the following personalityCut which should be set such that: // behavior="aggressive" => personality.aggressive > personalityCut.strong && // personality.defensive < personalityCut.weak // and inversely for behavior="defensive" this.personalityCut = { "weak": 0.3, "medium": 0.5, "strong": 0.7 }; Getting the behavior to decide on actions based on overall game state, an LLM given some objective should be able to decide + use random choice (when it sees the entire board/minimap/ally info). Should be clear I am not using an LLM to "play the game", just logging decision points @ the moment.
    1 point
×
×
  • Create New...