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.
  2. FOR ASSETTO CORSA COMPETIZIONE: If you report issues with saved games, please always zip and attach your entire User/Documents/Assetto Corsa Competizione/Savegame folder!
  3. If your game executable is missing, please add your entire Steam directory to the exceptions in your antivirus software, then run a Steam integrity check or reinstall the game altogether.

Programmer Advice?

Discussion in 'ACC General Discussions' started by Chillisteak, Jan 24, 2019.

  1. Chillisteak

    Chillisteak Rookie

    I occasionally stream in VR and as well as we all know we can't capture the standings etc in this game currently.
    I personally don't see that changing, and I was thinking of creating a stand-alone app similar to Kapps for iRacing.
    For those that don't know it reads data from the game and creates a standings overlay for streamers so viewers can see positions etc
    As far as I can tell there's nothing like that available for AC or ACC, so I've decided to learn something new and do it.
    Yep at that's the reason I want advice, I have no programming knowledge as I don't think HTML counts as programming does it? :)
    So I'm looking at info on where to start with this?
    As in programme language etc.
    I know this won't be an overnight thing to knock together for someone with no knowledge but I've always fancied creating something just never had a reason to before now.

    Of course, if someone can point me in a direction of an app that already does this, I'll take that too as it'll save me a lot of time and effort haha

  2. Similar Threads
    Forum Title Date
    Chit Chat Room To Devs - To Kunos - To Programmers Apr 23, 2020
    ACC General Discussions Let's talk about broadcasting (programmer's thread) Dec 12, 2018
    Chit Chat Room Programmer challenge :P Render different view rather than HMD mirror in VR ! Feb 27, 2017
    General modding discussion Python Programmer Oct 25, 2016
    Programming Language - Apps - GUI Themes Looking for ac programmer Oct 30, 2015
    Programming Language - Apps - GUI Themes Question for programmers: per track weather1.ini load possible? Jan 2, 2015
    General modding discussion MaiDireCamber seeking staff (Programmer) Sep 27, 2013
    ACC Virtual Reality HP Reverb upgrade from Rift advice from users. Feb 2, 2020
    ACC Controls & Peripherals Advice on throttle pedal linearity. Dec 29, 2019
    ACC General Discussions Advice for Paul Ricard Dec 13, 2019
    Chit Chat Room Advice - im terrible. Nov 27, 2019
    Chit Chat Room Wheel Stand Advice Nov 16, 2019
    ACC Virtual Reality Vr settings for my pc help advice Sep 7, 2019
    Steering wheels discussions Looking for some advice on buying equipment Sep 6, 2019
    Chit Chat Room Looking for a mentor/trainer/advice coach Jul 18, 2019

  3. OrganDonor

    OrganDonor Racer

    Seeing how it would have to be a Windows application I'd say look into learning .NET and C#. That's the easy bit.

    The hard bit is - of course it's easier said than done. It won't be easy if you've not done any programming before and if I'm honest (don't want to discourage you) but I don't think you'll manage to build anything useful in the available amount of time. You'd not only need to learn what programming is (no, HTML is not a programming language, it's a markup), learn all the concepts, learn C#, learn networking (games send data via UDP and TCP sockets), WinForms or better UWP and XAML and many other things. It takes people many years to become good at it (it took me ~10 years to start considering myself to be good).

    Of course, it's always admirable when people want to take something like that on but I would advise to learn programming in general and when ACC2 comes out you'll be able to do something like you're talking about :)
  4. Chillisteak

    Chillisteak Rookie

    Cool thanks for the honest response, and it's basically the kind of reply I expected.
    Yes, it's a little discouraging but everyone has to start somewhere so here's where my journey into this world begins.

    Thanks again

    Oh got any recommendations for sites, books, online courses etc on all this?
  5. Neilski

    Neilski Hardcore Simmer

    My suggestion: dip your toe in the water with something a little less ambitious. Learn a little Python (lots of websites offer basic free tutorials - e.g. CodeCademy, though be warned most of them will try to sell you the paid-for ones afterwards) and that'll put you in a position to understand existing AC apps. Then download a few and learn how they work and use that as a starting point for your own AC app. Working up to a stand-alone app as you mention in the OP is by no means impossible but I reckon it should be approached in bite-sized pieces with some sort of tangible results at each stage.
    (Btw, a side benefit of this approach is that it's actually possible to write stand-alone programs in Python too, which would save you the extra learning curve of another language.)
    Chillisteak and OrganDonor like this.
  6. OrganDonor

    OrganDonor Racer

    Definitely don't want to discourage you, exactly the opposite - I like when people want to learn something as complicated as programming. All I meant was - have realistic expectations, programming is hard. What you're trying to build is something complex even for seasoned devs but that doesn't mean you can't learn to do it. It'll just take more time than you have before the release.

    Regarding resources - there are quite a few. It depends on how determined you are to learn. Some websites are free, some cost $30 per month, which could sound expensive to some, however, it's a microscopic investment if you eventually become a developer earning £80,000 or $100,000 a year.

    I, personally, like Pluralsight. I got to test them for 3 months a while ago and I thought the quality of their courses was very good. There's also (as mentioned by @Neilski) CodeCademy, which is free (haven't used it so can't comment) Udemy, which is not. If you want to learn JavaScript, there's Egghead. Additionally you can subscribe to the Humble Bundle newsletter as quite often they have programming book bundles. There was a Python one a few weeks ago.

    The world is your oyster, choose something that you like and start from there. Probably doesn't make sense to spend money to learn the basics but if you start learning and think it's something exciting (I do) then think about investing some time and money to learn it properly :) Either way, best of luck!
    Neilski likes this.
  7. jaxx_za

    jaxx_za Hardcore Simmer

    It's an honest, realistic response - don't see why it should be discouraging. Or were you expecting to hear that you could easily get this done in 6 to 12 months, after reading the following books ???

    Seriously, you asked and received a real answer - use it to figure out how you'd like to take this forward.

    Sent from my Nexus 5X using Tapatalk
  8. emha76

    emha76 Gamer

  9. Chillisteak

    Chillisteak Rookie

    Awesome thanks I was thinking of Python as I knew it was capable of building Windows programmes but that's basically all I knew about it, I'll look at that thanks.

    It hasn't discouraged me don't worry, I knew it wasn't going to be a walk in the park.
    It was more of a kickback to reality and out of dream land, you've been a great help so far it's appreciated as I now have things to look at I didn't before your advice so once again thanks.

    Jaxx what's your issue here?
    I wasn't giving OrganDonor any attitude I was more than happy with the response provided, as it was exactly what I expected and even said thanks for it more than once and asked for further advice I can't fault the response given and no did I!

    Your response, on the other hand, is very confrontational and offers nothing constructive to this thread in any shape or form, so what was the point in you chiming in?

    Haha I'm not sure if you are serious or not with that youtube channel, but I'm definitely not discounting it on being a useful source of information for a newbie to this.
    So thanks. :)
    Neilski likes this.
  10. jaxx_za

    jaxx_za Hardcore Simmer

    Yes, you are right - that does sound confrontational. My apologies.
    Neilski likes this.
  11. OrganDonor

    OrganDonor Racer

    @Chillisteak First off - I didn't even think of taking any offence in your reply, which was polite and to the point.

    Either way, ironically, Humble Bundle released a bunch of programming cookbooks the other day:

    It's only $15 for all of them and there's a Python book too if you're looking into that. In case you don't know - O'Reilly probably publish the best IT books and they have an animal for every language/topic, so whenever you see them it's a safe bet it'll be a good book.

    When it comes to C# - I noticed that the C# subreddit has some very good links in the right sidebar - https://www.reddit.com/r/csharp/ (need to visit it from a desktop browser as otherwise it doesn't show).
    The Yellow Book could be especially good as - "The C# Yellow Book is used by the Department of Computer Science in the University of Hull as the basis of their First Year programming course.".

    There are plenty of other good links too and if you're still not sure, just post a question and I'm sure people will chime in to give advice :)
  12. Neilski

    Neilski Hardcore Simmer

    For a moment I thought you were talking about actual books (like, paper :D) and OMG that brought me right back, about 20 or 30 years... Sigh - those were the days ;)
    But then I clicked the link and saw "multi-format"... "DRM-free", so I think they don't mean paper, LOL!
  13. Turk

    Turk Alien

    Paper is still the best way to get a reference manual. I still prefer having a paper book to reference than looking something up on a phone.
  14. Neilski

    Neilski Hardcore Simmer

    Hehe, well yeah I guess nearly anything beats a phone ;) But it has actually been so long since I used a paper reference book that I've almost forgotten how to! These days, Googling addresses nearly anything faster than you'd have found it in a book anyway...
  15. Turk

    Turk Alien

    I'm currently learning Davinci resolve and did watch some great videos about it. But the problem with videos and even on screen text is you have to switch between them, I have to try and remember where and when I saw something. I think the video is great to watch initially but when I want to refresh what I heard a while ago, or yesterday, or last week it's much easier to have the book beside me so I can reference and work at the same time. I'll order the book for the software soon I still think it's a much more convenient way to learn. But I've got a terrible memory, it goes in one ear and out the other, I need that constant reminder. :D
    Neilski likes this.
  16. OrganDonor

    OrganDonor Racer

    It's nice to have a physical book to page through but the problem is they become old so quickly. I still have Delphi 4, C++98, 3ds max 3 books and even the C# 5.0 book that I bought not too long ago is now mostly "obsolete" as 8.0 is already coming out. Also, the Windows Phone 8 bible that I have - what am I supposed to do with that?! :D
    Turk and Neilski like this.
  17. Rajeshraj1990

    Rajeshraj1990 Rookie

    Thanks for this information. It useful
  18. PuRe_AdDicT

    PuRe_AdDicT Gamer

    You can make custom leaderboards with SimHub (RaceDepartment)
  19. vandella1

    vandella1 Rookie

  20. Felge Schneider

    Felge Schneider Simracer

  21. CmdrCody

    CmdrCody Rookie

    The complicated things you will need to focus on are:
    • Interfacing with ACC to read the data.
    • Displaying a custom overlay in the video stream.
    AC(1) has a 2 public interface that can be used by 3rd party software to read data:
    The documentation of the UDP telemetry interface indicates that driver names and positions are output. I'm not sure if the shared memory interface outputs all driver names and positions, or only that of the own player. Either way, programming against the UDP interface is probably a lot easier, since UDP is a network protocol you can work with in lots of high-level programming languages (e.g. Java, C#, which are easier to learn), whereas interfacing with the shared memory interface is probably only possible with low-level programming languages (e.g. C/C++ which are hard to learn).

    ACC did support the UDP telemetry interface too, but unfortunately KS disabled it in ACC 0.6 since they were planning to make some breaking changes to it. See: https://www.assettocorsa.net/forum/index.php?threads/update-0-6-mp-ratings-rebooted.55050/ . I haven't tried using the interface myself, but I haven't read any news about it being activated again. The documentation on https://www.assettocorsa.net/forum/index.php?threads/ac-udp-remote-telemetry-update-31-03-2016.222/ is quite old and is based on the interface from AC(1).

    If you have AC(1), I suggest you try reading data from its UDP interface. What you learn there will be applicable to reading from the ACC UDP interface, if it ever gets enabled again. Maybe you also have some other racing sims that have UDP telemetry interfaces. I know that Codemasters' F1 games have one.

    If you don't have any programming experience, I'd suggest you start learning the basics of a high-level language that's easy to learn, free, and usable in a Windows environment. I'd recommend Java or C#. Buy a book for absolute beginners - search on Amazon and get something that's rated well. O'Reilly, Manning, and Apress publish high-quality software engineering books. (Stay away from Pact though - they publish a lot of junk written by n00bs who just paraphrase other material.) Also, don't get one that's over 5 years old as it may contain outdated content.

    Once you get some basic "Hello World" examples up and running, try to get a UDP client and server set up and communicating with each other.

    As for displaying a custom overlap in a video stream: I haven't worked with any video streaming APIs. Probably not all video streaming services allow custom stuff to be displayed; you'll need to investigate which ones have public APIs for this kind of stuff.

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