Jump to content

NitroVicky

Community Members
  • Posts

    26
  • Joined

  • Last visited

Everything posted by NitroVicky

  1. One new update from me: enhancedAI.pyromod This installer contains 2 improved AI programs. Venus is a more conservative upgrade that can't go wrong. Elytra is stronger but may be subject to bug warnings. I added 4 more difficult levels to the hardest one. In these four levels, bots get buffs in combat and more economic benefits. Instructions: Download the pyromod installer, then open the installer with 0AD. Select the module difficultbots, double click to activate it (it will be moved to the grid at the bottom of the screen), then save the module settings and restart the game To prevent ambiguity in the translated text, please refer to the original description: venus 是个比较保守的升级版, 不会出错。 elytra 更强但是有可能会受到bug警告。 在最难的基础上我加了4个更难的等级。 在这四个等级里,机器人会得到在战斗上的buff和更多的经济优惠。 安装步骤: 下载pyromod安装包,然后用0AD打开安装包。 选择这个模组 difficultbots,双击来激活(会被移到屏幕下方的大格子里),然后保存模组设置并重启x游戏
  2. A possible cause of the blurring is the peculiar screen resolution of Apple computers, you can force the window resolution to 1920x1080 by editing local.cfg. Add these two lines at the top of the file: xres = 1920 yres = 1080 It will improve your scaling performance, because this is the common resolution 16:9.
  3. I have a naive workaround idea for this, not sure if it would work: My interpretation of how a replay works: The replay file seems to be a list of turns and the commands received from each player in each turn. As you watch the replay progress, the game computes what would happen due to these inputs, by referring to the mechanisms (Javascripts) and data (XML templates) stored in binaries/data/mods/public/simulation. By progressing through the file, the engine reconstructs the match. Scrolling back would be difficult because we need to reverse the reconstruction. The engine is designed to move forward in time, not backward. The workarounds: When we want to scroll backwards, invert all scripts and multiply all data value by -1 to reach its opposite. This would cause the evolution of the match to go backwards. Generate a temporary file storing the exact state of all entities at each turn while the replay is going forward. When we scroll backwards, we just specify which turn we want to go back to and the engine can generate the scene at that turn using the already computed data. Obviously this file would be huge, so it should be deleted automatically as soon as the user exits the game.
  4. These features would make watching replays and speed-up AI matches much more convenient: A slider to instantly jump to any point in the replay, much like watching a video in a video player. Faster speed-ups, x32, x40, x50. This is especially useful for watching 2 AIs fight against each other. Are these feasible features to make?
  5. I would like to change the colour of the dark blinds that cover unexplored area: This darkness looks very sinister and I am a bit demotivated to go into it I was wondering if it's possible to tweak some lines of the source code or edit a file so that the unexplored area is covered by a more inviting colour, e.g. green, or some pattern to decorate the edge of the known world? I want to do this just for myself, locally. I'm not asking for anything official to be implemented as I think the dark blinds are good for some maps' themes.
  6. I haven't been able to beat Elytra at extreme 3 or above. Extreme 1 and Extreme 2 were manageable. Please try it and give me some feedbacks!
  7. Understood. I personally don't mind the AI cheating because it's very weak... any kind of cheating to strengthen it would be good. Even if it knows what I am doing, it can only watch its death coming! I'm not sure how to do that. I think the blinds could be made prettier than just pure blackness. If someone can point me to the texture file of the blinds that would be very helpful.
  8. If you watch a replay from the perspective of an AI, you can see the entire map even if the bot has not explored at all and Revealed Map = False. This is not to too bad at the moment, but either you forgot to implement the blinds for the AI, or the AI can see everything automatically. Not sure whether this is an intended feature or a bug. Watching player replays are fine. There is the blind to cover unexplored area.
  9. I've made the first version of an improved AI - ElytraBot. You can install it as a mod using this Pyromod file. It is a separate bot from Petra so now you can make 2 different AIs fight against each other! elytrabot.pyromod Features: Adds 4 "extreme" difficulties on top of "Very Hard" for both AIs, each featuring more bonus in gathering rates and discounts in training and building. At every difficulty level, Elytra can confidently beat Petra of the same level on all maps. Sometimes it can beat Petra of one or two levels above! Elytra is more focused to economic development and larger scale attacks. It does less expansions and less harassments.
  10. Now I change the attack strategies. For full scale attacks, I increased the minimum number of units participating so that its attacks would be more fruitful. For small early raids, I inhibited the use of infantry and limited it to only "fast-moving" (aka cavalry) class so that it can reach the enemy quickly without delaying the build-up at home. if (type === PETRA.AttackPlan.TYPE_RUSH) { priority = 700; this.unitStat.Infantry = { "priority": 0.1, "minSize": 0, "targetSize": 1, "batchSize": 1, "classes": ["Infantry"], "interests": [["strength", 1], ["costsResource", 0.5, "stone"], ["costsResource", 0.6, "metal"]] }; this.unitStat.FastMoving = { "priority": 1, "minSize": 10, "targetSize": 11, "batchSize": 1, "classes": ["FastMoving+CitizenSoldier"], "interests": [["strength", 1]] }; if (data && data.targetSize) this.unitStat.Infantry.targetSize = data.targetSize; this.neededShips = 1; } else if (type === PETRA.AttackPlan.TYPE_RAID) { priority = 10; this.unitStat.FastMoving = { "priority": 1, "minSize": 3, "targetSize": 4, "batchSize": 2, "classes": ["FastMoving+CitizenSoldier"], "interests": [ ["strength", 1] ] }; this.neededShips = 1; } else if (type === PETRA.AttackPlan.TYPE_HUGE_ATTACK) { priority = 900; // basically we want a mix of citizen soldiers so our barracks have a purpose, and champion units. this.unitStat.RangedInfantry = { "priority": 0.7, "minSize": 50, "targetSize": 80, "batchSize": 5, "classes": ["Infantry+Ranged+CitizenSoldier"], "interests": [["strength", 3]] }; this.unitStat.MeleeInfantry = { "priority": 0.7, "minSize": 50, "targetSize": 70, "batchSize": 5, "classes": ["Infantry+Melee+CitizenSoldier"], "interests": [["strength", 3]] }; this.unitStat.ChampRangedInfantry = { "priority": 1, "minSize": 0, "targetSize": 18, "batchSize": 3, "classes": ["Infantry+Ranged+Champion"], "interests": [["strength", 3]] }; this.unitStat.ChampMeleeInfantry = { "priority": 1, "minSize": 0, "targetSize": 18, "batchSize": 3, "classes": ["Infantry+Melee+Champion"], "interests": [["strength", 3]] }; this.unitStat.RangedFastMoving = { "priority": 0.7, "minSize": 1, "targetSize": 20, "batchSize": 4, "classes": ["FastMoving+Ranged+CitizenSoldier"], "interests": [["strength", 2]] }; this.unitStat.MeleeFastMoving = { "priority": 0.7, "minSize": 1, "targetSize": 20, "batchSize": 4, "classes": ["FastMoving+Melee+CitizenSoldier"], "interests": [["strength", 2]] }; this.unitStat.ChampRangedFastMoving = { "priority": 1, "minSize": 0, "targetSize": 15, "batchSize": 3, "classes": ["FastMoving+Ranged+Champion"], "interests": [["strength", 3]] }; this.unitStat.ChampMeleeFastMoving = { "priority": 1, "minSize": 0, "targetSize": 15, "batchSize": 3, "classes": ["FastMoving+Melee+Champion"], "interests": [["strength", 2]] }; this.unitStat.Hero = { "priority": 1, "minSize": 0, "targetSize": 0, "batchSize": 1, "classes": ["Hero"], "interests": [["strength", 2]] }; this.neededShips = 1; } else { priority = 700; this.unitStat.RangedInfantry = { "priority": 1, "minSize": 50, "targetSize": 90, "batchSize": 3, "classes": ["Infantry+Ranged"], "interests": [["canGather", 1], ["strength", 1.6], ["costsResource", 0.3, "stone"], ["costsResource", 0.3, "metal"]] }; this.unitStat.MeleeInfantry = { "priority": 1, "minSize": 40, "targetSize": 50, "batchSize": 3, "classes": ["Infantry+Melee"], "interests": [["canGather", 1], ["strength", 1.6], ["costsResource", 0.3, "stone"], ["costsResource", 0.3, "metal"]] }; this.unitStat.FastMoving = { "priority": 1, "minSize": 0, "targetSize": 30, "batchSize": 2, "classes": ["FastMoving+CitizenSoldier"], "interests": [["strength", 1]] }; this.neededShips = 1; } The trick was increasing the minimum number of each unit type to ensure a large army.
  11. I've made attempts to solve some of these issues. I first made changes to config.js at 0ad/binaries/data/mods/public/simulation/ai/petra/config.js this.Military = { "towerLapseTime": 9000, // Time to wait between building 2 towers "fortressLapseTime": 5000, // Time to wait between building 2 fortresses "popForBarracks1": 40, "popForBarracks2": 95, "popForForge": 120, "numSentryTowers": 1 }; this.DamageTypeImportance = { "Hack": 0.075, "Pierce": 0.095, "Crush": 0.010, "Fire": 0.015 }; this.Economy = { "popPhase2": 150, // How many units we want before aging to phase2. "workPhase3": 200, // How many workers we want before aging to phase3. "workPhase4": 250, // How many workers we want before aging to phase4 or higher. "popForDock": 30, "targetNumWorkers": 40, // dummy, will be changed later "targetNumTraders": 0, // Target number of traders "targetNumFishers": 0, // Target number of fishers per sea "supportRatio": 0.35, // fraction of support workers among the workforce "provisionFields": 2 }; // Note: attack settings are set directly in attack_plan.js // defense this.Defense = { "defenseRatio": { "ally": 1.4, "neutral": 1.8, "own": 2 }, // ratio of defenders/attackers. "armyCompactSize": 5000, // squared. Half-diameter of an army. "armyBreakawaySize": 1000, // squared. "armyMergeSize": 2000 // squared. }; this.priorities = { "villager": 800, // should be slightly lower than the citizen soldier one to not get all the food "citizenSoldier": 800, "trader": 1, "healer": 1, "ships": 1, "house": 550, "dropsites": 500, "field": 450, "dock": 1, "corral": 1, "economicBuilding": 90, "militaryBuilding": 200, "defenseBuilding": 1, "civilCentre": 1, "majorTech": 500, "minorTech": 50, "wonder": 1, "emergency": 1000 // used only in emergency situations, should be the highest one }; This part seems to determine its difficulty; the multipliers give the AI a bonus gathering rate and train time reduction. So I changed the easiest mode to the same as the hardest Petra AI, then the harder modes to more insane values. PETRA.Config.prototype.Cheat = function(gameState) { // Sandbox, Very Easy, Easy, Medium, Hard, Very Hard // rate apply on resource stockpiling as gathering and trading // time apply on building, upgrading, packing, training and technologies const rate = [ 1.00, 1.3, 1.5, 1.7, 2, 5 ]; const time = [ 1.00, 0.7, 0.5, 0.3, 0.2, 0.1 ]; const AIDiff = Math.min(this.difficulty, rate.length - 1); SimEngine.QueryInterface(Sim.SYSTEM_ENTITY, Sim.IID_ModifiersManager).AddModifiers("AI Bonus", { "ResourceGatherer/BaseSpeed": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], "Trader/GainMultiplier": [{ "affects": ["Unit", "Structure"], "multiply": rate[AIDiff] }], "Cost/BuildTime": [{ "affects": ["Unit", "Structure"], "multiply": time[AIDiff] }], }, gameState.playerData.entity); }; At the new "Very Hard" level, this improved AI can beat 7 regular Petra AIs like I do! It still makes the same mistakes but the shear cheating bonus makes it dominate all.
  12. The AI, PetraBot, certainly can be improved. It often uses bad strategies and is weak; I consistently beat 7 AIs all teamed up against me. So I am trying to improve the AI behaviour by tweaking its code and I would appreciate any inputs / suggestions. Firstly, I will identify a list of imperfections with the current AI: Suicidal early attacks - sends some units to attack you but then suicide all of them at your civic centre. It doesn't know how to retreat. The long march also delays their development by a huge amount. Wasting resources on non-essential buildings and techs: Greek theatres, towers, wonders (even though it's far from reaching the limit population and needs to spend resources elsewhere) Wasting time on capturing / damaging non-essential buildings, especially suicidal attempts at fully garrisoned fortresses. Poorly optimised army: too many siege units, too many mercenary units but not enough real fighting force. Does not interact with the player - they don't seem to care about what you are up to; they just attack walls and towers as they wish. Unwise expansions - too many civic centres placed at poorly chosen areas when they really need to defend their main base. Suicidal support units: they send women and traders into battle or under enemy towers Not playing: when checking the replays, I often see the AIs doing absolutely nothing for some time. If you spot any additional flaws, you are more than welcome to append to the list.
  13. @Stan` I couldn't join the server using the link from linktree because it's a channel ID and not an invite link. One can only join a Revolt server through an invite. I would appreciate it if you can update it to a valid invite link. Thank you! This one worked.
  14. I'm afraid I can't join the server via the link given. When I click on it, I am brought back to my Revolt homepage. Can you tell me the name / title of this server, so that I can discover it from the community searcher? I checked the system usage monitor when using these apps, Revolt consumed less RAM and less CPU percentage than Discord. However, the difference is not very dramatic and it could have been due to more activity by Discord users. Logically, both programs are similar but Revolt has less advertising features so it's more efficient to use. Discord would have to waste effort in popping up advertisements to convince you to buy Nitro and tell you about updates etc, which also distracts you at the same time. I see that IRC can achieve the necessary features using some workarounds, but it's still a bit less convenient than Revolt in my opinion. However, it is definitely superior for totally anonymous chats
  15. Some maps are designed to be resource-scarce hunger games maps. On those, you have to be clever and think about other ways to survive, e.g. mercenaries. Most maps however, do offer plenty of wood. I would recommend sending all early units except 5 or 6 women (gathering berries) to the forest. In total you will need about 20 workers lumbering. Also try to get the wood axe technology as early as you can. Please see the first few minutes of the attached replay for some ideas, I didn't struggle with wood. Maps such as Acropolis Bay, Sanhyadri Buttes, Gulf of Bothnia, Mainland, Gear, Lorraine Plain, Ratumacos and Continent all have reasonable amount of wood available. metadata.json commands.txt
  16. I would recommend using Revolt as a superior platform to Discord. https://revolt.chat/ It is very similar to Discord in interface and usage. However, it has some advantages compared to the basic Discord. The advantages of Revolt are: Easy registration Open-source, free and has client on all platforms, alongside a web version as well. Has all Discord Nitro features come by default for FREE! Can send large files >8MB Can customize profile and banner as you wish, without any limits Can use more image formats for avatar, including .gif Less vulnerable to raids and other security exploits. Privacy leak is unlikely. The user base is more civilized in general; no illegal activities or sketchy servers. Less hardware demanding Unfortunately, your IRC has some major disadvantages compared to Revolt: Cannot send attached files / images. Cannot voice call, video call nor share screen. Cannot easily create private rooms Tor is banned (one of my favorite browsers ) and the domain of users is displayed in the chat. I consider this a potential privacy leak. Very barebone (ugly) interface and more difficult to install clients for it. With that being said, IRC has some advantages over Discord-like apps: Can enter chats with just a nickname, without email - completely anonymous. Very fast response due to simpler protocol and less data being transferred. In conclusion, I would strongly recommend using Revolt as opposed to Discord since we are all lovers of FOSS and privacy. Revolt offers us exactly that, on top of having Nitro features. If you wish to talk to me on Revolt and need my username, please send me a Personal Message.
  17. I defeated 7 "very hard", "random personality" AI Bots all teamed up against at the Gulf of Bothnia. Please see the attached replay files: metadata.json commands.txt Game version: Alpha 27 Agnis Testing build 27660. I was the dark blue player named "v". Feedbacks: Units try to damage buildings by default. I think it would be more strategically sound to capture in most cases, because buildings have less loyalty points than health points and archers do very little damage against buildings. So it would be more convenient if units try to capture by default then only try to damage when a special hotkey is activated. AI Bots send women and traders on suicidal tasks, for example: walking through a forest of my defence towers and fortresses, building and gathering in the middle of a battlefield. They also build excessive numbers of civic centres; they even tried to build in a narrow unclaimed area behind my base, but without ever reinforcing it. The AI can be more unpredictable and less aggressive - they like to send few units to harass you all the time in late game, but never any effective major assult.
  18. That should be enough for me at the moment. I don't understand what you mean by this.
  19. I haven't made a serious attempt at modding the game yet. I updated the source code with SVN and the error is gone. I might have accidentally deleted some things when looking through the program files. This picture I posted was edited in GIMP, just as a concept. Understood. But perhaps the additional settings can be kept in the drawer, meanwhile relocate a minature of the map browser to under the player setup slots, which shouldn't take more than 1024 pixels. During my first days playing with this game, I couldn't find many of the maps because they were in the "random" section. It might be good if we put the most popular maps in that blank space to help any other newcomers. Currently I am looking at the files in 0ad/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage
  20. The game setup page of singleplayer mode looks like this: The entire bottom-right space is wasted, but the very important tweaks and map browsers are hidden behind tab buttons. I think it would be better to use all those space and lay out everything so that tweaks are easier to find. I propose this design: I get that not everyone will appreciate this layout, so I'm asking if someone would kindly show me how to edit the source code to achieve this layout? On a side note, I get the error ERROR: CCacheLoader failed to find archived or source file for: "art/textures/ui/global/modern/button/red-unselected-left.png" ERROR: CCacheLoader failed to find archived or source file for: "art/textures/ui/global/modern/button/red-unselected-center.png" ERROR: CCacheLoader failed to find archived or source file for: "art/textures/ui/global/modern/button/red-unselected-right.png" which causes the buttons to look absurdly pink.
  21. I have tried to apply the patch again and now there are 12 text conflicts. What could be causing the hunk rejection? How should I fix it? C binaries/data/mods/mod/gui/gui.rng > rejected hunk @@ -572,12 +572,17 @@ G binaries/data/mods/public/gui/session/diplomacy/DiplomacyDialog.xml > hunk @@ -41,7 +41,8 @@ already applied C binaries/data/mods/public/gui/session/selection_panels_middle/multiple_details_area.xml > rejected hunk @@ -36,7 +36,8 @@ C binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml > rejected hunk @@ -34,7 +34,8 @@ G binaries/data/mods/public/gui/session/trade/TradePanel.xml > hunk @@ -15,7 +15,8 @@ already applied C binaries/data/mods/public/simulation/helpers/Player.js > hunk @@ -1,3 +1,49 @@ already applied > rejected hunk @@ -43,6 +89,20 @@ C source/graphics/tests/test_LOSTexture.h > rejected hunk @@ -21,6 +21,7 @@ > rejected hunk @@ -31,22 +32,26 @@ > rejected hunk @@ -66,13 +71,14 @@ C source/gui/CGUI.cpp > rejected hunk @@ -852,12 +852,33 @@ C source/ps/GameSetup/GameSetup.cpp > rejected hunk @@ -80,6 +80,7 @@ > rejected hunk @@ -1318,6 +1319,9 @@ C source/ps/scripting/JSInterface_Game.h > rejected hunk @@ -37,6 +37,7 @@ C source/ps/scripting/JSInterface_Game.cpp > rejected hunk @@ -28,6 +28,7 @@ > rejected hunk @@ -169,6 +170,11 @@ > rejected hunk @@ -186,4 +192,5 @@ C source/simulation2/components/CCmpRangeManager.cpp > rejected hunk @@ -35,6 +35,7 @@ > rejected hunk @@ -57,42 +58,32 @@ > rejected hunk @@ -101,17 +92,14 @@ > rejected hunk @@ -119,40 +107,24 @@ > rejected hunk @@ -216,9 +188,9 @@ > rejected hunk @@ -231,8 +203,6 @@ > rejected hunk @@ -246,7 +216,7 @@ > rejected hunk @@ -283,9 +253,9 @@ > rejected hunk @@ -370,8 +340,6 @@ > rejected hunk @@ -380,7 +348,7 @@ > rejected hunk @@ -392,17 +360,17 @@ > rejected hunk @@ -431,13 +399,13 @@ > rejected hunk @@ -465,16 +433,16 @@ > rejected hunk @@ -718,14 +686,13 @@ > rejected hunk @@ -741,9 +708,9 @@ > rejected hunk @@ -783,7 +750,7 @@ > rejected hunk @@ -831,17 +798,17 @@ > rejected hunk @@ -854,7 +821,7 @@ > rejected hunk @@ -879,10 +846,10 @@ > rejected hunk @@ -1044,29 +1011,31 @@ > rejected hunk @@ -1143,7 +1112,7 @@ > rejected hunk @@ -1377,11 +1346,12 @@ > rejected hunk @@ -1570,9 +1540,9 @@ > rejected hunk @@ -1610,7 +1580,7 @@ > rejected hunk @@ -1739,7 +1709,7 @@ > rejected hunk @@ -1779,12 +1749,12 @@ > rejected hunk @@ -1823,7 +1793,7 @@ > rejected hunk @@ -1831,17 +1801,17 @@ > rejected hunk @@ -1852,9 +1822,9 @@ > rejected hunk @@ -1884,7 +1854,7 @@ > rejected hunk @@ -1896,11 +1866,6 @@ > rejected hunk @@ -1909,8 +1874,8 @@ > rejected hunk @@ -1942,7 +1907,7 @@ > rejected hunk @@ -1951,17 +1916,17 @@ > rejected hunk @@ -1989,7 +1954,7 @@ > rejected hunk @@ -2008,7 +1973,7 @@ > rejected hunk @@ -2085,8 +2050,8 @@ > rejected hunk @@ -2116,7 +2081,7 @@ > rejected hunk @@ -2137,16 +2102,16 @@ > rejected hunk @@ -2371,43 +2336,43 @@ > rejected hunk @@ -2421,13 +2386,13 @@ > rejected hunk @@ -2439,7 +2404,6 @@ > rejected hunk @@ -2447,8 +2411,8 @@ C source/simulation2/components/ICmpRangeManager.h > rejected hunk @@ -1,4 +1,4 @@ > rejected hunk @@ -24,6 +24,7 @@ > rejected hunk @@ -250,8 +251,8 @@ > rejected hunk @@ -266,11 +267,8 @@ > rejected hunk @@ -281,11 +279,8 @@ > rejected hunk @@ -297,11 +292,8 @@ > rejected hunk @@ -312,17 +304,14 @@ > rejected hunk @@ -416,11 +405,6 @@ G source/simulation2/helpers/ArrayData.h > hunk @@ -0,0 +1,134 @@ already applied G source/simulation2/helpers/ArrayData.cpp > hunk @@ -0,0 +1,205 @@ already applied U source/simulation2/serialization/BinarySerializer.h > applied hunk @@ -178,6 +178,12 @@ with offset -1 and fuzz 1 G source/simulation2/serialization/IDeserializer.h > hunk @@ -48,6 +48,7 @@ already applied G source/simulation2/serialization/IDeserializer.cpp > hunk @@ -135,6 +135,13 @@ already applied G source/simulation2/serialization/ISerializer.h > hunk @@ -178,6 +178,11 @@ already applied C source/simulation2/serialization/SerializeTemplates.h > rejected hunk @@ -281,6 +281,19 @@ I am using the testing version Alpha 27 Agnis.
  22. Thanks for the replies. I have downloaded and applied this patch but the console threw 10 text conflicts. When I started the game, I was still limited to 8 players. The output of the patch process looks like this: U binaries/data/mods/mod/gui/gui.rng > applied hunk @@ -572,12 +572,17 @@ with offset 63 U binaries/data/mods/public/gui/session/diplomacy/DiplomacyDialog.xml C binaries/data/mods/public/gui/session/selection_panels_middle/multiple_details_area.xml > rejected hunk @@ -36,7 +36,8 @@ U binaries/data/mods/public/gui/session/selection_panels_middle/single_details_area.xml > applied hunk @@ -34,7 +34,8 @@ with offset 9 and fuzz 2 U binaries/data/mods/public/gui/session/trade/TradePanel.xml C binaries/data/mods/public/simulation/helpers/Player.js > rejected hunk @@ -43,6 +89,20 @@ C source/graphics/tests/test_LOSTexture.h > rejected hunk @@ -21,6 +21,7 @@ > rejected hunk @@ -31,22 +32,26 @@ > rejected hunk @@ -66,13 +71,14 @@ C source/gui/CGUI.cpp > rejected hunk @@ -852,12 +852,33 @@ C source/ps/GameSetup/GameSetup.cpp > applied hunk @@ -1318,6 +1319,9 @@ with offset -351 and fuzz 1 > rejected hunk @@ -80,6 +80,7 @@ C source/ps/scripting/JSInterface_Game.h > rejected hunk @@ -37,6 +37,7 @@ C source/ps/scripting/JSInterface_Game.cpp > applied hunk @@ -28,6 +28,7 @@ with offset 3 and fuzz 2 > rejected hunk @@ -169,6 +170,11 @@ > rejected hunk @@ -186,4 +192,5 @@ C source/simulation2/components/CCmpRangeManager.cpp > applied hunk @@ -216,9 +188,9 @@ with offset 14 > applied hunk @@ -283,9 +253,9 @@ with offset 49 > applied hunk @@ -718,14 +686,13 @@ with offset 19 > applied hunk @@ -741,9 +708,9 @@ with offset 19 > applied hunk @@ -1143,7 +1112,7 @@ with offset 24 > applied hunk @@ -1377,11 +1346,12 @@ with offset 68 and fuzz 2 > applied hunk @@ -1852,9 +1822,9 @@ with offset 81 and fuzz 1 > applied hunk @@ -1884,7 +1854,7 @@ with offset 81 > applied hunk @@ -2008,7 +1973,7 @@ with offset 74 and fuzz 2 > applied hunk @@ -2371,43 +2336,43 @@ with offset 63 > applied hunk @@ -2421,13 +2386,13 @@ with offset 63 > applied hunk @@ -2439,7 +2404,6 @@ with offset 63 and fuzz 2 > rejected hunk @@ -35,6 +35,7 @@ > rejected hunk @@ -57,42 +58,32 @@ > rejected hunk @@ -101,17 +92,14 @@ > rejected hunk @@ -119,40 +107,24 @@ > rejected hunk @@ -231,8 +203,6 @@ > rejected hunk @@ -246,7 +216,7 @@ > rejected hunk @@ -370,8 +340,6 @@ > rejected hunk @@ -380,7 +348,7 @@ > rejected hunk @@ -392,17 +360,17 @@ > rejected hunk @@ -431,13 +399,13 @@ > rejected hunk @@ -465,16 +433,16 @@ > rejected hunk @@ -783,7 +750,7 @@ > rejected hunk @@ -831,17 +798,17 @@ > rejected hunk @@ -854,7 +821,7 @@ > rejected hunk @@ -879,10 +846,10 @@ > rejected hunk @@ -1044,29 +1011,31 @@ > rejected hunk @@ -1570,9 +1540,9 @@ > rejected hunk @@ -1610,7 +1580,7 @@ > rejected hunk @@ -1739,7 +1709,7 @@ > rejected hunk @@ -1779,12 +1749,12 @@ > rejected hunk @@ -1823,7 +1793,7 @@ > rejected hunk @@ -1831,17 +1801,17 @@ > rejected hunk @@ -1896,11 +1866,6 @@ > rejected hunk @@ -1909,8 +1874,8 @@ > rejected hunk @@ -1942,7 +1907,7 @@ > rejected hunk @@ -1951,17 +1916,17 @@ > rejected hunk @@ -1989,7 +1954,7 @@ > rejected hunk @@ -2085,8 +2050,8 @@ > rejected hunk @@ -2116,7 +2081,7 @@ > rejected hunk @@ -2137,16 +2102,16 @@ > rejected hunk @@ -2447,8 +2411,8 @@ C source/simulation2/components/ICmpRangeManager.h > applied hunk @@ -24,6 +24,7 @@ with fuzz 2 > applied hunk @@ -416,11 +405,6 @@ with offset -53 > rejected hunk @@ -1,4 +1,4 @@ > rejected hunk @@ -250,8 +251,8 @@ > rejected hunk @@ -266,11 +267,8 @@ > rejected hunk @@ -281,11 +279,8 @@ > rejected hunk @@ -297,11 +292,8 @@ > rejected hunk @@ -312,17 +304,14 @@ A source/simulation2/helpers/ArrayData.h A source/simulation2/helpers/ArrayData.cpp U source/simulation2/serialization/BinarySerializer.h > applied hunk @@ -178,6 +178,12 @@ with offset -7 U source/simulation2/serialization/IDeserializer.h U source/simulation2/serialization/IDeserializer.cpp U source/simulation2/serialization/ISerializer.h C source/simulation2/serialization/SerializeTemplates.h > rejected hunk @@ -281,6 +281,19 @@ Summary of conflicts: Text conflicts: 10
  23. Hi, I would like some help with adding more player slots to each match. The current maximum limit is 8, which is not enough for me - sometimes I need 13 players in one game. Is this feasible? Can I edit the source code to achieve this, or would it be possible to make a mod which extends the maximum number of players in each match?
  24. I agree the table is super useful, but for me (using default configurations), the resources counters and total population are indeed already shown on the title bar without needing to hover anywhere: As you can see, the numbers are always on the top bar even though my cursor is pointing at a wall. Since Player of 0AD insists on the table displaying all data, it would be helpful to have an additional option to hide resource counters or to show them as a duplicate down there.
  25. Hi, I played a few Death Match games this weekend with many AIs at the same time, on the testing version. I would like to share some comments: What Went Well: 1. Realistic landscape and characters 2. Very little lag, even in 7 players full-scale wars. I think it has improved since the previous version. 3. So much content! Different maps, Game Modes and very detailed settings. 4. The automatic production feature is very helpful. Even better if: 1. Make the icons and panels a bit larger? For higher resolution screens, the icons are very small so it's difficult to see what they symbolise and even harder to click on the thing you want. Maybe I am too inexperienced, but the icons certainly can make more use of the excess space in the panel. 2. Bigger rabbits or different coloured rabbits? It's very hard to find them and click on them, even if they are standing right next to your horse. The dotted grass of Anatolian Plains certainly isn't helping. 3. Units should scream loudly as soon as they are hurt, not when they are already dead. Too many of my men either suffer in silence or shout when they are already dead, which doesn't make sense and isn't helpful. 4. Enable capturing by default. I had to reset all of the hotkeys to be able to capture buildings, but units still try to vandalise them by default until I specifically order a capture. In my opinion it would be better to capture by default, then only vandalise in special situations, because it's often easier and more useful to capture than to completely smash it. The default attacks hotkey scheme could be set to be more considerate to new players. 5. More Campaigns? I would love to see something other than demo and tutorial. A single-player Campaign with increasingly difficult levels would be perfect. Even better: allow friends to participate in my campaigns as well! 6. Make it easier to capture people? I see a "units captured" list in the summary page but I don't know how (or if it is even possible) to capture people, as they have no loyalty bar. 7. The AI bots can be a be improved. They like to build tons of civic centres and towers, then waste time attacking my walls with pikeman instead of engaging with my moves, which is neither smart for them nor is it fun for me. It would be better if AI soldiers are automatically attracted towards the player's human units instead of trying to steal their buildings all the time. Hope this helps!
×
×
  • Create New...