Jump to content

Charon

Members
  • Content count

    2,314
  • Joined

  • Last visited

  • Days Won

    82

Charon last won the day on April 24

Charon had the most liked content!

Community Reputation

253 Excellent

7 Followers

About Charon

  • Rank
    Sergeant

Recent Profile Visitors

9,763 profile views
  1. Worst case scenario you have to change the binary, but the XCE team announced their last version will very most likely be the final version released, and best case scenario you would find something in the moddable files, but i dont know anything about that.
  2. That is a strong argument.
  3. How did you test that vanilla doesnt have that kind of behaviour ?
  4. Hey! Just checked out your mod. It's excellent, but I think the writing could use a little more flavour and touching up. I'm an interdisciplinary researcher with focus on science and technology. Drop me a line at johan.eddebo@crs.uu.se if you're interested.

    1. Dagar

      Dagar

      Hey, not to curb your enthusiasm, but the mod is no longer worked on and Charon is retired from it as the last developer/maintainer. If you really want to, you can write your own texts though and integrate them into the game and make your mod of X-Division public here. Maybe @PALUcan help you get started, he wrote the lore as it is right now.

  5. Charon

    What are these?

    Wrong, X-Division tricked you. Those are not dead civilians, they are gas sprites. And gas sprites can be visible in the fog of war. The reason they disappear when you move your mouse over it is for the same reason the visible buildings level change when you move your mouse over it. Ergo gas sprites are inside a building, and they only appear at a higher map level, and when you move the mouse over it you reset the view to the level you are currently on. Also, this is propably a UFO, since i know where those kind of sprites appear.
  6. Charon

    AI programming in general

    @BobitI feel like you are making some good points. I like games that evolve around finding a strategy A, that the game then counters with a Counter A, for which the player than finds a Strategy B, that the game then again counters with a Counter B, all the while Strategy A still exists as a possibility. And so on. X-Division is propably developed with the idea in mind that that for any given problem there exists a tool which has the appropriate answer to that problem. The tool propably isnt directly available to you at the moment, but if you look for it you will propably find it. Some tools for problems get unlocked while you overcome the problem with sub optimal equipment. For instance beating interceptor class UFOs is usually a big problem early on, but as soon as you successfully overcame that obstacle the first time you will be able research a tool that makes achieving success over the problem a lot easier in the future. Sometimes a tool is hidden in a different place than the problem is. If you look into Caesan technology you will get energy weaponry, which is very good against sebillians. Sebillian technology provides kinetic weaponry, which in turn is very good against caesan and andron drones. And so on and so forth. The point of this is to make the discovery process as interesting as possible, and to reward the player to engage in the content of the game. I always have to think about Zelda games when this point comes up. Zelda games are basically a game about collecting keycards to get access to be able to collect the next keycard. Daisy chain enough of these keycards and you get a game. It leads to a very enjoyable discovery process, and the hunt for the next tool to solve the next problem. Another propable goal of X-Division is periodisation. Thats a concept taken from Mark Laurels Bodyweight Training guide. He found the best results for training humans in periodising the intensity and repetition of the exercises. That is you change your training regiment between high intensity and low repetition with low intensity and high repetition. The human body can not operate on peak condition all the time, but periodisation of peak conditions gets the most out of the human potential. And so the game tries to throw few missions with high intensity, and many missions with low intensity at the player, enabling the player to choose their own periodisation (mostly ). One of the flaws of later game content is that it overburdens the player with the amount of high intensity missions in order to make meaningfull progress in the game. The game doesnt let the player relax with low intensity missions, while still partly making meaningful progress. So i think you can say that the most enjoyable "adaptive AI" has something to do with what kind of tools the player has access to at any given moment, and what kind of problems the AI can throw at the player at any given moment, and less to do with different AI settings in Ground Combat. You basically change the tools the AI has access to, but not the programming behind it.
  7. Charon

    AI programming in general

    I do support patrol behaviour, but i really think that putting patrol behaviour points on the map is problematic, and will become a double edged sword in the future. The appeal for games like Xenonauts for me is that you can load up a map, throw in some units, and you get a different fight everytime. And if you get a different map, or a procedurally generated one even better. The advantages of map patrol points is that developers can do some nice stuff with it. The drawback is it hurts replayability of a map if you know exactly where you can expect units. That might not be obvious on your first playthrough, but can get old very fast. So i would really like to have general-purpose AI that you can drop into the map and just expect them to do reasonable well, with patrol behaviour applied ontop of it, instead of mainly patrol behaviour, with a minor layer of general abilities.
  8. Charon

    AI programming in general

    Some solid oppinion there :thumbsup: ! I get what you mean. The value of a players action is depending on keeping their soldiers alive. If the AI doesnt consistently punish your mistakes it devalues the players actions, because it puts part of the danger on a dice roll ( the dumb behaviour ), instead of making the player feel like they are responsible for each and every action they take.
  9. 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
  10. 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.
  11. 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
  12. 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
  13. If we want to talk about AI programming in general, should we take that to another thread ?
  14. Charon

    Night Vision

    I think a general improvement would be to shift the focus of night missions away from being an assymetrical battle, and more being a limiting factor for both sides, with certain races gaining boni or mali for night missions + special equipment to balance out the human side of things, where carrying night vision can be cumbersome. Doing night missions is a voluntary way of making the game harder currently, and there is no benefit to it. Adding to it that night missions are easily avoidable makes you question yourself why you should even do them.
×