Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2020-08-25 in Posts

  1. Some of the things you mentioned are actually already available for modders. For example Ghost Ships Ghost Towers Ammo Cost(in 0abc mod I think?) Ammo cost hasn't been introduced into the main game, because they want to do it properly the first time, same with other features such as secondary attacks. Alot of players will probably like the fact that towers fire default arrows without a garrison. I do like the idea of needing them to be manned. The Viking ships(from Millenium AD) would look amazing with a Visible Garrison instead of the ordinary Garrison inside. Here are some features I am working on integrating and making into my own mod. Ghost Ships (Visible garrisons) Ghost Towers Integrating ammo cost from 0abc Switchable Weapons Loot will be increased, especially for buildings and farms, and must be collected as a resource and carried back manually, but wagons can also do this job and can pack large amounts of loot on them. Seasons and seasonal food. Food is not gathered at gradual pace but gets ready at seasons. Bushes and farms don't expire, they just have seasonal produce. Citizens automatically spawn from houses and are cheap or free to build, but they have an upkeep cost. You therefore always need a proportion to gather food, otherwise they will starve to death, which is even more of a danger with seasons if your farms get destroyed in a raid before harvest! All Citizens can pick up women from the blacksmith or barracks, including women, who aren't as strong, but would still be a good last line of defense, especially if your men have all died at war! "Phases" are true phases, not "ages". There is no researching of "Town" or "City" phase, but your Civil Center is automatically promoted when you have enough nearby buildings. This means you can have some Villages and some Towns and some Cities, and the Town Phase buildings can only be built in Towns or Cities, not Villages. Citizens are cheap or free, but they are unexperienced. I want a far more extensive promotion system as follows. Promotion can happen across all of these classes, so that Citizens can become Heroes eventually. Citizen (No experience) Citizen Soldier (Rudimentary training) Professional Soldier (Battle Hardened) Champion (Experts) Hero (Expert Experts :-) ) Fauna have a "manure" aura, they help farms to produce more food, BUT they also eat the crops if they are too close!! This should result in nice farming communities that combine animals and crops together, but have little wooden fences to keep the animals away from crops Houses can be used defensively and fire arrows, but they are also much easier to destroy with swords, axes, and fire arrows, are also easier to capture, and eject at 50% health, instead of 10% Individual names and Stats Can pick up items ^The only features above which I do not know how to do well, right now, are Seasons, Individual names and Stats, and pick up Items. I will definitely tag you when I have an implementation of my mod out so you can play test for me . I'm curious what you think of the things I mentioned above. The Upkeep cost replacing Upfront resource cost is a big change that a lot of people won't like, probably. It doesn't have to be that way, it's just something I want to try! I'm pretty sure there are actually no full time developers. The programmers all commit their free time to the project :). I also understand your frustration because this game is really cool and feels like it has so much potential but mechanics do seem to take a long time to add.
    3 points
  2. Hey all, I'm in a university Game Sound class, and the professor is willing to use the class to help an "External Project" and I brought 0AD up. So we could possibly use my class to work on the sound of the game. If a representative of the team could act as the class' "client" and if a list of needed sounds is provided, we could see how it goes.
    2 points
  3. Omg, I just found my early copy of it https://drive.google.com/file/d/1BmcDhfKDvI0ubM0zTuND3nG3NChJ2j0x/view?usp=sharing Note: it is probably a24(dev)
    2 points
  4. Player "Rollo" pulled the cable in a rated 1vs1 game he was losing. Later he said that he was not losing at all. @user1 commands.txt
    2 points
  5. Hi, I've created a mod for CBA style of game play. Lots of possibilities, but this is a start at least. Game play is based of my memory of playing CBA and alternatives on MSZone back in the day. The mod is pending approval on mod.io so I'll post the link once/if it's approved, till then there is the attachment of the .pyromod file. Concept Start with fortress (castle) and some workers to build walls, other buildings etc. Immediately auto spawn a weak fighting unit every 5 seconds. The spawning will continue until your population limits are reached, and will start again if you drop below the limit. Send some fighters over to a neighbor and kill some units, based on the number of kills you achieve a strong unit starts spawning until the next milestone is reached where an even stronger unit is spawned. From what I recall, there was always a balance between being aggressive and sending troops in versus fortifying and relying on defenses to grow stronger. Map I used Atlas to setup a basic map with a Fortress, a few female units, and a trigger point which is required for the trigger script. Script I wrote a trigger script which pulls the number of players and their stats, loops through active players and spawns according to the milestones. The milestones and units were chosen for proof of concept only. If the mod proves to be interesting to others, then someone else can do a deep dive into all the different civs, units, and milestone numbers. Units killed to unit spawned: 5 athen_infantry_slinger_b 7 athen_infantry_javelinist_b 9 athen_infantry_marine_archer_b 11 athen_infantry_spearman_b 13 athen_cavalry_javelinist_b 15 athen_cavalry_swordsman_b 17 athen_hero_iphicrates 19 athen_hero_pericles 21 athen_hero_themistocles 23 athen_hero_xenophon Closing disclaimer I'm not a programmer, and have limited experience with scripting in general. There are certainly errors or refactors to make the script run better or be more useful to others. This post is to see if there is any interest in a project like this and to simply share what I’ve done. I don't know if I have the ability to take this any further with my skill set, but will make attempts if there are requests for features or changes. castle_blood_0ad.pyromod
    1 point
  6. There is a thread for reworking Briton roster; it adds Irish champion skirmisher, and makes double swordsman a champion swordsman with shield.
    1 point
  7. OK So I got it working @Angen ! Still some errors, and I'm not really sure how the code works! I just managed to problem solve, change a few parameters, and add in a few missing lines from the newer codebase! It looks pretty good! I showed at the bottom of the screen the stats as I put on new gear!
    1 point
  8. yeah, a lot changed in a24 since I created that version so its not compatible
    1 point
  9. Here is a Readme from my Github with a description of the Mod that I have planned. The Readme is in a sub directory because it's part of a larger project. I have actually implemented about 50% or 60% probably in small test cases but not over the whole project. Ars Bellica
    1 point
  10. Ambigatos, Vae Victis and Montefortino makes great synergies as a rush civ, good design. Take care about a farming bonus, to be different enough to Ptolomies, the civ that should have the greatest bonus to farming In contrast, Britons suggestions are more all round and defensive oriented. Weren't more decentralised and not so tech developed (so they could fill beter the "barbarian" rush trope? (I would give them also a skirmisher champion, instead of the not historic double sword man. (they should be the ultimate javelineer faction, because Iberian ambushers fit more Lusitanians rather than Iberians, regarding some sources that I've read in the past)
    1 point
  11. 1st, you need to define action in https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/gui/session/unit_actions.js 2nd, you need new command for that which will be called from ^ in https://code.wildfiregames.com/source/0ad/browse/ps/trunk/binaries/data/mods/public/simulation/helpers/Commands.js 3rd, create function in UnitAI that will be called by your new command from ^ 4th, you would need new Fsm order and state inside UnitAi, something similar to Gathering 5th, ideally you should create custom component like inventory or something which you would call from unitAi when item should be picked Note: Also pickable entity should have some custom component so you can tell in unit_action that the entity can be picked or not. Picking itself is not so hard, just get the entity which should be picked, get cmpPosition and call moveOutOfWorld. Also you need to store id of that entity in inventory component so you can create ui for it later and player can throw it away from inventory or interact with it somehow. You can use auras and apply them on entity doing picking the item so you change entity stats if you want to. For throwing items away, just get cmpPosition of the item and call jumpTo (or something similar, cant recall right now). Hovewer you would need to edit the entity which should be pickable so it can be useful when picked up or used.
    1 point
  12. @myou5e Right being open source and very mod friendly, allows all kinds of different gameplay mods to be made.
    1 point
  13. The good thing about Open Source, is that with the right mechanics available, modders can turn it into whatever they like. There are ways to have these realistic aspects while keeping the micro down. With the towers, one of the ways would be to have the town bell on autopilot so that the closest military units manned the tower, and the civilians ran into the houses. Actually, this is already quite easily doable in Javascript and is one thing I plan to do for my mod.
    1 point
  14. M2 would be nice to have too. https://code.wildfiregames.com/M2 @Sandarac
    1 point
  15. Since I started playing from A21 up to now I never noticed any changes in mechanics except balancing and few fixes just to maintain the game running and playable. No one even dared to itrdiminish spamming of units I know that the programming side has limited manpower which will really stall the game to its current state. Are there any dev members (On the programming area) really interested to further introduce other mechanics like ammo, armory, supply wagon, and other defense structures. Also citizen-soldiers are fine but could they just start from being regular peasants but once upgraded to citizen soldiers could they just be builders as they really look like professional soldiers? Any new mechanics don’t need to be incorporated to the main game but just place those into the repository so that some modders can use such new assets. Any new addition/s might require added micromanagement but imo it is where great games can evolve. It’s not just about fast spamming units but rather adding more depth to the game. You train soldiers with just food and wood/metal but no weapons and armor (units have armor stats) being produced. You make towers and forts that fire projectiles without garrisoned range units (same as ghost warships), you train range organic units and sieges with unlimited projectiles. What’s the reason why I the mechanics can’t be closer to realistic? As I’ve said these things don’t need to be in the main game in which MP games are the top priority. I think the programming side are not capable, ofc I’m not capable because the field is not what I studied or trained for. Alexandermb and other art members is/are really working quite hard to do animations for possible changes that may be introduced. The players are trying to contribute so that when funds can be collected perhaps the devs can hire a good programmer/s Or why not give some monetary reward/s to the dev members? At least each and everyone’s contribution were not only recognized but rather rewarded.
    1 point
  16. GAULS: - Ambigatos. Interestingly. It can give Gauls a great rush capacity without having to build houses anytime soon. - Vae. Similar to "ambigatos". Can give a great rush capacity and "boom" later. - Headhunting. I wouldn't choose this among the 3. - Invented the Reaper. Can give + 10% in grain gather per phase. BRITONS: Celtic Epic / Mabinogion. Would put this as just a brit bonus. Masters of Earthwork. Also for fortress and towers. Britanni vitro inficiunt. Move speed. Very interesting for surprise attacks or boom. Inis Mona.I don't like this type of individual bonus, These bonuses can be given separately without being a civilization bonus.
    1 point
  17. And for a bit of a laugh, here is a preview of the thumbnail for my first 0AD tutorial Hope someone produces a mod to put those hats on the units of new players in the game!!!!!!!
    1 point
  18. Units gaining hero stats would be interesting. Also we can divide the names based on gender as well just in case somebody wants to make a female unit that fights
    1 point
  19. Hello everyone, I have been interested in making it possible to explore applications of machine learning in 0 AD (as some of you may have gathered from https://trac.wildfiregames.com/ticket/5548 ). I realized that I haven't really explained very thoroughly my interest and motivation so I figured I would do so here and see what everyone thinks! tl;dr - At a high level, I think that adding an OpenAI gym-like interface* could be a cool addition to 0 AD that would benefit both 0 AD (technically and in terms of publicity) as well as the research community in machine learning and AI. I go into the specifics below as well as discuss other potential avenues for integrating/leveraging machine learning: Potential Machine Learning Problems/Applications Intelligent unit control (micromanagement) I have an example where an AI learns to kite with cavalry archers when fighting infantry at https://github.com/brollb/simple-0ad-example. This is probably one of the easiest problems to explore as it can be done progressively starting with small, clearly defined scenarios using the functionality added in the beforementioned ticket. That said, there are still some of the standard challenges present with machine learning around ensuring that the AI has been trained on sufficiently diverse scenarios so that it doesn't ever encounter something new and behave incorrectly. As far as potential impact on the game, automatic micromanagement could be interesting for either a component in an otherwise scripted AI such as Petra or as a way to make the units more intelligent as they gain experience. That is, I could imagine that as the units gain more experience, they could also start having improved tactical behavior, such as kiting, automatically. Enemy AI Trained Entirely with Reinforcement Learning This is actually very difficult although it has been recently done in StarCraft 2 (https://deepmind.com/blog/article/alphastar-mastering-real-time-strategy-game-starcraft-ii). Although I think this could be fun for people to try to do, I wouldn't have high expectations on this front for awhile because it is a very hard problem for ML to solve - especially given the large number of different civilizations, maps, resource types, etc. Enemy AI with Scripting and Learned Components This is referring to a generic version of what I mentioned under "intelligent unit control". Essentially, there are a lot of opportunities to incorporate learned components into an otherwise scripted AI. From a technical perspective, this makes the machine learning problem much easier/tractable while still enabling more intelligent behavior from the built in AI. There are many different examples of intelligent components that could be incorporated. For example, it could try to predict the outcome of a battle (to determine if we should retreat) or try to imitate various high-level human strategies (such as predicting what a human might target for an attack). Quantitative Game Balancing This is a very interesting problem and I find 0 AD to be a particularly unique opportunity for exploring it. Essentially, the idea is that there are many different parameters in a game (such as attack damage for each unit, etc) which are quite difficult to tune without making the game imbalanced and one of the civilizations/strategies OP. (I don't think I need an example for this community but I enjoyed watching https://www.gdcvault.com/play/1012211/Design-in-Detail-Changing-the.) This problem is nontrivial since detecting overpowered strategies really requires an understanding of the way various aspects of the game can be exploited. Although this is a nontrivial problem, I find it to be an exciting opportunity for 0 AD to gain publicity and for researchers to have a sandbox in which they can explore this research question in an actual game (rather than a trivial, toy environment). That is, many of the other environments used in reinforcement learning research are either open source toy environments (eg, CartPole) or proprietary games which cannot be modified (eg, StarCraft 2). There has been a bit of related research in detecting imbalance in complex games like StarCraft 2 as well as balancing simpler games but as proprietary games will not be exposing the parameters used for the units (and other aspects of the game), automatic game balancing approaches are limited. Being an open source game that people actually play, 0 AD provides a really exciting opportunity for research in this direction as the parameters of the game are not proprietary and could be modified programmatically enabling researchers to explore this rather complex problem. For the 0 AD community, enabling researchers to conduct this type of research in the game itself should make it much easier to be able to incorporate any results of such research into the game making 0 AD more fun and an even better game! Imitation Learning Training the AI to imitate humans is worth mentioning although the impact on the game is likely to be in one of the beforementioned ways. Imitation learning, unlike reinforcement learning, is training the AI using expert demonstrations of gameplay. It is often used as a method for essentially initializing the AI to something reasonable before training it further with reinforcement learning (ie, training the AI using a reward rather than example). Imitation learning can arguably be more valuable for game development given that it can more directly instill various human-like behaviors (hopefully making the gameplay more engaging and interesting) rather than simply trying to maximize some reward or score in the game. Techniques to Train and Understand AI Agents This is more of a general research direction that I find interesting (and is similar to research that I have done in the past). Essentially, this is exploring the means by which the game developer can use the various methods of instilling behavior into an AI (programming, reinforcement learning, imitation learning) to create the desired behavior (and game experience). This is a bit of both a human-computer interaction (HCI) and machine learning question (also related to machine teaching). To give a more concrete example, this would include exploring the behavior of a trained RL agent in the game, correcting these behaviors, and perhaps trying to detect potentially incorrect behaviors to raise to the user automatically. 0 AD is well suited for this type of research for the same reasons that it is well suited for exploring game balance - most games used in research are either proprietary or not something people would actually play. Optimizing Existing Game Parameters (Relatively Easy) There are some existing machine learning tricks that could be used to make other sorts of improvements to the game rather than explore research questions. A while back, I was playing around with CMAES (a machine learning technique to optimize a set of parameters given a "fitness function") to improve some of the sort of magic numbers used within Petra such as "popPhase2" and "armyMergeSize". Essentially, this made it possible to find values for these parameters which would improve the AI's ability to win when playing against the standard Petra agent (on the hardest difficulty). Although I don't find this as interesting as the other areas, it is a useful tool that could be nice to apply to other aspects of the game. Overall, I think it would be really exciting to be able to explore some of the research questions in 0 AD as I think it could be beneficial both to researchers but also would make it easier to incorporate the results of this research into 0 AD (making it an even better game!). Of course, this is only true if the functionality required to be added to 0 AD is easy to maintain and doesn't add overhead taking away from the development of the core game features and functionality. I am also hopeful that incorporating some of these machine learning capabilities could also be beneficial to the community and raise awareness of 0 AD! As far as technical requirements, I made an RPC interface for controlling the AI from Python (because the majority of machine learning tools are in Python). This makes it possible to explore 1, 2, and 3 as well as provides necessary functionality for 4, 5, and 6. As mentioned above, I have an example of #1 on GitHub and I think this could make for really interesting undergraduate projects (as well as potentially interesting integrations into the game). However, I think 0 AD is a particularly unique opportunity for exploration of 4 and 6. Game balancing (#4) still requires the ability to programmatically edit the unit parameters which I have explored a little bit but haven't added to the game. If this is something that others find interesting (and wouldn't mind me asking a few questions ), I would be open to adding this as well. Anyway, I find these machine learning problems and applications quite exciting both for 0 AD and for AI/ML research but I want to know what the rest of the community thinks! Let me know what you think or if you have any questions/comments! * I say *OpenAI gym-like* because a gym environment requires an observation space (numerical representation of the world for the AI), action space (numerical representation of the actions the AI can perform), and reward function to be defined. It isn't clear what the most appropriate choices for these would be (and they could vary based on the specific scenario) so I would prefer making more of a "meta-gym" where it is basically an OpenAI gym that needs the user to specify these values.
    1 point
  20. Hi everyone! i finally created the first producer: the Carthage Baker, i also implemented also the producer panel which is split in two part, one is the catalogue, where the producer store the product produced, and the second is the actual stock of raw material. In this case the baker need grain and wood to make bread (following the product table created few post above)
    1 point
  21. There is a fundamental difference between a mine (e.g. ore, coal, gems), where people dig shafts or tunnels to reach veins underground, and a quarry (e.g. marble), where people cut out large blocks from the surface in broad daylight. Differentiating mines from quarries would certainly be an improvement. In Cossacks, wood and stone were gathered as in 0 A.D., but coal, iron, and gold were collected by building a mine structure on a mine slot, and sending workers inside, which would then provide you a steady trickle; mines could be expanded to increase the number of workers you could assign into it. They could be captured by enemy soldiers or destroyed by cannons. Implementing something similar in 0 A.D. would be great.
    1 point
  22. What exactly? Can be done with a local aura. Basically the current Celtic civ bonus? Fine by me. A civilization bonus (i.e. free and autoresearched) or a special technology? Maybe fortresses too? And perhaps increase time to compensate for the reduced stone cost? Current team bonus. Maybe not a good idea. Just the Civic Centre, or also Barracks and Fortress? And by how much, +5? I'm not sure that's doable. There are two related nodes, <Loot> and <Looter>. <Loot> is what destroyed entities grant to the player that destroys them, <Looter> is what entities give to their owner whenever they destroy an enemy entity. Both are fixed amounts (integers). Technologies (and civilization bonuses) typically affect your own entities, not those of other players. I guess it can be done via local auras (which might be costly performance-wise), though that would not achieve exactly what you wrote: if an aura increases the <Loot> of an enemy structure, then anyone who destroys it gets the increased loot, not just gaul players; and if an aura increases the <Looter> of your units, then you get increased loot from anything you destroy, not just structures; as far as I know it can't be limited to specific targets. See previous point. Currently a special technology. Current team bonus.
    0 points
  23. I am sorry but I do not have majority of my mods anymore.
    0 points
×
×
  • Create New...