Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2014-05-02 in all areas

  1. I made some trees variations for Asian Mods The base model is the carrob tree. I just provided the leaf textures. Japan_Cherry_Tree.7z
    3 points
  2. At game start or load a bot is thrown into cold water. He might discover a very hostile environment in terms of resources, units, buildings and enemies. Interestingly game start and end can be very similar, meaning eveything is low, if the human opponnent has victory within his grasp. But a bot doesn't give up, as long there is a small chance of success - he takes it, right? What is the worst case? Let's say no civic centers. That's close to ground zero in 0 A.D., because without CC you lack the territory to build any other structure. So, naturally the very first questions in this case are: Can I build a CC? And if not, what can I do at all? It turns out, these are very complex questions. Let's start with some simple conditions: has only resources -> whiteflag has only buildings -> whiteflag has only units -> whiteflag or fight like hellOk, that's not so difficult. And it looks translatable into straight forward JavaScript, too. Here comes the next level: has buildings, units, no resources has no CC has no CC builder can not train CC builder -> whiteflag or fight like hell can train CC builder -> gather resources -> train CC builder -> construct CC has CC builder -> gather resources -> construct CCActually that's only the surface. It assumes the units are not champions and the needed resources are available. Here are a few more: and finally: has units, resources, buildings has no CC has CC builder -> construct CC has no CC builder can train CC builder -> train builder -> construct CC can not train CC builder -> whiteflag or fight like hellCan you imagine how many conditions the bot has to check just to find out he has definetly lost? Now add more edge cases, mixin technologies, multiply with all buildings and all factions and you'll end up with tens of thousands lines of code, hard to read, difficult to maintain and taking months to write. That's where planners jump in. They know which conditions to check and how to answer them. Ontop they come up with a list of actions leading to your goal or none if your goal is unreachable. HTN (hierarchical task network) planners are conceptually fairly simple, but extremely powerful. They define a state, that's the starting point, a goal and operators and methods, the latter are just functions. Operators can change the state and methods result in more methods or operators. So, you initialize a planner with a state, your goal and then call the first method. From there it tries to decompose the problem until only an ordered list of operators is left - that's your plan. 0 A.D example: state = { resources: {food: 300, wood: 300}, entities: { structures.athen.civil.centre: 1 }, technologies: [phase.village]};goal = { resources: {}, entities: { structures.athen.field: 1}, technologies: [gather.wicker.baskets]}The goal basically says: I don't care about resources and the civic centre, but in any case I want a field and foragers better equipped. Do you see the two traps? Here's the plan: HTN: SUCCESS, actions: 8, 1 msecs op: 1, train_units ( units.athen.support.female.citizen, 1 ) op: 2, wait_secs ( 10 ) op: 3, build_structures ( structures.athen.farmstead, 1 ) op: 4, wait_secs ( 45 ) op: 5, build_structures ( structures.athen.field, 1 ) op: 6, wait_secs ( 100 ) op: 7, research_tech ( gather.wicker.baskets, 1 ) op: 8, wait_secs ( 40 )See how the planner automatically found out he needs a builder for the field and the farmstead for the technology. And the final state: resources: { food: 250, wood: 150, time: 195, metal: 0, stone: 0, pop: 1, popmax: 300, popcap: 20 }entities: { structures.athen.civil.centre: 1 units.athen.support.female.citizen: 1 structures.athen.farmstead: 1 structures.athen.field: 1}technologies: [phase.village, gather.wicker.baskets]... which can be used for your next goal. HTN Planners are well used in RTS games. The link finds a a few interesting presentations. Some games have highly optimized ones, checking hundreds of plans each tick, looking for the optimal strategy to keep the human opponent entertained. So far Hannibal's planner lacks a few features, he needs a better awareness of time e.g. calculate how long it takes to get a given amount of resources and more challenging learns the concept of parallel tasks. I'll continue when it produces heros. PS: Did I mention that's probably the first JS planner ever written for an RTS?
    2 points
  3. The first relevant battle of the Persian Wars began by the small town of Marathon in which the massive Persian expeditionary force landed on this land to march directly on Athens and raise it to the ground. It was not alone there though, as the plucky strategos Miltiades had deployed a diminutive force of citizen hoplites and Marine shock-troops. At first the sight quite shocked the scouting party, but realizing the fact that they probably were only buying time for more troops to be mustered at Athens proper. The finest archers, following a motley contingent of spearman marched to face them. Understanding what was directly ahead, Miltiades deployed his Marines to set upon them. The fight was intense but one-sided, for the swordsmen, with superior breastplate upgrades, swiftly slaughtered them before meeting an unwelcome shower of missiles from the archers. Although the fire only killed a few, the survivors were effectively dispatched in the successive volleys of missiles. The remaining hoplites marched fearlessly towards the bowmen, but despite having been equipped with good shields, that likewise did little to save them. The victorious army immediately set off for Athens to raise it to the ground. Unfortunately, siege weapons were not about so while the some archers held off the pitifully inferior Athenian cavalry, a new city was founded adjacent to Athens, thereby providing a steady stream of soldiers and a stable base of operations while a fortress was being constructed. While this was transpiring, the Persians had unfortunately lost much of the fleet to a Syracusan one, which desired to stabilize the area to protect its shipping routes. Having little choice, the Persians instead made a 'bridge' across the northern coast of Asia Minor as a relief force with proper siege equipment was transported across. They were met by a resolute force of Spartan Hoplites, Perioikoi, and Skiritae. To the Persian commander's displeasure, he realized that his Roman ally, Varrus, had not sent the legionnaires which had been promised, leading him to frustratingly declare "Varrus, bring me my legion!" All the same the legion did not arrive. The initial waves of troops, even when bolstered by the elite Immortals, were crushed by Leonidas and his men, who were divinely protected, it seems by the gods due to their proximity to a temple. Ultimately though, the arrows killed everyone of them, making it perhaps a bit more preferable to have been sunburnt than to fight in the shade. With the aid of the relief force, the city of Athens fell to the Persian onslaught, and with that, the rest of Hellas quickly fell. This account, although ahistorical, is basically the way I find the game in its current state. This is traced to the fact that infantry archers are overpowered when matched to the Athenians and Spartans, two infantry based factions with relatively ineffective ways to counter this. While the most obvious approach would be to deploy cavalry against archers, this is not practical, since cavalry are too expensive to be worth the trouble unless siege are about. While the Athenians could deploy Scythian Archers, these cost metal which is, to my understanding, a resource that is not dependable to rely on in the long term. Even then, that is not a logical strategy for this situation or at least shouldn't be so. The Spartans have the handicaps of the Athenians, but even more problematic ones. In the case of being attacked by skirmishers, the logical choice is to deploy Skiritae, but despite them being able to annihilate them, archers will literally butcher them. Even with superior infantry, what difference would it make? This makes a Thermopylae situation likewise impractical. Even if formations would balance this, it would be handy to have a balanced combat system outside of it. To critique it, let's briefly analyze each unit with the units it counters and the units it is countered by. Swordsman:Counters spearmen and skirmishersIs countered by archers and cavalry swordsmen Although this generally makes sense, it would be nicer if it was more or less unaffected by any unit and has no bonuses. Swordsmen were famed for the flexibility in warfare, and making them more like that would make swordsmen like the role Age of Kings designed them for. Obviously they would still be generally countered by archers and slingers. Spearman:Counters cavalry swordsmen and cavalry spearmenIs countered by swordsmen and skirmishers While being countered by skirmishers is sensible in the case of heavily armed spearmen, swordsmen should probably only have a marginal advantage to the spearman counterparts. Skirmisher:Counters Spearmen, Elephants, and Cavalry ArchersIs countered by Swordsmen and Cavalry Spearmen. This seems rational enough. Generally though, it would be nice if these units were easy to mass produce but on the flip side would be significantly weaker. Archer:Counters Swordsmen on foot and Spear CavalryIs countered by Cavalry skirmishers and Cavalry swordsmen Being infantry killers seems sensible enough, but why there should be any reason for them actually countering Cavalry Spearmen is odd. Generally the cavalry should be able to slaughter them due to superior speed and hit points. Generally it would be preferable to simply have them focus on countering infantry forces over anything else. Currently they also seem overpowered. Increasing the inaccuracy or train time would be very helpful. Slinger:Counters nothingIs countered by nothing Unless I am not mistaken, it actually has x2 versus infantry. This seriously under powers infantry. It is hard to say what should be done with this unit. Next, there is cavalry Cavalry Swordsman:Counters Foot Archers and SupportIs countered by Spearmen and Cavalry Skirmishers The soldiers seem pretty well portrayed, but why cavalry skirmishers counter them is beyond my comprehension. Is there any good historical basis for this? Cavalry Spearman:Counters Infantry Swordsmen and Foot SkirmishersIs countered by Archers and Spearmen While there could be some basis for them countering swordsmen, I am hardly seeing any. Perhaps instead the cavalry spearmen should be used only for shock, as opposed to the swordsman counterparts, which are more or less meant for running down a retreating army or more sustained fights. (If there is any distinguishable difference.) Cavalry Skirmisher:Counters Foot Archers and Cavalry SwordsmenIs countered by Spearmen and Cavalry Archers Why cavalry swordsmen are beaten by Cavalry Skirmishers is beyond my understanding. Cavalry Skirmishers should be the ideal harassing units if anything else. I would personally make them more anti-ranged myself. Cavalry Archer:Counters Cavalry Skirmishers and any other ranged unitIs countered by Skirmishers and Spearmen Cavalry archers a bit strange. I would personally only differentiate them from the cavalry skirmisher counterpart by having them be slightly more effective at the expense of having a longer training time and or cost. Now there are siege weapons. Onager:Counters Citizen Soldiers and Defensive StructuresIs countered by Cavalry I don't really have much any complaint here surprisingly enough. Ballista:Counters Cavalry and InfantryIs countered by Cavalry? I do not really get this unit. It is supposed to be countered by something, but what? Siege weapons? Cavalry are mainly used for their anti-siege abilities and the ability cancels it out. Ram:Counters BuildingsIs countered by Cavalry No complaint. In conclusion, I think the primary issues with balance at the moment is that close quarters soldiers do not stand much of a stand against ranged units. Spearmen can be upgraded to be more resistant to that fire, but what use is when it is difficult to catch up anyway? Another problem is that the system is counter intuitive. In games like Age of Mythology, the system was straight forward like it generally should be. Take the Greeks; the units were designed to follow the over all infantry-beat-cavalry-beat-archers-beat-infantry idea, yet also having ranged units to fight ranged units, cavalry to beat cavalry, and infantry for beating infantry. Even with other civilizations it made a good amount of sense. 0 A.D. instead has endeavored to force realism on the system and thereby has made a convoluted mess on a system which is meant to work better with simplicity than anything else. I apologize for any mistakes I could have made with documenting the unit counters.
    2 points
  4. The Chi-Rho was the most common used symbol, I suggest using that. Greek Fire would be cool but no flaming javelins: This is greek fire. All research should now focus on part 1, that is best. (Maybe part 2 will be a mod for Empires Besieged?) I leave the civilization logo to Lion...
    2 points
  5. I think we're on a good way. Thx Niek. That's true. Everyone should feel free to correct me. We have to use another logo than the Eagle or the Crescent +Moon then? As you said in the other topic: We could also give the Constantinople extra status. Then we might be able to use those symbols too. gratitude. I have to get our research tool going. I would love to have them in. For the Rise of The East we also have a fire ship. So we will have to deal with fire and ship anyway. What do you think about those, Niek? And how this would look? Perhaps we can use the fire javelins that are already ingame. For the ship we will see. Something like cannons is required for later ages too - so we should also deal with Naval Battles (as Genoa and other city states were quite active in this time weren't they? At least the crusaders had to be transported but that would be for part two). So all research until now should focus on period 1 as stated by Flavius Aetius? Just for me to know. Interesting shields. Should we even use one of those as civilisation logo? And late Roman here means the Eastern Romans?
    2 points
  6. https://github.com/noiv/Hannibal
    2 points
  7. Ok, as trac is down, I can't commit stuff now, but here's the fix. Please remind me to commit it (when trac is back up), and also to make a ticket that solves the source (i.e. accepts null as a camera view). map.diff
    1 point
  8. Yeah they know, be patient please.
    1 point
  9. Greek Fire: Well, it's one variant of Greek Fire. We don't know the actual composition but using different mixtures of components they had we can replicate the different effects of it. We know it was a liquid, it mad a roaring noise, it billowed smoke and shot flames a great distance. It was also ignited by air and water intensified the flame. We know it used Naptha, Tree Sap, and either left Calcium Carbonate (Rock Salt) as a byproduct or used it in the reactant formula. And we think it was a descendant of Sextus Julius Africanus's "Automatic Fire" which had been in use since Ancient Greece. Greek Fire was used in two forms by infantry: siphons and hand grenades. It seems to have always been kept on hand at Constantinople, even after the loss of the areas that produced resources needed to make it. If I recall correctly, it was used in the final siege of Constantinople. Chi Rho: As for the Chi-Rho, it fits Byzantium perfectly. As for the Shield Patterns: When I say Late Roman, I mean (Both Halves) of the Roman Empire from 284-638 AD. When I say Rhomaion I mean "Byzantium" or Roman Empire from 638-1453 AD. The Shield Patterns mentioned are both Eastern Roman in the Notitia Dignitatum (Dated 395). A lot of units survived a long time. Legio IIII Parthica is last mentioned in 586. Legio V Macedonica is the longest lasting, last mentioned in Antipolis (just north of it's Garrison at Memphis) the 630's AD
    1 point
  10. 1 point
  11. Perhaps there could be counter-formations, it could be the same concept as counter-units although it would depend on your formation. Hence, if a player's army was surrounded by enemies and reverted to a "box formation", they would receive more HP/ defense as well as a small damage bonus if actually surrounded by units. And the other player could counter the formation by micromanaging units, or the use of another formation if disadvantaged. For instance, a spearman will more than likely win against cavalry due to the distance the spearman can strike and the vulnerability of the cavalry. However, if there are many spearman against a handful of cavalry - say the player sets his spearman in the wrong formation and hence, loses many more units than they intended to, or completely loses it. I don't know how that could be implemented in code, but I could also see this as being a bad idea in some ways.
    1 point
  12. preferglsl = true I got this in true According to what I understand of the image works with other textures,it be that I did my texture is the problem
    1 point
  13. Open the IPO curve editor, select all the bones, go to the first and last keyframes and: select al the points in the curve for that frame -> "V" choose "vector. This removes the "ease-in, ease-out" velocity of the animation using curves. I'd explain it with images but I'm running low of free time lately :/
    1 point
  14. Impressive, how you are combining these concepts such as the triple store, the query language and the HTN approach for planning actions based on the data and goals. It seems to be as generic as it can be and seems to be a good approach to make the AI more flexible, more configurable and easier to understand. I hope it works out as planned. Do you have a working version somewhere where these concepts could be tested in 0 A.D. directly? Even if it has just basic functionality as shown in the video, it would be interesting so experiment with that and figure out how it works. Using a git repository for your work would probably be the best way for sharing it and it's also very helpful for managing your own versioning and keeping track of changes in the development version of 0 A.D..
    1 point
  15. Looking really good! I must agree though on sanderd's observation on having trees nearer the lake (not the whole lake mind you, but only part of the circle). I don't mind the fog though, it adds more ambience in the scenario. When do I get Robin Hood in my own 0 AD copy, Hephaestion?
    1 point
  16. It seems that skirmishes do not work either (same goes for Millennium A.D.) Does anyone has clues on that?
    1 point
  17. It would be best to have 1 faction for the first half, as the Thematic Byzantine system covers from 638 AD to 1045 AD. The second half would pretty much also have one, which is the Pronoia system, which contained elements of the Theme system. I'm continuing to edit the above post. Check back later tonight for pix. We could use the Roman faction as a base, and use the Hellenes' recruitment tree probably.
    1 point
  18. The fog is a bit irritating to have a nice overview in Atlas. But it probably works quite well in a zoomed-in game. Maybe the pigs should indeed be a bit less, and maybe other animals mixed with it (goats, boars, sheep ...). I do like this amount of animals, it makes cav a lot more useful, enforcing a different play style on this map. Can you also enlarge the default number of trees in a territory? It looks like every player starts with two trees, but I've seen maps where one of the players had to walk really long to get the next trees (see screenshot: 4 players, normal size, seed 7888). I think having trees available to gather 1000 wood inside its own territory would be nice (it doesn't have to be right next to the CC though). Some fish in the water would also be nice (as players on the water seem a bit disadvantaged now). But overall, a great map.
    1 point
  19. I think we can go with something like: No unit-producing buildings or soldiers for 2 minutes = defeat. Remaining females and traders go Gaia and are converted to whoever finds them. We can also implement an "espionage" tech that reveals the vision of enemy units and buildings. This can cost 100 Metal for each enemy unit and building, meaning the tech is way too expensive to use right at the beginning or middle of a match, but is cheap enough to use in the end-game when the enemy has a very low number of units.
    1 point
×
×
  • Create New...