1. Do you need support for Assetto Corsa Competizione? Please use the proper forum below and ALWAYS zip and attach the WHOLE "Logs" folder in your c:\users\*youruser*\AppData\Local\AC2\Saved. The "AppData" folder is hidden by default, check "Hidden items" in your Windows view properties. If you report a crash, ALWAYS zip and attach the WHOLE "Crashes" folder in the same directory. Do not post "I have the same issue" in an existing thread with a game crash, always open your own thread. Do not PM developers and staff members for personal troubleshooting and support.
  2. As part of our continuous maintenance and improvements to Assetto Corsa Competizione we will be releasing small updates on a regular basis during the esports season which might not go through the usual announcement process detailing the changes until a later version update where these changes will be listed retrospectively.
  3. If ACC doesn't start with an error or the executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, run a Steam integrity check or reinstall the game altogether. Make sure you add the User/Documents/Assetto Corsa Competizione folder to your antivirus/Defender exceptions and exclude it from any file sharing app (GDrive, OneDrive or Dropbox)! The Corsair iCue software is also known to conflict with Input Device initialization, if the game does not start up and you have such devices, please try disabling the iCue software and try again. [file:unknown] [line: 95] secure crt: invalid error is a sign of antivirus interference, while [Pak chunk signing mismatch on chunk] indicates a corrupted installation that requires game file verification.
  4. When reporting an issue with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder, along with the logs and the crash folder (when reporting related to a crash).

A new idea for sims - ai constantly learning from humans

