Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. Im not here to do your work. Intelligent suggestions: Look up similar mods and see how they work Make and test your own mod, then upload it for other people to take a look at
  3. Bobit

    AI programming in general

    It's a good question because other games just don't have shared vision, or have vision only shared with the squad (pods in FiraxisCOM, spotter units giving sniper units LoS in OpenXCOM, to a lesser degree the cheaty intelligence stat which lets AI track any unit they spotted for a few turns). Because "good enough" really is okay when it comes to unspotted AI behavior, but there's definitely a lot of room for improvement. AI can see 60-90% of the map in this game, unlike the player, because there are so many of them, they all have extended LoS, and their starting positions are spread out. But if they did not have extended LoS, as in XCOMFiles where most foes are human, this would not be the case. Also they can only do this if they spread out, then they are easier to deal with perhaps. About the "ripple", something simple like a "shout" ability that alerts all nearby aliens (as aliens do not share vision by default) does great in Long War, Cogmind, especially if the player can visualize it. Perhaps the sound should be sourced from a random location within 3 squares, so that the AI does not know exactly where it comes from. I definitely like the idea of dynamically-formed response squads, but it would need to be simple, maybe just this: join the squad of whoever is close, sharing intel and moving together (i.e. both prefer to chase 1 recently-spotted but currently unspotted target rather than split up), and share the "sneakyAi" variable from OpenXCOM which basically means they heavily prioritize blocking enemy LoS at end of turn even if it means they don't get to fire (if one is not sneaking, none will sneak as all but one sneaking would just result in that one tanking all the fire) (of course Xenonauts has less LoS-blocking cover and more accuracy-reducing cover, so it's not quite so simple). I wouldn't expect the AI to know how long to "wait" before an "all-out assault", or to refuse to fire for fear it would reveal their position, even players often take the greedy approach so you can't expect the AI to know when not to be greedy.
  4. Thanks, but I'm pretty sure I'm doing it wrong. I've attached the one I tried to edit. sounds.xml
  5. Yesterday
  6. Charon

    AI programming in general

    I never suggested that everything that humans are capable of should also be something that the AI should be capable of. I only suggested that everything the AI is capable of is something humans should be able to do as well. This is a game. Humans play games in order to train. But in order to play you have to limit yourself to a ruleset. "Anything goes" is not a ruleset. If you train martial arts you might one day train with a wooden dummy. Now clearly a wooden dummy does not possess the same capabilities as a human. Yet you can use it to train your body and technique. For that it is not necessary that you are both on equal terms. A game is a wooden dummy. You can use it to train yourself, push yourself beyond limits, experience new hights and/ or entertain yourself. Though i think we are moving a bit deep into game design with this.
  7. Max_Caine

    AI programming in general

    The AI behaviour is legit. It's something that players can and do do during their turn. As the map is explored, the player can and does induce where aliens are based upon where the aliens have not been. The more of the map is explored, the tighter the ring forms around where aliens can be. The difference between player exploration and AI is that if aliens are dotted around the map to start with they get to explore the whole of the map more quickly than the player can. If the individual AI unit could not share information with other AI units this would be a moot point - they couldn't build a coherant picture of the world and react to it. However, if AI units couldn't share information, you'd get unusual and bizarre behaviour. AI could not, act as groups for example or respond effectively to player threats. If the AI is permitted to share information, then it would be probably be better to have aliens start at designated spawn points on the map. Then the AI's knowledge of the map would be more resitricted.
  8. OK, assuming that is single battle issue only, start Xenonauts_GC_editor.exe load game and hit V. However as I cannot even load your savegame, there might be something more serious...
  9. Charon

    AI programming in general

    Im not developing an AI so i am unaware of the practical issues taht can arise. Though i am not sure i am seeing your problem. Your problem assumes that the AI is pre-emptively looking for the player without any tangible evidence. Given that this is a computer game, and map size affects perofrmance, and therefore space should get used sparsingly an intelligent AI can indeed backwards calculate where the player is most likely based on where he is not. There is an easy solution to this. Dont implement a function like that. No really, just dont do it. I am on Chris´s side on having more or less patrol behaviour around the mapm unless there is tangible evidence of activity in the area. So for instance lets say you shoot a rocket into a building, that is loud, and the surrounding aliens might check out what noise that is, and therefore they deviate from their standard path a little bit, while still obeying their main role behaviour. I would rather have aliens looking like they are cheating, but they are not, instead of aliens that dont look like they are cheating, but do. If the aliens behaviour is legit, its something that the human players will be able to copy at one point in their playthrough, and have fun, instead of having what looks like to be legit behaviour, but is actually impossible for the player to do. Cheers <3
  10. Max_Caine

    AI programming in general

    There is something I'd like to say about AI and available information. It is possible to make the AI seem like it's cheating, even when it isn't. Take an average map. Sprinkle enemies throughout the map so the population density for any particular map area is quite low. At the start of the enemy turn, tell each enemy to spin in a 360 circle before any enemy makes any other kind of move. Because the data collection points are scattered throughout the map, the AI is instantly aware of 60%-90% of the map (depending on map construction and enemy placement). With that information, it's then possible to logically deduce where the players troops are on a negative mask of the available information. Because the player doesn't know that the AI data collection points are spread throughout the map, it looks like the AI is cheating, even when it isn't. Data collection and data sharing for the AI is a contentious issue. Just how much do you "legally" allow?
  11. Last week
  12. I've seen some XCOM music replacer mods on Steam Workshop, but they can't really be used together. Even if you copy the data from one and put it in the other, it only allows for up to 3 tracks for "Ground Combat Day", 1 track for "Air Combat", and so forth. Even then, sometimes Xenonauts' own soundtrack will override those mods. How would we go about making a better music mod? Namely, one that can accommodate a larger number of tracks for specific events.
  13. I've had no problems with the AMR yet, and it's apparently a mod designed for X-Division. At least, has X-Division as a dependency. I'm pretty far in, they are sending Terror Carriers and such. Plus, it's not any other alien on that map. I can kill them all, but soon as I so much as shoot that one Cyber-Disk, boom. Done and dead. Workshop support seems to have just, downloaded itself when I tried to get it off Steam.
  14. Everything looks OK but that anti-materiel rifle mod sounds strange. Also where you need Steam workshop support? I would disable both. Savegame crashes immediately on my install (and I completed game with it)...
  15. So I got a game-breaker. Terror attack dropped, I deployed to kill them. But, every time I try to shoot at a Cyber-Disk, the game immediately crashes. I've tried with different soldiers, and the result is the same. Autosave3.sav
  16. Charon

    AI programming in general

    So Chris was asking some AI questions in this thread https://www.goldhawkinteractive.com/forums/index.php?/topic/21567-official-ai-testing-suggestion-thread/ and its my favourite topic, but i thought there is a lot more to say and discuss about this than his request would allow. Seperating the wheat from the chaff so to speak. AI programming is really my favourite topic, as i really think it makes or breaks these kind of games, and i see the most potent improvements that can be made for a game in this area. So first we have to ask, ... what are we aiming for ? What is the kind of AI we want to have ? Generally speaking, we want the AI to be good and fun. Good in a skill way, that is we want to see and overcome something that understands and applies the rules of the game competently. Nobody feels satisfaction over beating the dumb kid, at best we feel quite bad, because A. we made somebody else feel bad and B. we didnt learn anything in the process. A Lose-Lose scenario so to speak. On the other hand we also want the learning process to be fun. But what is "fun" ? What is fun for human beings ? Having a "fun" time usually means that your brain analyses and recognises a pattern which execution brings you closer towards your goal. You "understood" the rules and can manipulate them in your favour. Hence your brain rewards itself when it finds the execution of a pattern to be more efficient than other comparable processes. It says "Hey, this is the way to go, do more of that". A few examples. An infant is trying to affect the world. Bigger impact means bigger reward. The mother builds up a block tower, the infant destroys it. The mother yells "oh no", and the infants brain fires off a big reward because it maxmially affected the world, and the people in it. The same applies when learning how to crawl. Do a lot of random behaviour, reward the successful ones, and you might one day have a very efficient set of skills. Everytime the infant tries to crawl, and makes some sort of progress, the brain fires off the reward structure which says "Maybe do more of that, you are getting closer to the goal of being able to move". When you indirectly throw a grenade and affect a target with the AOE behind an obstacle your brain goes "Hey, I just learned that i can indrectly affect a unit with an area of affect impact, without having a direct fire opportunity, and that brings me closer towards disabling that unit. Do more of that" When you are putting your sniper rifles in a more distant position your brain realises that "Hey, I can keep getting closer to the goal of keeping my units safe by putting them farther away, and the longer range of the sniper rifles still means i can affect the battlefield. Maybe do more of that." Everytime your brain has this "AHA" moment, it rewards itself, and you feel good. What your brain mainly does is pattern creation and recognition. So, how do we get there ? The corresponding literature is very fascinating, just reading from Half Life to Halo AI development really makes you realise how much thought intelligent people put into their game trying to make their game as fun as possible. Its definitely worth to read some of the developers roadmap diaries,m and just compare them to how you would do it yourself. Unfortunately the statistical data is very clear. You cannot deduce, or induce what makes a game fun or not. Though we do have a proven concept on finding fun in a game: trial and error. Its not the fastest concept, but it works. In the same way that an infant does random behaviour, and rewards elements that bring it closer towards the goal, and it disregards elements that "just dont seem to do much". Half life had that problem that once they had their first prototype, and played it, they just found that "it wasnt really fun. So we had to scrap everything and start over.". They then succesfully applied trial and error to the development process, identifying and reinforcing elements they collectively felt were "fun", while dropping elements that nobody felt strongly over. Lets now go one level deeper into AI development, and away from a more general approach. When we talk about a good AI we have to ask how much information we want the AI being able to see, in comparasion to a human. My general oppinion is that the AI should be as humanlike as possible, that is it should have behaviour that a human with the same amount of information is more or less likely to come to as well. In one phrase, the behaviour of the AI should be reproducable for a human player. Questions that fall under that are should the AI know about sight ranges for units ? Is that information the player can play with as well ? what about armour values, should the AI know about them ? Does the player have any knowledge or interaction possibilities for that. what about items a unit is carrying, should the AI be allowed to know what a unit is carrying. Is that something a player can collect knowledge The main point to set here is really to set the board as equally as possible, so that both parties - human players and bots - can make their decisions based on information that both parties could possess, in order for human players to look at the AI and say "Hey, thats smart, i should propably do that myself". That is propably the biggest performance hog though, as more complex behaviour leads to a slower game. A balance has to be struck here. On the fun side we are looking at pattern recognition. One of the fun things the Half Life team discovered was getting killed by something that was out of scope of the players knowledge wasnt very fun. On the other hand if they get a demonstration of what not to do, and where the danger lies, the players felt more like that their failure was on them, instead of an unknown variable. So they saw a pattern, and the impact of that pattern, and could then either apply or avoid such behaviour. Combining that with the fact that each unit has its individual goal in order fullful the overaching goal of the mission we end up with archetypical behaviour for units. I think it would make a very fun game if the player would be able to observe and recognise archetypical behaviour in opponents units. Such roles could be: Spotters: Hide in places which have good sight cover, while also having good vision. Only engage when facing lone units, or when the overaching goal of the map cant be achieved by other means than acting yourself ( AKA everybody else is dead ). Aggressive: Care more about getting into places with good shooting abilities than having good cover opportunites. Close Range Berserk: Try to get into close range by all means possible, dont shoot until you have high hitting chances Ambusher Active: Try to stay undetected as long as possible while getting into the best firing position. Try to make very few shots, but with high hit propability. Defensive: Priorities position with the best cover, take many shots, even with low hit% chances. .The overall feeling should be a lot of danger, but nothing is really hitting. Ambusher Inactive: Try to set a trap where you can maximise the damage of reaction fire. This can mostly be utilised for units inside the UFO, but also for units setting a trap inside a house. Sniper: Prioritise being out of sight range, getting into full or half cover, and only engage when other units have sight on targets, unless everybody else is dead. Terror: Priorities actions that decrease morality for soldiers, like killing civilians. The feeling of the player should be "Aha, i know that behaviour, thats a Spotter." or "That unit is definitely trying to ambush me". Lets go one level deeper. On the good side i definitely feel like the game could use something i call a sound ripple function. Basically anything that is "loud" or flashy should attract the attention of all kinds of units. The louder it is the more attention it should attract, up to alerting every unit on the map that something has happened there. This should definitely be moddable to allow people to create weapons or effects with are "louder" or more "silent" than others. The way that i imagine a potential game is that i support Chris`s vision of having "patrol" behaviour for units. And depending on how "loud" or "silent" you operate on the map you can attract or avoid attention by other units. So depending on the map layout you could start with a scenario where nobody knows that you just arrived up to a scenario where every unit on the map gets a notification of your arrival. And everything inbetween. That could easily be manipulateable by a sound ripple tile placed ontop of the arrival place. If the concept is good, you could even expand on it by implementing a feature that lets players give the pilot directions in whether or not they want a stealth approach, or a flashy big-bangs landing. The concept is very flexible and expandable in its application. The other thing i mechanically would suggest is that units can "hijack" other units for their purpose, and form temporary groups. For instance a sniper behaviour unit could hijack a defensive unit and override its behaviour to be a spotter, even though that would put the unit in more danger than the defensive behaviour would allow. That behaviour can last one or two rounds and then units go back to being "individuals". Another example would be an aggressive unit infecting other units to be aggressive too, and then they start an all out assault ( irrelevant of the success chances ). Consequently we are approaching the suggestion that the AI needs to keep track of some gloval variable like [] how many friendly units are alive [] how many enemy units dp we know of [] how many enemy units do we suspect to be there [] etc ... . Kind of like a semi-global-commander for the AI. Anything deeper propably goes into tangible algorithms and the perofrmance aspect of it. So much for the theoretical approach. Lets get some practical examples. --- First of all i really have to say that there are a lot of people better at programming an AI than me. @TacticalDragon has made a lot of improvements over the Xenonauts 1 AI, fixed a lot of bugs and layed the foundation for any bigger mod that X1 has to offer. I definitely think you should check out XNT https://www.goldhawkinteractive.com/forums/index.php?/topic/11800-x108-xce-025hf-xnt-into-darkness-mod-v60-quothellgatequot/ here. A lot of his work got incorporated into X-Division and i would say that 45% of the AI code is his, while 45% is from drages, and i supplied the remaining 10%. Though i think he went professional, and does AI development on a more paid level now. Everytime i look over the AI in X-Div i think "This is really how i want my players to experience the game". This is a more endgame-all-out-battle where the player gets dropped more or less in a very hot combat zone, with a lot of tactical options nearby. You can see a lot of archetypical behaviour here, units trying to assault and get as close as possbile, units being satisfied at rifle range, cannons and snipers behaviour. You can notice that the overall feeling of the fight is that its very dangerous for the player, but not a lot is dying. So you get a lot of adrenalin, but not as much of a "I messed up" feeling. Basically there isnt a lot of insta kill going on, and you can "feel" it when you get closer to more risky actions. The punishment is more gradual, than instantanious. https://youtu.be/5w69Kmgin3E
  17. Resolution issue. No problem ingame.
  18. Ladies and gentlebeings. I have opened up a thread where people can discuss AI in general. I shall draw a line now under the previous discussion and ask that people only discuss or submit what Chris would like discussed and submitted, i.e. A.I. test scenarios.
  19. At the suggestion of Charon and Giis-Jan I have made this thread so people can discuss free AI programming in general, and in specific AI programming and Xenonauts. So have at it!
  20. AI in General isn´t anything to discuss, there you have only 3 Options: 1. AI get dump. There are enough Games as examples. 2. AI get Cheating. There are enough Games from 1990s to mid / End 2000s, including Refits from the older ones. 3. AI get a ballance between Human Players in Intelligence and all Game-Options availible. The 3rd one get more or less implemented in all Games which get produced since the Mid / Ends 2000s and beginning 2010s. About the Question here for Testing the 3rd Option which Chris wanna make better for Xenonauts 2 I don´t have an Idea. I would suggest to look what Firaxis have done with that Problem, because they implemented similar small and big Alien-Threats in the new XCOM-Series. Yes for an TU-System it´s not easy, but there you have an evidance. And the new UFO2ET-Game is not far from Release, the final Stages are running (esp. Translation). If we get lucky we get an better evidance from that too, because the Game belongs on the same TU-System like Xenonauts 2 from what you can see and read. The Question is, what we do in the Meantime for making the AI better? That´s the Question to resolve Bugs in that Part. And Chris as well as Max_Caine get some solutions there for it, which we can test out. Chris made the Suggestions for Easy-Testing: An alien and a Xenonaut are placed near each other, and the alien has a weapon that can fire two shots at 50% accuracy or one shot at 75% accuracy for the same TU cost. The alien should attempt the two 50% accuracy shots, as this has a higher overall chance of hitting the Xenonaut. An alien moving between two waypoints opens a door and sees a Xenonaut soldier. The alien should immediately stop moving and attack the Xenonaut. An alien starts with an unloaded weapon and an ammo clip, and a Xenonaut in shooting range. The alien should reload the weapon and attack the Xenonaut. Chris made the Suggestions for advanced Testing: Self Preservation: an alien with low self-preservation is more likely to spend its TU shooting at visible enemies, rather than moving into cover. Self Preservation: an alien with low self-preservation would be willing to throw a grenade even if it would be caught in the blast area, whereas an alien with high self-preservation would not. Intelligence: an alien with high intelligence would prioritise attacking a Xenonaut soldier over a civilian, even if they have more chance of successfully hitting the civilian. Intelligence: an alien with high intelligence would prioritise attacking the Xenonaut they have more chance of killing (taking armour and current HP into account), even if they have a higher chance of hitting a different Xenonaut with a non-killing shot. My Ideas: Let Aliens make an defense Post with Cover (like they do in the UFOs) and let them shoot at medium range. They try to get back to an other new Defense Post with Cover. Not only 1 there are 3 or 4 in Action. Let 4 Aliens make Patrols and let them work togehter as a team. They use cover and fast Fire for the Comrades which get nearer to the Enemy. All above examples are only with 1 Alien. But they don´t work alone, they are an UFO-, Terror-, Base-, or Raid-Team atm. More is comming. And not only the Aliens are meant with that AI-Upgrade-Testing from Chris, there are the not announced special Missions too.
  21. Probably best as that can be a lengthy discussion
  22. If we want to talk about AI programming in general, should we take that to another thread ?
  23. So, something like this? Scenario: Find the best path for alien with a range 1 (e.g. close combat) weapon to approach a target. Rationale: If an alien has a range 1 weapon, it must be next to a target to use that weapon and have enough AP to use the weapon. Therefore, an alien must find the best path to approach a target which maximises the chance to use the range 1 weapon. If an alien is not seen, it cannot be shot at. Not being shot at is better than being shot at, so the best path an alien can take is a path where it cannot be seen by the target. If an alien cannot take a path where it cannot be seen, then if it does not have the AP to move directly to the target and use the weapon in the same turn, it should move as close as posible to the target while being able to hide behind cover, as hiding behind cover is better than being in the open. Take the following worked example: Assume the target (red square) cannot move. To the left is a wall (black line) which blocks line of sight. To the right is a large object (blue square) which does not block line of sight but counts as cover. The alien (yellow square) does not have enough AP to move next to the target and use the weapon in the same turn. If the alien moves directly towards the target: FAIL. The alien has picked the worst path and will be shot at next turn. If the alien moves behind the large object (blue square): PASS. The alien has not picked the best path, as it stil can be seen, but has a chance to be protected. If the alien moves around the wall: A+. The alien has picked the best path to move towards the target, as it now cannot be seen by the target. Note this is very simple: it doesn't take into account such things as using the strategy of double-backing, however it emphasises the use of cover, and the importance of not being seen.
  24. darkdill

    AWACS v1 - Final Release

    I've found some issues with this. 6 years late, I know, but still. First, when the AWACs is patrolling an area, it seems to continually rise in altitude, reaching heights of stuff like 600,000m. This is kinda silly since the real life AWACs plane only has a service ceiling of 8,800m. I believe the altitude also causes a problem with the AWACs detecting things in its radius, but I'm not certain. Second is that the AWACs slows down any squadrons it's with to a crawl. Yes, the real life AWACs isn't very fast, but this highly limits the plane's usefulness in-game. Even if it's with a squadron when they engage the enemy, the plane doesn't show up. I know that it's because the AWACs has no weapons, but I think it should be given access to a single cannon slot. If possible, maybe even make it so the cannon is rear-facing, making it a poor choice in tackling UFOs and only really useful for firing a few shots at a pursuing attacker. I'd edit that in myself, but I don't know how to make it work right.
  25. darkdill

    Xenonauts configuration files

    How would one go about changing how many resources you get after securing a UFO?
  26. Ah actually my menu background is broken, but ingame seems playable anyway :
  27. Updated, and it seems it’s all good, thanks a lot for the help, i tried a lot before asking here.
  1. Load more activity