ListAsset contains a list of all assets (for instance ships) For instance, an unarmed ship cannot carry out an attack task, nor can it do a task if it doesn't have enough fuel to reach it. However, we eliminate impossible combinations. We generate a PossibleAssignment object for each combination of "task doer" to task. Let's just take a quick look at our class hierarchy to make things clearer: Task stores the priority, priority modifier and objective. a ship) with a task and stores the "assignment score". PossibleAssignment links a potential "task doer" (e.g. We use two special classes to help us: PossibleAssignment and Task. This can be resolved by assigning the tasks in phases. The other part of the problem is that if we assign tasks in the wrong order the resource utilization will not be optimal. The overall algorithm is broken into 4 parts: Coupled with that it is close to a repair queue, and that means that it scores higher than the defense task. Therefore, in the previous scenario destroyer C would get a higher score for attacking the enemy colony, even though the defense task has a higher priority, just because it was so close to the enemy planet.Īlso, the priority modifier of the repair task for Destroyer A is quite high because it's so badly damaged. Likewise, the repair task gets a modifier depending on the amount of damage and the colonize task gets a modifier depending on the "habitability" of the planet.įinally the distance of the assigned ship is taken into account, as follows:Īssignment score = (6 - general priority + modifier) / distance to ship that is assigned ![]() Each task is assigned a general priority as follows:Įach task also has a priority modifier, for instance the defense task gets a modifier for the value of the colony (colonies with production queues get very high modifier). In order to solve the problems detailed above, firstly we design a scoring system. The Solution: The Resource Assignment Algorithm Assignment Scoring Meanwhile, the AI colonizer is armed, and could be diverted from its primary colonization mission. But destroyer C is too far away to reach frigate Y in time and would be better served to bomb the enemy colony, seeing as it's so close (not to mention, that fuel conversation is important too). So, that leaves Destroyers C and B to defend our colonies. It's wiser to send it back to the home planet for repair. It would be a futile sacrifice sending it into battle again. In this new scenario we have Destroyer A badly damaged from a previous attack. It's obvious that Destroyer B should be assigned to Frigate Y and Destroyer A to Frigate X.Īlso, other problems can occur with this simple algorithm. Then, when Frigate X is processed, the only ship left to attack is destroyer B, which is too far away to reach it and Frigate X succeeds in bombing our home planet. If by chance, frigate Y is handled first, destroyer A will be assigned because it's the closest. You might see here the flaw here in our algorithm. So, we find the closest warships and assign them to attack. So, we take the highest priority task first, and check for any enemy ships that are close to our colonies.Īs you can see in the image above enemy frigates X & Y threaten both the AI's home world and colony. The next highest, is defending colonies without production queues, then attacking enemy home planets, then colonizing habitable planets, then attacking enemy ships, then repairing damaged ships and lastly exploring uncharted territory. Defending planets with production queues has the highest priority, because they are the most valuable. a planet, or ship), starting with the most important first. Each player has war ships and colony ships and starts with a home planet and can colonize habitable planets.Ī first attempt at writing the AI would be a simple algorithm to assign orders to each resource (i.e. Our example is what's called a 4X game, where you must expand and dominate the galaxy. The AI design problem is easiest understood by taking a real life example, in this case we take a space based war game. Once the player has familiarized himself/herself with the tactics of the AI the game rapidly gets boring, so a certain amount of unpredictability is desirable.Ĭhallenges Involved: Looking At A Typical Strategy Game The challenge is to make the AI's attack and defense strategy to appear intelligent and thought out, providing a challenge but letting the player win in the end. ![]() In fact, it's nearly impossible to design a AI that can beat an experienced player, but that is not really the point anyway. Speed and accuracy are no longer important factors and the cunning and intuition of the human player will easily out match any AI opponent. In turn-based strategy games the tables are turned.
0 Comments
![]() I just started my day so I plan to get into the game today to also try what you mentioned earlier (start radio then go previous station) to see if I can find my local music. Won't work with that station I want, its not a mp3 stream, its m4a (confirmed by the owners of the radio station) their url, oh well, turns out I will have to play it in winamp (yup, I'm old school like that) just less immersive than directly in the game since to adjust volume, I have to alt+tab out of the game window. THANK YOU!!!!! I do not know if the local music has any snags for people making videos, but I certainly know the online streams do and so that's what I wanted to avoid. ![]() The main focus of my channel is trucking, and helping newer drivers learn the trade, but I also love to stream simulation when I am home on my home-time, mainly focusing on ATS, ETS2 and FS22 now that it is released.Ĭhange it to false and it'll disable the streaming radio stations and only allow the game radio stations and your local MP3 folder.īOOM!!!!! THAT'S exactly what I was looking for. I have literally hours of YouTUbe approved free music that I have been using to play during streams and pre-recorded videos as background soundtracks so I can keep my videos sounding professional but not pirated LOL. I honestly never thought of doing it that way. This means I no longer use the in game radio anymore and just use Spotify to play my local media library and customised playlists. This means viewers of the my livestreams can enjoy the music during a stream, however for people watching the VOD back later, or when I export the video to my YouTube Channel, there is no music in the video so no fear of any copyright issues. ![]() If you want to disable the internet radio stations, go into your gamesettings.xml in your saved data folder and find the following line: Ĭhange it to False and it'll disable the streaming radio stations and only allow the game radio stations and your local MP3 folder.Īs a fellow creator, not sure what software you are streaming with but for myself using OBS I use the feature to have a separate music track be captured on separate channel and then within the streaming settings have this track broadcast to the livestream, but then for the VOD I do not have that audio track enabled. There are the 6 local Game Radio Stations which basically play MP3/OGG files in a loop from the games music folder in the installation directory and then Giants also includes some handpicked online streams like TruckersRadio, 80s Hairband etc It does not control the stations that Giants have chosen and selected to include in the game. The streaming internet radios xml in the music folder only exists to let you add links to your own and preferred online radio stations, so can add other online stations in the game. Frustratingly kept flipping through everything and it seemed like there was some built-in game "radios" with stuff installed with the game and then some online streams, which made no sense since I purposefully deleted the online streams file. |