Discussion in 'Chit Chat Room' started by WallyM, Apr 22, 2015.

  1. A.r.e.s.

    A.r.e.s. Hardcore Simmer

    read....
    logs data, interprets data, makes adjustments to behavior based on developer defined heuristic.
     
  2. dev.pilot

    dev.pilot Rookie

    I think AC tried a non conventional approach to AI in the beggining. Unfortunatelly the early acess users patience wasnt enough to let idea grows.


    Enviado do meu iPhone usando Tapatalk
     
  3. WallyM

    WallyM Alien

    The difference to other forms of AI learning in what I proposed was to take advantage of the vast amount of human laps that the game could have access to. Theres a lot of information there, waiting to be tapped. Not just learning from one training human, rFactor style.

    As Turk said, I think the processing power could be prohibitive. Racing is vastly simpler than something like Watson though - there are several orders of magnitude less variables. That's not a good analogy to the broader difficulty of AI learning. Racing is vastly more constrained.

    You could give an AI the basic racing line for an empty track, and then use heuristic learning from the database of human laps to learn how to react to other cars around you. Where to position the car etc. That surely wouldn't be so hard. An AI driver can ”see” fairly easily the configuration of cars around him (position and velocity) and then use that as a key to lookup the most common human reaction in that situation from the vast playbook gathered from many thousands of human laps. Let's face it, there are not even that many combinations of how cars can be around you, for a computer to handle. I don't think it would be too computationally intense at all.

    But the key is to capture vast amounts of human sample data to build up a database from. Just think of all those laps out there, every day...
     
  4. Chazz Ranger

    Chazz Ranger Alien

    I don't even see the need to use human lap data to design good AI. In fact, I don't honestly understand why it's difficult to design good racing AI at all. It's a fairly controlled environment with a specific goal, and not that many options and AI reactions that need to be accounted for. Start with a good racing line and have the AI react to you and each other - avoidance, passing, blocking, etc. It's a computer, it has nearly instant reaction time, unlike humans which need to be able to predict outcomes when things are moving too fast for us to react in time to avoid situations. We know AI can be designed to drive a perfect lap, so human error needs to be programmed in. AI already knows what other AI are doing so that should be easy, and AI reaction time is so fast it should easily be able to react and adjust to human driving. I don't get why it's so hard to design. Not taking the piss, I would actually love an explanation from anyone who understands racing AI to explain what makes it so difficult to program. Anyone?
     
    Rodrigo Pires and Quffy like this.
  5. St3fan

    St3fan Alien

    Well I don't have racing AI experience but several years ago I worked with friends and made an AI chess game so I know some AI.

    As far as I know,

    You are right in that the racing AI does not require human lap data. Even if you want to design AI that's constantly evolving and improving, you don't have to use human lap data. However, everything you talk about after that is not easy to make.
    For example a good AI should not have a solid racing line. The line they use should be flexible according to different conditions, such as change strategy accordingly when there is a slow car in front of it. Different tracks have different sets of racing lines, so that's already a lot of work.
    Computer's reaction can be very fast, but it has to be able to predict things. It has to calculate which decision yields the best result in order to make a decision. In order for a computer to "avoid situation", it has to "predict", right?
    AI is programmed the same way, but it is not necessary "AI already knows what other AI are doing". For example, bot A and bot B can see each other, so they can make a decision. However, just right after the instant both cars make the decision, they change position/speed, so they have to make new decisions. There is a lot of interactions going on between different AIs and the player, it is not easy to program AI to behave very well under this kind of complicated interactions.

    I actually find a Unity engine document for making a car racing game: http://www.docstoc.com/docs/24770154/Unity3D-Car-Racing-Game-Development-Tutorial
    from Page 19 you can see it describes how to make basic AI. This approach may look very entry-level and maybe stupid to you, but I think that's the strategy most racing game AI starts with.

    I saw in this post that neural network was mentioned. Well actually when I see that comment I think the easiest way to make an evolving AI to make fast laps would be using a simple genetic algorithm to generate optimized sequence of steering and paddle input. However, if there are other AI and human players, I think it will be a huge interference with the algorithm :p Also you can't make AI go too fast and frustrate human players
     
    Rodrigo Pires, Chazz Ranger and Quffy like this.
  6. martcerv

    martcerv Alien

    Very true but some humans should never be teaching anything to anyone or anything. Use good drivers for AI learning and it will do well get your regular public server punter and we will need to blacklist AI. :D
     
  7. troy

    troy Racer

    Fixed that for you. The learning AI is gone for quite some time (2007 maybe?) it got canned with the last major AI overhaul, which is a shame really I always liked the learning part.
     
    3316V likes this.
  8. WallyM

    WallyM Alien

    The beauty of learning from humans is in the strength of numbers. That's where the value comes from, like in the CleverBot chatbot - not just learning from ONE human, but thousands and thousands. Averaging out behaviours. It automatically filters out noisy data like wreckers, which you can discard with broad filtering algorithms in any case.
     
  9. Fat Rich

    Fat Rich Hardcore Simmer

    As has been said before it's probably about processing power. If we all had a network of 20 fast PCs with each one purely calculating the AI for a single car only it would give a very realistic experience. Each machine could run a massive amount of code that covers almost any situation a driver would face, and would allow for deeper AI strategy and some "what if" calculations to give some illusion of prediction.

    A more affordable option would be to distribute the processing across maybe 5 old PCs, maybe calculating 5 AI cars each. They wouldn't need sound, decent graphics or peripherals, just a half decent processor, RAM and a network connection. The kind of 5 year old PCs that people can't give away these days :)
     
  10. St3fan

    St3fan Alien

    Actually I don't think computing power would be an issue. For example, the game can have an official server which collects human players' data all over the world. Then then make the AI algorithm evolve using collected data say every week and make updated AI as a monthly upgrade. All the computation is done on the server, so players do not have to use their computing power to do any AI evolution. This will also not interfere with any gameplay.

    The real problem is, I think, it is a lot easier, faster, and cheaper to use tradition waypoint design and make improvements based on it rather than make totally new AI that constantly evolves. I think game companies just don't bother do that.
     
  11. guerra

    guerra Racer

    raceroom has adaptive ai option
     
  12. Stereo

    Stereo Alien

    Also how do you debug something that changes on its own? If the AI find out that you can lap faster at Monza by cutting the first chicane in a certain fashion, where do you go to fix that?

    If you just use waypoints, and one of them is broken, it'll behave the same every lap, making it reproducible. If it's "after 700 hours of training the AI are lapping faster than the fastest humans", what are the bug testers going to do, wait 700 hours to fix it?
     
  13. Kevin Knorpp

    Kevin Knorpp Racer

    Didn't read thread but what immediately comes to mind is that many consider AI races to be meaningless when I believe the opposite. Improving against as consistent level of competitor and progressing to a new class of competitor (a la increasing AI difficulty) is as meaningful or more meaningful than any competition I ever participated in against humans and there have been plenty, believe me.
     
  14. St3fan

    St3fan Alien

    1. It is an easy fix for cutting a corner because you can make a huge punishment score for going off the track. For example staying on track at all times yields a 2:00 lap, and cutting 1 specific corner yields a 1:55 lap but with 10 seconds penalty, then in AI's mind, it will be fastet not to cut that corner.

    2. I think waypoint is definitely easier to control, but reproducible results can be boring as well. In terms of hotlapping, I am very confident that ideally the evolution of AI will lead to a fast laptime that human players cannot beat. However in terms of racing/sharing the track with other cars, the superfast AI may not behave as well as humans. Besides, you can set the percentage AI strength, which controls how much throttle they use, like we currently have so AI will be reasonable.

    The point I'm making is that making a racing AI with learning abilities is possible, can be brilliant, and can be faster than most (if not all) human beings in hotlapping, and may be able to provide superb singplayer experience. But it is a lot more troublesome to do so, so I think most game companies don't do that because the investment of time and money in AI like this may not worth the effort. I do think though, in the following years, the improvement of AI rather thab graphics will be the highlight of the video game industry.
     
  15. ...or you could just wingit like Geoff Grammond and make one of the best AI's out there.
     
  16. WallyM

    WallyM Alien

    I hope so. To me, it seems that all of these 100,000's of human laps are a huge data source waiting to be mined. What better way to race like a human than to look at how humans race? Not how computers race.
     
  17. snyperal

    snyperal Simracer

    Whilst I agree that adaptive ai and human laps are a good resource I wouldn't want the Ai racing how humans race, have you been online in a public server? First corner demolition derby, corner cutting and ramming aren't something I'd like to see.

    Well maybe just once.
     
  18. WallyM

    WallyM Alien

    Like I said before, you would filter out "unclean" laps from laps that the behaviour database is built up from. I.e no crashes, no offs, no cuts.
     
    snyperal likes this.
  19. eSEA One

    eSEA One Hardcore Simmer

    How about if you are racing AI and at the same time others are doing the same thing. Each PC of each person racing AI's computs one AI and that is then distributed into the cloud for use
     
  20. Quffy

    Quffy Alien

    I think right now it could be improved so that the A.I won't keep pushing their car if you are a bit slower in the corners than their pace or if you are starting to lose control-spin a bit, then A.I will keep pushing forward and will go directly into your car. Sometimes they also have awareness problems with the guard rails, at Nordschleife (will bump some, for example the guard rail before crossing the lap line at normal nords layout), and at Spa (they won't hit it, but they will drive almost into it and then brake, in the straight before eau rouge near the 2nd pits, which are unused).
    And in general some better attacking and defending. They follow too perfectly each other, like would be clones. I say this because I've been watching a few A.I races (last I remember was ferrari f40 at mugello), 12 a.i and I stayed on the pits. Is good to see that inside a grid of cars (for e.g 100% difficulty), not all are top of the top drivers. Is like in real life, you'd get the usual top 4 spread into 2 groups, then another intermediate group also sometimes split, and also other guys at the back. Race lap time results show just that too.

    So when I said they behave like clones, is inside those groups they seem to drive like copies of each other, with the same perfect mistake one car in front does, the other right behind also does it. And they have trouble using drafting to pass on the straights. I was watching 2 F40s racing each other at Mugello's big straight and one car was just glued in the back of the car leading. No attempts to pass him. A normal human driver would just pull to the side and pass that car. So like I said, inside the grid of A.I cars there are several groups of character A.I, but inside those groups they behave too much like clones, without attempting any attacking maneuvers, for example they aren't using slipstream in what seems easy opportunities to pass.

    Maybe you don't need to create a super structure for the A.I, but use the current structure of full driving physics for them, but with better attacking-defending strategy and individual intelligence-character.
     
