Jump to content

jonbaer

Community Members
  • Posts

    188
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by jonbaer

  1. I think this type of problem also lends it's hand in naval situations, where the AI fails to recognize "choke points" and decides to trade/merchant to paths that can't be completed or gets itself stuck in shallow waters and the ships just build up.  I think a short term fix would be to just kill off the units that can't reach their targets after a given time and long term would be to reconfigure their pathfinding (if possible). 

  2. Few things I like about this dynamic, I like how the spy is chosen @ random - this gives good balance.

    Not sure it belongs w/ the market - the only reason I say this is because it doesn't give up any of the market stats (F/W/S/M or P) on the enemy (or does it?) ... it would be great if it did this just because some people like myself sometimes play w/ maps revealed so those stats% would be helpful.  

    The strategy of it being incremental is a good idea, or even worth making it discrete, such as if you pay X for time Y.  Or having multiple levels (not based on phase but level of spies), etc.  Great addition + work by implementers.   

     

  3. I feel like it might have been covered before ... https://en.wikipedia.org/wiki/Banker_(ancient) ... I don't think "bank" would be the right thing (ie, not a structure per se), just keeping the resource collect inside the game itself somewhere.  Another idea I thought of along somewhat similar lines is the ability to drop treasure as tribute.  This way you could set the amount but the ally would still need to come by and pick it up.

  4. "If you would have to send traders through a battle-field to help out it would be a lot harder to do"

    That is a part which seems more ideal in that there should be a better strategy on when it is that you send a tribute since all game situations would not be ideal.  Part of this logistic is what would make war/conflict more realistic/strategic.  It just feels to me that it's the only part of the game that is not "in the game" - an ally not getting the resources it needs and being conquered is part of the game but I can see how you say this would alienate novice.  

    Another element is that in trying to anticipate this risk and possible changing game strategies, for example when a message is received "Player A (ally) has obtained 1000 metal from Player B (enemy)" - whether it is a successful tribute or unsuccessful (stolen along the way, piracy, etc)" - the way it is setup now feel almost like a bank wire (lol - sorry bad analogy) and from AI viewpoint not programmable.  

    Another idea I thought of was also having CivCenter/StoreHouses/Farmsteads/Docks as holdings (banks) for resources indefinitely that a trader could travel between but I realize coding these counters would be alot of work.  Something more complex outside of loot.

    I don't mean this to sound as "what can we do to make giving tributes" more difficult, just that maybe there is a more realistic gaming way to hand them out which has an effect on gameplay. 

  5. Has there been any discussion to make "tributes" a bit more realistic in terms of how they are given out?  I was thinking it would seem to make better sense if they had to be delivered to a Civic Centre instead of instantly.  I would imagine you could select a Trader to deliver them - would that add anything to the game? 

  6. Am I missing something or couldn't you just do what I always end up doing these days ... setting the team of yourself and the AI to the same team (ie: Team 1) - I normally end up doing this w/ 3 AIs (but mainly for research purposes as I am studying dynamic planning).  But I think what I am waiting for is the DiplomacyManager to improve (so that it will give you a reason to end up in war and begin fighting - but also shift to Neutral / Ally).

    So I think you could just set yourself and AI to same team and in the Options panel select "Teams Locked" (instead of default Last Man Standing) and you will be in co-op w/ AI.

  7. As someone who is using the SVN copy + building the game as it goes I have to say kudos and great work to the designers and animators who work on this game (no idea who anyone is) but the progress it has made since I first started playing in the graphics field is so impressive.  I wish I knew alot more Photoshop/Pixelmator/GIMP/Blender to contribute in the area but it's a major part of recommending this game to other people.  Great stuff.

    • Like 8
  8. Here are a few observations I have made when playing in this environment:

    - Inside of the market when you obtain Cartography you can view resource counts / population - something pretty important on deciding best allies.

    - When a random map starts (Alpine Lakes) for example, the geography layout can show who would be best allies.

    - There might be another layout to the Diplomacy window which should list who is at war with who, this information is not clear at the moment.

    - It would be great if you could "surrender" a structure to an ally or have the ability to build a true "embassy" type of situation where you could own/control territory inside of an ally, etc.

  9. In a situation where you are playing Last Man Standing w/ 1 human and 3 AI there is a break in DiplomacyManager which seems to do some pretty interesting things (or so I thought) ... the responses are listed below but much of this code seems to be just placeholder on events.DiplomacyChanged.  Being super interested in this aspect of the game I failed to find any previous discussion on it or subsequent development logs from git.  Is there one developer working on this or are these primarily for canned multiplayer responses and not for AI use?

    answerAllyRequestMessages:

    • I cannot accept your offer to be allies %(_player_)s.
    • I will not ally with you %(_player_)s, but I will consider a neutrality pact.
    • %(_player_)s, our previous alliance did not work out, so I must decline your offer.
    • I will accept your offer to become allies %(_player_)s. We will both benefit from this alliance.
    • I will ally with you %(_player_)s, but only if you send me a tribute of %(_amount_)s %(_resource_)s.
    • %(_player_)s, you must send me a tribute of %(_amount_)s %(_resource_)s for me to accept an alliance.
    • %(_player_)s, my offer still stands. I will ally with you if you send me a tribute of %(_amount_)s %(_resource_)s.

     

  10. I think I am going to wait and see how the CIV and Starcraft universes work out ...

    https://universe.openai.com/envs/world.CivilizationV-v0

    https://universe.openai.com/envs/world.StarCraft2-v0

    I can see how the basic Atari / Flash games are setup and almost feel that nearly all of the graphics pertaining to what most of the UI shows would not be really of much use with the exception of a detailed (and larger) minimap.  Locate resources, locate enemies, maximize population, etc.  Some gyms of interest are the toy text ones, ie: https://gym.openai.com/envs#board_game + https://gym.openai.com/envs#toy_text

    Alot of the Hannibal utilities are extremely useful in those type of situations as well.  I am sure there are other research papers on 4X / RTS that could have their algorithms applied, just have to read over the papers more.  It is certainly an interesting challenge.

  11. I think when we look at this area it's more that we (generally) want to model the AI based on how we would play the game in certain scenarios and of course depending on what the objective is.  For example a Wonder based victory is really all about the market (for the most part), Conquest - military, Regicide - defense.  Not saying that it is all about that but it would be the priorities for sure.  I am going to read through the papers posted, I think OpenAI takes care of long term analysis, but to be honest I think it would be just a computationally expensive process to just determine best strategy on random map layouts, chokepoints, ports, market, etc.  

    I think I am going to give the Universe a try but it would need to be with the same civ setup, a small static map (Continent) and limited actors - for at least just getting the API and steps() working.  I think I have a general idea of how this would work + will post back a repo - I am hoping I can get the VNC Ubuntu/Docker setup at least running to start :-)

    I am assuming it would be fastest time to conquer as the benchmark + the rate of change, I think this is how the other games are setup.

    Have you tried the OpenAI demos?

  12. Curious if here has been any headway on this as I started looking at Gym and Universe myself.

    What I was originally thinking was that there could be a small "0 A.D. - Lite" with only 2 civs and 4 basic actors, which could be launched as a mod w/ pyrogenesis flag.

    One idea for anyone doing this is that Petra could probably be stubbed out (where all the "Managers" are agents) and the step() in OpenAI reflects what happens in checkEvents = function(gameState, events) on those managers.  This is just from glancing over the universe and gym setups.

  13. Looking back @ replay + logs yes there was a defeat (this is under Conquest victory condition) - does the trader not represent a unit in that case?  Was my understanding that Conquest meant both structures + units for a full defeat.  I guess this makes sense if a Market can fall under Gaia after decay.

  14. Was not multiplayer.  I have actually been playing Last Man Standing w/ myself + 3 other AI (mainly as a test for DiplomacyManager mod), I find it actually a good test to see which ally to support for keeping a game going.  I just didn't think any units can fall to Gaia so I couldn't understand what state the game was in @ the time.

  15. To me what it sounds like you are looking for is when you build a Market, on the left there is one technology in Town Phase (to view ally resources) and the second one in City Phase (is to use "shared dropsites"), when you open up shared dropsites you can basically go to any resource and return it to a dropsite that is much closer than your own camp (your allies camp for example).  So Player A can dig for stone and drop it at Player B dropsite w/o returning to their own.  Depending on the layout of a random map usually determines if I try to attain that sooner than something else.

  16. Yes good point ...

    grep -R "\"CircularMap\" : false" *
    amazon.json:        "CircularMap" : false
    bahrain.json:        "CircularMap" : false
    belgian_uplands.json:        "CircularMap" : false,
    caledonian_meadows.json:        "CircularMap" : false,
    corsica.json:        "CircularMap" : false
    howe_sound.json:        "CircularMap" : false
    latium.json:        "CircularMap" : false
    marmara.json:        "CircularMap" : false
    mediterranean.json:        "CircularMap" : false
    ngorongoro.json:        "CircularMap" : false
    phoenician_levant.json:        "CircularMap" : false
    pompeii.json:        "CircularMap" : false
    red_sea.json:        "CircularMap" : false
    rouen.json:        "CircularMap" : false
    wall_demo.json:        "CircularMap" : false

    • Like 1
  17. I started working on some things I wanted to see in DiplomacyManager and thought it would have been nice to have an "0ad Lite" version in which case the engine / basic mod (1 map, 2 civs) / and the AI are decoupled for this type of testing.  I could see what the frustration would be working on AI but in general Petra seems to be (guessing) a little unmanageable when there are multiple objectives beyond conquest.  Regicide from what I saw, would have to give nearly every manager class it's own behavior for just that type of game play.  In other words a Petra forked specifically for Regicide, etc.

×
×
  • Create New...