-
Posts
2,350 -
Joined
-
Last visited
-
Days Won
85
Content Type
Profiles
Forums
Events
Downloads
Everything posted by Charon
-
So I guess i will wait until @Chrisis finished changing stuff in the background and then come back ? Come back tomorrow and comment ?
-
[1.65/X.CE V0.35.0] X-Division: The Devil's Toys (Addon)
Charon replied to Keksimus Maximus's topic in Completed Game Mods
If you are not adding visual content than you can delete all .pngs, since they are getting loaded with X-Division anyway. Just use some powerful tool to search and delete all *.png, windows usually isnt too fast with searching. If you are adding new visual content you can add it once, and it will overwrite pngs defined in X-Division. That should decrease the mods size to a few mbs. -
Most people dont code in C#. Most people cant code at all. So the common basis of extrapolating data sheets to the non coding audience will still be a necessity. Harmony has its limitations. Mostly that if the source code doesnt extrapolate an hook you cant change it. But also that you can only change objects or functions. If something is written inline you dont really get access to it. Implementing support for Harmony is the next big step for moddability for a game. Rimworld does it. Amazing Cultivation Simulator does it. And it does amazing things with the game and the community. Also as i mentioned the worry about source code got thrown out of the window fast when you use Unity anyway. Nothing which is coded in Unity stays a secret for long, Unity is simply too well known for how it works. So harmony could be the next step forward for the people who can do more than just alter spreadsheets, software could get closer to becoming a true platform to enable the players and modders to have the experience they want to have and to give.
-
Since Xenonauts is written in Unity, and Unity is written in C#, and C# compiles to IL i can potentially see the creation of hooks that people can take advantage of with Harmony. For all important functions and data there could be hooks written so that people can splice in their own code. That would especially include map generation, but also all other important parts of the game. After the game is finished developing mod compatability with Harmony could increase the value of the software to unprecedented levels, and give modding capabilities never seen before without having to reveal the source code ( though no code written in Unity is ever really unknown - cuz of IL ). Just something to think about.
-
v.1.65 [V1.65] - German Translation - Humax
Charon replied to Humax's topic in Completed Translations
Called in some favours. Got it fixed temporarily. Moved permanently to the download section. <3 to the german playing community. -
-
I like the idea.
-
Steam Workshop has never been the "proper" way of sharing mods. Steam Workshop fucks up more than it fixes. The "proper" way to share mods has always been a unified place, like this forum. A place that people designate for mods. Goldenhawk Interactive actively designed this place for mods to be uploaded. But there is no penalty for uploading them to other places, for instance MEGA, Nexusmods, or google drive. The only thing you "technically" cant upload is the executeable. "Technically" you cant upload anything that would create a standalone running platform, but since all mods are based on having to have the base game all mods are allowed all around the internet. Intellectual property is a different matter, and a grey area. But the worst case scenario is that somebody can ask you to stop hosting the content, or remove intellectual property from your content. So, this place is the designated place for mods to be uploaded, but there is no penalty for uploading them anywhere else. Oh yes, about the license. If you would know anything about licenses you would realise you cant put a license on something that you dont own. You dont own any intellectual property that goldenhawk owns. So you cant put a license on that. I mean you can, but its irrelevant. You can put a license on your own intellectual property, but thats your own buisness. And the rest is not intellectual property. Changing a line in the gameconfig file is not an intellectual property in the same way that the letter "5" is not anybodies intellectual property.
- 2 replies
-
- version control
- github
-
(and 1 more)
Tagged with:
-
I would like to help, but there is too little information. http://catb.org/~esr/faqs/smart-questions.html#intro For the future you might consider uploading the data in question, in the query you are making, so people dont have to guess.
-
Some people have tried to reach out on youtube to me, and still havent gotten the memo. So here it is again. I would like to emphasise the following again, and will put it in every future description of every video. YOUTUBE hides, blocks, and deletes comments at will. This is mostly done automatically by a bot. 1) I dont hold comments for review. As the creator of the video, I dont hold any comments where or whatsoever. 2) Creator settings have no influence on YOUTUBE´s power to hide, block and remove comments. 3) Hiding, blocking and removing comments can be based on any number of criteria, including but not limited to, user, comment content, perceived as spam, inapropriate topic. YOUTUBE reserves the right to remove any and all comments that go against its policy. And everything can be against its policy. Using the word for the human part where people usually sit on can and will get your comment automatically removed. The word is "ass". A lot of phrases use it, and all of them can be targeted. YOUTUBE IS NOT A COMMUNICATION PLATFORM. Its purpose is to store videos and make them available to watch, and that FREE OF CHARGE. YOUTUBE is not evil, its a proprietary organisation that can do whatever it wants to. So please if you try to contact people do it over the appropriate channels. YOUTUBE is not a communication platform. If you want to make sure your message gets through use something else. I am grateful for YOUTUBE providing servers for videos to people who want to watch them, free of charge. Additionally i want to point out that YOUTUBE analyses the audio of videos ( obviously ) and finding words like "ass" can and will the video restricted viewership without notifiying you. The like and dislike button can and will be manipulated by YOUTUBE so whatever you see there is at no point accurate, or representative of the people who clicked or didnt click the Like and Dislike buttons. Comments that are visible on your account may not be visible to other people, up to not being visible at all, even though it shows up on your screen. YOUTUBE is not a communication platform, please use the appropriate channels to reach out to people.
-
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.
-
That is a strong argument.
-
How did you test that vanilla doesnt have that kind of behaviour ?
-
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.
-
@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.
-
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.
-
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.
-
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.
-
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
-
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
-
Official AI Testing Suggestion Thread
Charon replied to Chris's topic in Xenonauts-2 General Discussion
If we want to talk about AI programming in general, should we take that to another thread ? -
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.