Similar Threads
Forum Title Date
ACC Graphics - Tracks and Cars Red Bull Ring Ideal Line Bug Jan 30, 2024
Multiplayer Bugs & Issues Ideal line and autoblip on server Jul 19, 2023
Troubleshooting - Workarounds Any Ideas? Sep 17, 2022
ACC Hardware Discussions Stream Deck as a Button Box - Ideas Aug 29, 2022
Chit Chat Room Ideal Racing Line Jul 18, 2022
ACC Troubleshooting "Fatal Error UE4 AC2" Absolutely no idea what i need to do or doing wrong? May 31, 2022
ACC Multiplayer Ghosting players - to manage bad drivers (Idea) Dec 8, 2020
Graphics and Models/Tracks Bugs & Issues "Opponents Visibility" *New Idea* Nov 8, 2020
Troubleshooting - Workarounds The ideal trajectory activates itself Aug 12, 2020
ACC Gameplay Ideal Line Assist - it changes/updates color to late Jul 19, 2020
ACC Multiplayer Some ideas for the CP Servers Jul 18, 2020
ACC Gameplay Pre-Race Hud Idea Mar 3, 2020
ACC Physics Tires resettign to ideal when pressing restart. (Tought it to be an issue - works as designed) Feb 15, 2020
ACC Rating & Leaderboards SA Rating visualization (idea) Jan 12, 2020
ACC Multiplayer Driver Swap - Optimizations for public multiplayer? Any information or ideas? Jan 1, 2020

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice