Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

iRDS - Intelligent Race Driver System Available on Asset Store

Discussion in 'Assets and Asset Store' started by rhodnius, Mar 18, 2013.

?

What you prefer (features are, Transmission, differential and Engine as separate component)

Poll closed Nov 12, 2019.
  1. Release new physics at it's current state and do new stuff on next releases?

    0 vote(s)
    0.0%
  2. Wait for all the new stuff on physics to be implemented then do the release?

    100.0%
  1. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Michael!

    That sounds really cool and great!

    And is great hearing that you got what you need :D

    If you need anything, let us know.

    Rhod,

     
  2. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Hi Rhod,


    I created a trigger box for the end of the lap. When the cars go through it the controller Ai is expecting a tagged object?

    UnityException: Tag: obstacle is not defined!
    IRDSCarControllerAI.OnTriggerEnter (UnityEngine.Collider other)
     
  3. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi radglade,

    Just create that tag on the layer and tags manager, is just because there is a check on our code against that tag, and if it is not on the tags it would throw that warning.

    Rhod,
     
  4. Filia

    Filia

    Joined:
    Sep 19, 2014
    Posts:
    1
    Hi Rhod.

    I've been looking into getting IRDS for a while now, but I do have a few questions before really jumping in.

    Does IRDS allow me to assign AI car characteristics on a car-by-car basis? For example: (just abstract numbers)
    Sir Aggro, 100% aggression, 50% consistency, 70% base speed
    Fast Kid, 70% aggression, 30% consistency, 90% base speed
    etc.

    Will there be support for multi-class racing in the future, if IRDS does not already support it? For example: Le Mans 24 Hours has "class winners" for LMP1, LMP2, GT-Pro, and GT-Am, which all run in the same race.

    There are pit stops, is there/will there be support for tire changes, for example, going from a "Slick" tire to a "Wet" one, from "Soft" to "Hard" etc?

    How's performance on mobile platforms, especially with "hardcore simulation stuff" like tire wear, fuel consumption, etc.? My computer is rather low-spec but ran the web demos with 11 cars + "Good" settings nicely.
     
  5. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Filia!

    Thanks for your interest in our System!

    Here are the answers to your questions:

    There is the option to assign settings to AI Drivers/Cars specifically or in random way, we have both options, also you can do this by script if you want to, so the possibilities are more wide on this.

    This can be done independently of our system, just by using the specific assignment of cars and drivers as on the first question, you can then assign on that list the AI's and cars you want to race on the specific race, giving you the ability to assign the cars you want, so at the end you can put there racing cars from different categories all together, then on the race end, you can take the List of drivers of the race that we hold in one of the classes and do on your code some reordering depending on the category of each one of them to finally build the end standings according to each class.

    Right now you can do this "tire change" by code, you would need to have predefined tires (which you can already create on one of our options on the iRDS menu) and put those on the resources folder so you can load them up while in runtime and take those settings and put them on the cars tires, there are the methods that would allow you to do this.

    The performance shouldn't be different from what you may have seen on the Android APK's demos we have, even adding the tire wear and fuel consumption won't change that performance, since those are pretty small lines of code for making those work.

    If you have any other questions we are more than glad to answer them.

    Rhod,
     
  6. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Thanks that worked!

    When you randomly assign assign AI cars Grid positions, can I access each AI cars grid positions in code?
     
  7. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Look like it's IRDSCarControllerAI.myGridPosition

    Regards
     
  8. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Hi Rhod,

    IRDSCarControllerAI.myGridPosition is not set for Player. It is always 1.

    upload_2014-9-22_15-16-13.png

    Is there any way to completely remove the Player ( In the above example, Player is set to AiDemo).
    I can kinda fix this by flagging the "Player" car and adding into the grid position that has no one in it.

    Or maybe I can preset the grid positions for the AI and set the player to grid position 1.
     
  9. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    HI,
    I've worked around this issue - any suggestion welcome though as my solution is cludgy. Maybe I missed something vital.
     
  10. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Radglade,

    The grid position is set on the myGridPosition as you already found, we are going to check if there is any miss assignment to that variable when iRDS instantiate the cars (since this variable is not really used by the system, and have no negative effect either, is just informative only) and would let you know.

    You can also have the grid positions fixed for AI and player if you want, using the option of Specific AI settings and enabling it and using the options on the Grid tab in levelload.

    Rhod,

     
  11. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Hi there>> What are you guys working on? what will be the incoming features be?,, rougly stimated next release dat?>>>
     
  12. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Pulov!

    We are currently working on improving the car physics behavior (engine and tires the most) and making them also more performance friendly.

    Also we are going to be working on the list you posted of new request, we would post here soon the roadmap for the next update.

    We are also working on a new system, called iTS- Intelligent traffic system.

    Rhod,
     
  13. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi guys!

    We want your feedback about this idea, we have received some request of making iRDS partially open source, so we want your feedback on this, since doing so, would break the ability to upgrade an existing project to the new version that would include more scripts as open source. The idea is to make available all the scripts with source code except for IRDSCarControllerAI, IRDSNavigateTWaypoints, IRDSDrivetrain and IRDSWheel classes, also we are going to work on making another package at a different price with the full source code on the asset store.

    So what you think about it? all the feedback, ideas and comments are welcome!

    Rhod,
     
    ZenithCode likes this.
  14. ZenithCode

    ZenithCode

    Joined:
    Jul 26, 2012
    Posts:
    42
    Hey Rhodnius,

    I think this is really needed to take this tool to the next level. Right now its an awesome tool especially for game designers but very limited for programmers. It is also VERY difficult to debug because you can't understand any null references or any other exceptions. I also understand that you need to protect your code so obfuscating in DLLs is good for you but very limiting for everyone else.

    My suggestion would be to go as open source as possible. Asset store history has shown us that similar tools (I'm thinking of NGUI and PlayerMaker right now) which are mostly open source create such a dynamic environment that people start sharing scripts, ideas and unofficial support to improve the current state of the original package in many different ways. This will help you sell more whilst also finding out what's missing on your tool and improve in that regard.

    A dynamic community will help you sell more whilst securing your position on the asset store.
    Regards,
    Anthony
     
  15. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Anthony!

    Thanks for your feedback, really much appreciated and for sure we are going to take the time to make this happen in a near future.

    Rhod,
     
  16. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    To me, not being able to upgrade an existing / ongoing project to a newer version would be a PITA.
    My interest on this system is that without writing a line of code, whitch I'm not able to do by the way, I'm able to have a game up an runing.
     
  17. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Pulov,

    Yes, we understand. We are going to check on a way to be able to do both, would be quite of a challenge, but you know us, we do good magic :D.

    Thanks for your feedback too, we are going to take it into account also.

    Rhod,
     
  18. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    At least, if not straightforward, be able to take from older version to newer main components such as raceline and main car specs.
     
  19. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Yeah, as a really simple work around for "upgrading" could be just been able to save everything from the previous project into, lets say JSON or XML and then been able to load it on the new version. That could actually do the work we think. :D

    Rhod,
     
  20. Shigidy

    Shigidy

    Joined:
    Dec 14, 2011
    Posts:
    441
    So other people will be able to make things for IRDS???? That would be amazing! Something I would want is a upgrade system for cars. Like a way to update the specs and looks of the cars.

    -New Tires/Rims
    -Spoilers
    -Colors and Vinyls/Graphics
    -Turbos/shocks/Weight Reduction/Brakes/Everything you see in Forza/Gran Turismo.

    Somebody else could get multiplayer running. I mean I would really, really like this if people would get behind it, like zenith code said.


    Something like this would be a definite buy for me.
     
  21. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Shigidy!

    Thanks for your comment!

    Right now, all of that is possible already with the version you have, just that is needed to be coded using the iRDS current API, since there are all the methods for getting and setting the cars specs, and for the graphics/look side, you guys can access those objects directly and make all the changes you want :D

    But yep, opening up partially the code for the current version of iRDS and releasing a new package with full source code would greatly make iRDS way more easy to customize than it is right now.

    Rhod,
     
  22. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    But opening the code does not mean necesarily that rest of users will benefit from others scripts as they might, and probably will upgrade the asset for their project purposes and keep it there.
     
  23. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Pulov!

    Yes that's true, but we would continue making new features too, the way we have been doing it so far, so if something needs to be added, we would add it ;)

    Rhod,
     
  24. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Ok no doubt about that, just to chill down the emotions of those thinking that people will start to extend this to the sky and beyond just for giving acces to the core.
    ------------------------------ ---------------------------- ---------------- --------- ------- ------ ---- --
    Roadmap please :p
     
    Last edited: Oct 1, 2014
  25. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hahahaha, yeah yeah, that's true also, but we will push it a little by little to get it closer to the sky hehehe.
    Yeah i promised the roadmap, here it is:
    • Make the system be partially open sourced.
    • Add an option to be able to preview the touch steering a few seconds before the race starts or a few seconds at the start of the scene.
    • Add the option to make always appear the touch steering while it is not pressed. (this way the touch steering would be fixed in a position on the screen).
    • Dispatching callbacks for different events, like when the race start, the race ends, when the car respawns, etc.
    • Add Capture the checkpoint sub type of race.
    • Add the championship data structure and options too.
    • Add button to enable/disable the racing line, on the levelload object as an option.
    • Add some handles to the spline to treat it as beizer curves or similar, the idea is to make it easier to work with the splines.
    • Add Replay system.
    • Add a new element called IRDS GUI: and put all the GUI stuff there for setting it up once for the game or individually per track if wanted.
    • Add a script that would enable viewing the AI values of the selected car on the screen while in play mode and save those values to be usable later on, and load into the prefab too.

    • FIX THIS ISSUES
    • If you clear all track data the waypoint numbering does not reset and continues using the last higher waypoint from previous data.
    • Add an option to respawn car if gets further than n meters from the track limits.
    • Fix the issue when the cars get obstructed and they pull back in a very crazy manner. (this should be fixed, since the issue was on the drivetrain code, we would confirm this).

    Those are the things to add for now, this list is totally dynamic and can change in time or by requests.

    Rhod,
     
    Last edited: Oct 1, 2014
  26. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Thanks for considering the Spline stuff and the display Ai values, still there are days where I remember two AI behaviors that I could not believe how nice they looked... ther're gone forever:confused:

    For the spline, if it is not possible to add handles or does not work good at all, consider adding a tension value to the spline, because looking for spline info I found a spline formula that had this tension param that was just what seemed to be missing in the asset atm.

    Rougly, what timings do you handle? May be you guys are busy with the ITS stuff.
     
  27. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Your welcome my friend!

    About that formula, would be nice if you could share it, that would help out on having it sooner too. :D

    Yep we are in a mix of projects, but that wont be an impediment for working on iRDS as well, indeed we have already started the development of the championship data structure and system.

    The plan is to take out iTS, then go for the partially open source stuff, which i actually need to add to the roadmap, and then continue with the new features (this could be also in between of making the partially open source stuff too).

    Rhod,
     
  28. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Also,

    If there is something that you are really really needing and wont let you make or complete your project, please let me know, that would have higher priority for us.

    Rhod,
     
  29. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi guys,

    Another idea for the open source stuff, could be to keep the actual product as it is, and release the new one with the full source code at a different price. Comments are welcome.

    Rhod,
     
  30. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Personally what i need badly is the spline formula modification to be able to adapt it to urban racetracks and the AI parameter display script. again, Personally.
     
  31. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Pulov,

    We are going to give those some priority then ;)

    Rhod,
     
  32. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    Rhod I second the whole idea of a new package with source, maybe would open a window for a higher sales price, and allow outside developers to contribute fixes they discover in the source.
     
  33. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi MD_Reptile,

    Thanks for your comments!, indeed we are thinking on going this way, instead of messing with the actual one, so everyone that have it already won't suffer from a more pain updated than it have been since the beginning and there would be the option to still get the full source code from the other new package.

    Thanks again!

    Rhod,

     
  34. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    wow, that is what I call customer care__ :D
    ------------------------------------------------------

    Soon I'll find a moment to make a video regarding the ITS stuff I'm quite busy atm. Next week for sure.
     
  35. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    We have also found a way to make the points from marker to marker be more evenly distributed, this way we for sure should make the system use less points for the same track size, since actually the corners takes a bunch more of points, because of how the spline interpolation works by default.

    Also, i have take a look at the cardinal spline, and it is almost the same as spline, not much difference, but we found a beizer curve code that imitates the spline, but also gives the control points for tweaking the curve, we have not yet tested it, but we will soon.

    Rhod,
     
  36. huxley

    huxley

    Joined:
    Apr 27, 2009
    Posts:
    334
    Anything that would allow IRDS to grow sounds like a good option. The possibility for other devs to sell 'extensions' of IRDS is very attractive. For my own development I would prefer a premium source code version of IRDS to it being open source (or in addition). Very rarely do I need to make a change to the AI or physics that IRDS currently implements, but I would like to have more direct control of the way that cameras and race state data, which (for me) would be much easier to edit at source level.

    Another thing to consider is how much of your personal support time will be required for a more public release. One of the things that I'm most impressed by with IRDS is the level of personal support for any issue and how frequently new features and updates.
     
  37. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Huxley!

    Thanks for those comments!, by just thinking about what you are needing, it could be really possible for use to just include the scripts of those 2 camera and statistics scripts, since those, even they are on the dll, doesn't depend on anything else, so we could just keep the dll as it is, and include the scripts on a rar file with the class name renamed, so you could just swap the original IRDSCarCamera i.e. with IRDSCarCameraS (this one would be with the source) or we could do that on the package assets too, this way we wont break the actual dll obfuscation process and you guys would have access to those scripts that you are needing.

    We are always commit to our clients-friends (we consider all of you, our friends) so you can expect that iRDS would always be evolving.

    Thanks again!

    Rhod,
     
  38. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Guys!

    We have been informed by a friend that have used iRDS with CarX on some tests he was doing, what he did was modify the iRDS Edys script that make the interface between Edys and iRDS to send and get the info from CarX, so we now can officially say that iRDS is also compatible with CarX (take into account that some modification are required to the script made for third party car physics, in this case Edys).

    This can also be made to get iRDS work with other car physics too.

    Rhod,
     
    MD_Reptile likes this.
  39. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Hi Rhodnius,

    I got the latest version of IRDS and I think there are some new issues with it.

    * In the loadlevel, you must set the number of shaders back to zero. For some reason it's set to 1, and it doesn't link to a shader, so throws an exception preventing any AI cars from spawning.

    * You need to set the pits, even if you are not going to use pit stops. To be fair though there is a message about doing this. A bit odd though.

    If your lighting stops working, it's because the main camera in IRDS is set to deferred - set it back to forward and it works again.

    Still a very good system!
     
  40. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi radglade!

    Thanks for the feedback, and yep we notice those issues, we already have submitted the V2.0.2.1 to the asset store since more than a week now with those issues fixed, including the checks for null reference in case you forget to put a shader on that list :D

    About the pits, i would check that now, have you tried the disable pits on the IRDSManager settings tab? is on the gears icons, select the first tool bar gear icon and then the one bellow, and there is a toggle to disable the pits.

    Let us know if you have any other questions ;)

    Rhod,
     
  41. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Here is a pic of were to find it:

    upload_2014-10-7_1-47-13.png

    Rhod,
     
  42. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Testing the system found that when passing below bridges or in tunnels the centerline and raceline project over the racing road.



    Not sure if this affects the behavior, just notify
     
  43. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Pulov!

    Thanks for the feedback, in this case, you can fix this by changing this parameter:

    upload_2014-10-7_12-3-57.png

    just change it to a lower value, like 2, and reprocess the track data.

    Rhod,
     
  44. Zaddo67

    Zaddo67

    Joined:
    Aug 14, 2012
    Posts:
    489
    I played your web demo. It's nice, but the cars have a lot of under-steer and only slide a little.

    I have been working with Unitycar for a while now and I have invested a lot of time customizing the system to get a fun arcade feel with some drifting, these changes are primarily done in a customised helper. I want to use Unitycar for the car physics with iRDS for the AI. Your feature list includes compatibility with Unitycar.

    Will your AI handle non-default car behaviour with Unitycar? For example, will it push the car so tyres slide and drift around corners? How flexible is your system with adjusted car physics?

    Edit: Also, I noticed in earlier posts that some of your code is in DLL's. Is the source available? If not, what features are not available for modification because they are in DLL's?
     
  45. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi Zaddo67,

    Thanks for your interest in out product!

    Yes we need to updated the Demos with the latest versions of the physics we have, since we have made some updates to it.

    You can use the customized helper for UnityCar and then use iRDS for the AI without more issues if those cars are drive-able by a player and our system should handle the non default car behavior too. There are some settings on iRDS that would tell the AI how much they could continue push the throttle while drifting on the corners (if the max speed on the corner is higher than the current car speed).

    Right now, the code is in dll's, we would be releasing some of the source code on the current version (right now pretty much all is in the dlls for the system and we include some examples on how to do extra stuff or customization if needed, there is also an API documentation online that would let you know all the methods and variables available to do customization or adding new stuff and interfacing with our system). We also have a good reputation on fast response for support and adding new stuffs required by you guys, so if you need something, we would either help you on setting it up to achieve it, or we add/modify to help you achieve what you need (if the new stuff is not something that totally differs from the system, i.e. this is a racing AI + physics + UI complete system and you want to add traffic to it :D).

    Just let us know and we would respond to your request ;)

    Rhod,
     
  46. radglade

    radglade

    Joined:
    Feb 17, 2014
    Posts:
    19
    Hi Rhod,

    Is there a way to identify each car in code. I would like to put the car numbers and/or name above each car so I can test to see if the right cars are winning etc.

    The driver names label seems to just put the same gameobject above each car.
     
  47. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi radglade!

    Yep that is for using it with another script that should be included on the package, you need to create a gameobject with a TextMesh component on it, and add the script IRDSObjectLabel.cs to it, create a prefab of it and add it on the field Driver Names Label on the levelload object, this object would be added to each of the cars and would show the Driver name and its position depending on the options you select on the prefab that has the IRDSObjectLabel.cs script on it.

    it would appear like this:



    Note: on this picture the TextMesh is setup to have character size to 0.02 and the font size to 150 to avoid pixelation.

    Let us know if you have any other questions.

    Rhod,
     
    Last edited: Oct 13, 2014
  48. timmay2t

    timmay2t

    Joined:
    Sep 12, 2014
    Posts:
    6
    Quick question regarding tires. I've gotten my vehicle to slide, through aero and some tire parameters. What i'm wanting to do, is for the tire to keep its grip and speed while still in the slide. Any pointers in that area?

    Currently the car either spins out, or loses a ton of speed, i'm wanting to get rid of both of those issues, but not quite sure which area of the tire i should be looking at.
     
  49. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi timmay2t,

    We are working on the physics side for the tire specifically to make those more easy to setup and get more similar behaviors to what you are describing, currently (on the latest version on the asset store) there is a hidden bool variable (hidden on the car setup custom inspector) called tyreMode, which if you set it to 0 would use the default tire forces calculation and if you set it to 1 would use the new one we are working on, since this is still a WIP feature, that's why it is not yet available on the car setup inspector.

    You need to enable it by script, either using a custom inspector script or at runtime for all 4 wheels. This new calculation method tries to make the tire forces be more "soft" as you are describing it on your post. So you could enable it and try some settings out, we would continue to work on it to make the tires more suitable for what you are needing.

    Rhod,
     
  50. rhodnius

    rhodnius

    Joined:
    Apr 11, 2012
    Posts:
    1,334
    Hi guys!

    As promised, here is the control points for the racing line, track limits and the pits lane:

    upload_2014-10-18_1-3-48.png

    You can see there the 2 disc white and cyan, those are the handles for moving the "tangents" or "control points" for changing the curve shape at that point.

    We would add also some handle points for the track limits side offset, so it is easier to modify without having to actually select the marker and change the value on the inspector.

    Rhod,
     

    Attached Files:

    emergki likes this.