Navigation

    FAForever Forums
    • Login
        No matches found
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. tatsu
    tatsu

    tatsu

    @tatsu

    33
    Reputation
    150
    Posts
    30
    Profile views
    1
    Followers
    0
    Following
    Joined Last Online

    • Profile
    • More
      • Following
      • Followers
      • Topics
      • Posts
      • Best
      • Groups
    tatsu Follow

    Best posts made by tatsu

    [Guide] : fake-fullscreen and optimisation

    All of this applies if you have either a single monitor or more than one monitor.

    This guide will go over how to setup a fullsreen script that both makes your FA run in windowed full screen (AKA: fake-fullscreen) and optimizes FA in order to gain a bit of performance.

    There are multiple versions of the script depending on your monitor setup, and whether you just want the windowed fullscreen, the optimization, or both.

    I’ll just give you the baseline and then step by step it so you can meet your needs.

    (Single monitor (at any resolution) example first)

    • run a test game of FA and go into graphic settings and set the resolution to « windowed » (you may now exit FA)
    • download and install AutoHotkey (when it is done installing don't run, there's nothing to run. Just close the installer)
    • hit Win+"R"
    • type "shell:startup"
    • in the folder that opens right click go to "New" -> "AutohotkeyScript" this should create a new ahk file. (You can name it fullscreenScript or something similar)

    Open this file with notepad or notepad++ ( or equivalent basic text editor that can edit code)

    paste this (this is the script you will have to adapt to suit your needs)

    #NoEnv
    SendMode Input
    SetWorkingDir %A_ScriptDir%
    #Persistent
    procName := "ForgedAlliance.exe"
    SetTimer, CheckProc, 2000
    Return
    
    
    CheckProc:
        If (!ProcessExist(procName))
            Return
    
        WinGet Style, Style, % "ahk_exe " procName
        WinMinimize 
        If (Style & 0xC40000) 
            {
            WinSet, Style, -0xC40000, % "ahk_exe " procName
            , % "ahk_exe " procName
            WinMaximize, % "ahk_exe " procName
    	Run, %comspec% /c process -a forgedalliance.exe 1110
            Run, %comspec% /c process -p forgedalliance.exe high
        }
        Return
    
    ProcessExist(exeName)
    {
       Process, Exist, %exeName%
       return !!ERRORLEVEL
    }
    return
    

    The Run, %comspec% bit is the part you can remove (two lines) if you’re not interested in the optimization.

    However, if you are interested, edit the 1110 on that line to fit your processor thread count. Mine has twelve so my number has twelve digits E.G. : 111111111110

    • when you’re satisfied with your edits hit ctrl-S, then alt-F4 to exit your text editor.
    • (if not interested in optimisation skip this) download this : https://github.com/tatsujb/Process.exe/raw/master/Process.exe and place this file (Process.exe) in c:\windows\system32
    • You’re done! you can either restart the computer or double click the file
    • (Optional although strongly recommended, especially if you have two monitors) add « UI Party » in the mod vault and enable it by hosting a test game with it (you’ll have to configure UI Party)

    (Example with two 1080p monitors that are ordered left to right you’ll need to adapt the pixel sizes if your monitors are a different resolution than 1080p, note that FA is now a window so it can’t stretch it’s bottom border two different amounts, if you have different resolution monitors one of the two monitors will not be completely filled.)

    #NoEnv
    SendMode Input
    SetWorkingDir %A_ScriptDir%
    #Persistent
    
    
    procName := "ForgedAlliance.exe"
    SetTimer, CheckProc, 2000
    Return
    
    CheckProc:
        If (!ProcessExist(procName))
            Return
          
          
        WinGet Style, Style, % "ahk_exe " procName
        If (Style & 0xC40000) 
        {
            WinSet, Style, -0xC40000, % "ahk_exe " procName ; remove the titlebar and border(s)
            WinMove, % "ahk_exe " procName , , 0, 0, 3840, 1080 ; move the window to 0,0 and resize it to fit across 2 monitors.
            WinMaximize, % "ahk_exe " procName
            WinRestore, % "ahk_exe " procName
            Run, %comspec% /c process -a forgedalliance.exe 1110
            Run, %comspec% /c process -p forgedalliance.exe high
        }
        Return
    
    ProcessExist(exeName)
    {
       Process, Exist, %exeName%
       return !!ERRORLEVEL
    }
    return
    

    Go here for full sets of examples : https://forums.faforever.com/viewtopic.php?f=2&t=9778

    Here is an exe version : https://forums.faforever.com/viewtopic.php?f=2&t=9778&start=40#p154100

    How to correctly handle two different sized screens : https://forums.faforever.com/viewtopic.php?f=2&t=9778&start=90#p185820

    The breakdown, for those who like understanding the nuts and bolts of what they use :

    I use autohotkey (AKA : AHK) as a scripting language here because AHK has absolutely no performance hit on your system especially in the case of this script and if it’s the only one.

    The first couple lines set our variables namely the process name that we’re looking for (E.G. « ForgedAlliance.exe » . Yes, this does imply that simply by replacing this you can get the same full screen effect on any other game or app).

    Then we tell it to disable the window border,

    Then we tell it to minimize,

    Then, in the first example I listed, to maximize (which when you don’t have a window border means the entire screen) ( in the second example I listed I set it to the combined dual monitor resolution)

    That’s fake fullscreen.

    The optimisation bit is something that works for FA for the following reasons :

    • FA always starts on the first core/thread
    • FA is mainly a single thread, single core app. It has a second thread for the user interface (which accounts for about 5% of FA’s cpu usage so it doesn’t really matter, it’s thread/core is generally very idle). The main thread/core however generally averages at 100% usage.
    • windows boots and runs it’s main services on the first core/thread.

    This combination of factors means that moving FA main thread to another thread, any other thread, yields overhead that you aren’t otherwise getting.

    Right, so you could just open your task manager after launching a game, find FA in the details tab (not the processes tab) right click it and set core affinity and remove the checkmark on the first core and apply.

    Well this was a popular thing to do by hand but I found it tedious so I automated it.

    This was a bit tricky as normally no non-admin process could modify other threads in this way. But I found an old archaic Microsoft system32 tool, crudely named « Process » which you can pipe a process name to plus what you want it to do to it without requiring any privileges of any sort. Neat. #justwindowsthings

    So I use process. Why do I place it in system32? Because that’s the equivalent on windows to adding it to the path suddenly when AHK makes a console call (Run) of that name (process) it is found. Perfect.

    So what is this 1110, 111111111110 deal? Process takes ones and zeroes as arguments for its thread affinity parameter. One means « use thread » zero means « don’t use this thread  ». For whatever reason they are listed backwards, this is why the zero is last (we’re trying not to use the first thread). Ok so how many ones do I put? As many as you have threads on your CPU minus the last one where you’ll put a zero instead, an easy way to check is to open task manager and right click on the cpu graph and select « show logical cores » and count the graphs.

    In the second line that calls process I do something else, what is that? Yes, I’m also setting FA’s process priority to high.

    For 99% of apps this does ABSOLUTELY NOTHING. But for some reason FA is apparently not already getting a fair shake from window (8 and up (that means windows 10))’s task prioritizer. Weird, I know. We take those.

    There now you understand the whole fullscreen/optimisation script.

    AHK gets flagged as a hack/cheat/bot by Black Desert Online’s anti cheat software! 😞

    Uhm, if you’re letting rootkits onto your computer, you’re fucking yourself already, I can’t help there. Don’t play games that impose rootkit software as an anticheat, this needs to be intergrated into gamer culture. That these rootkits are « official » rootkits does not make it any better and it calling AHK « a cheat » is really the pot calling the kettle black considering rootkits are malware.

    what’s the Linux step by step

    Well the whole core optimisation thing is moot since Linux abstracts away threads and doesn’t « order » them or « start a process on a specific thread ». The overhead and prioritazation are also moot because you’re not emulating a full windows, just the parts you need, and lastly the windowed is moot because the emulation plus whatever DE you have basically kinda result in the same result. There’s only the multiple monitor thing I would be curious to know how to do.

    Hope this helps thousands of people! 🙂

    posted in Frequently Asked Questions •
    RE: Graphic Artist Wanted

    @BlackYps said in Graphic Artist Wanted:

    We plan to show small icons in the matchmaking tab, so they should be 20 pixels high and no more than 40 pixels wide. five tiers with five subdivisions (I-V) each and then one top tier that has no subdivisions.

    T1 :
    tier1-subdivision1.png
    tier1-subdivision2.png
    tier1-subdivision3.png
    tier1-subdivision4.png
    tier1-subdivision5.png

    T2 :
    tier2-subdivision1.png
    tier2-subdivision2.png
    tier2-subdivision3.png
    tier2-subdivision4.png
    tier2-subdivision5.png

    T3 :
    tier3-subdivision1.png
    tier3-subdivision2.png
    tier3-subdivision3.png.png
    tier3-subdivision4.png
    tier3-subdivision5.png

    T4 :
    tier4-subdivision1.png
    tier4-subdivision2.png
    tier4-subdivision3.png
    tier4-subdivision4.png
    tier4-subdivision5.png

    T5 :
    tier5-subdivision1.png
    tier5-subdivision2.png
    tier5-subdivision3.png
    tier5-subdivision4.png
    tier5-subdivision5.png

    Final Tier :
    tierbanners(1).png

    rejected ideas : finaltier.png tierbanners.png

    We also want to show a big version in a new leaderboard tab. The design there is not finished yet, but I estimate that there will be around 150-200 pixels of height available. You can see a first idea for the new leaderboard below. The big division graphic goes where the empty rectangle is.

    big version pending approval of small version...

    (two options, I could either redraw them in 400 x 200 beat for beat or I could start fresh on a 400 x 200 canvas, preserve the colors, but replace the numbers with icons and try to find something that works to communicate that subdivision )

    posted in General Discussion •
    FAF Statistics Megathread

    Uh... hi!

    do you like stats? I do!

    Disclaimer : I didn't make ANY of these graphs and charts. The associated text are also mostly direct quotes so "I" in this thread does not mean "tatsu", I'll have a link below each, crediting source. You can check within who was speaking and creating the graphs. a majority of these were made by Sofltes. I don't make stats so I'll just be reposting everything relevant from the previous forum but there are rules for this thread: please only post stats. no debating. use other threads for that (feel free to hotlink a stat from this thread.)

    Ideally post using :
    https://plot.ly

    this allows to continuously have up to date data.

    I selected the latest ones and for those that had a plot.ly link I regenerated them. I ran through these and made them dark theme compatible.

    this first one is actually from this forum :
    stats.png
    Note: A "player" is defined as a person that plays at least a single game during said month using the client's services. Every data point is a month during that year.

    Source : https://forum.faforever.com/topic/287/is-faf-growing

    posted in General Discussion •
    I can't hear some of the Audio or other Sound issue. What should I do?

    You need to make sure your audio is configured to stereo 16bit 44100MHz.

    first set it to stereo, you do this by opening the old windows audio settings menu (go to configure) :

    669afd46-1b96-48d3-b148-588a2d74695c-image.png
    Now select Stereo :

    eb531897-a516-4c5f-8e87-41aeca9f365a-image.png

    Then you can set it to 44100 Hz in the "Advanced" tab :

    d999a623-d6c7-43ec-8b8d-93f9a78122c0-image.png

    there. you're now in stereo audio but there's a good chance this won't be enough if the first time you installed and ran FA, your computer was configured to use surround sound audio.

    to persist these changes into FA, delete your Game.prefs file at (warning you'll loose your FA user config for example what mods are enabled, what settings you set, build templates) :

    %LOCALAPPDATA%\Gas Powered Games\Supreme Commander Forged Alliance\Game.prefs

    and re-create it by running Forged Alliance from steam and re-creating your username.

    Now FA understands that it is in a stereo environment and audio will work.

    You can remake your templates, and add your settings and ui mods back.

    The bottom line is Forged Alliance and 5.1 or 7.1 surround sound are incompatible as FA was built before these techs were on the market so you have to choose.

    however, in my experience. so long as FA is shut down when you switch your audio back to 5.1 or 7.1 and you switch your audio back to stereo before running FA again, everything works out.

    posted in Frequently Asked Questions •
    AI MEGATHREAD

    Here's what I wanna do, categorize the difficulties of AIs so that hopefully one day we have a simple non-confusing drop down for AIs including not only all AI mods but all AI mods sorted by difficulty and not only that, but an auto-matchmake AI option.

    AND NOT ONLY THAT, but that same auto-matchmake AI (which is basically vs AI from starcraft where it ramps up or down the difficulty depending on your win or losses against it and you start against the easiest ((it's really really really well done in starcraft)) )
    ...would be used for the first 15 (or 20?) placement matches in matchmaking.

    thereby providing at long last a potential solution to the "bar of entry" problem that newer players face with matchmaking AKA ladder.

    with good metrics about what AIs are worth we would replace the current :

    A seesaw of randomness during fifteen matches where first match you get placed vs Keyser, second match vs some -600, third match you're against Blackheart and that's about when you decide you've had enough.

    with this:

    first match is vs and AI easy, You actually loose so you get matched vs it again. you win this time, third match is vs an AI normal, you loose, you get placed vs it again, you win....

    (at the end of this process the ladder rates you at about 300. insert obligatory "not great, not terrible")

    but the experience and end result is clearly way better.

    now.
    I admit that even vs a uveso AIx (3.0 cheat modifier) most ladder players would do fine and that wont teach useful things to new ladder players but that's the keyword here NEW.

    I don't think at the level of ladder I'm currently playing at (750), that any of my opponents could beat an uveso AIx (3.0 cheat modifier).

    this serves the NEW players first and foremost who need this. And [us thousand plus played games] we're not about to go through placement matches right now, so we should focus on what the experience should be like for NEW players, that we want to see stay in the community and get better at the game.

    I'm pretty sure that there are very good value lessons that this kind of AI is dishing out already without being too much of a detriment to fun or too much of a challenge.

    To this end I'm asking for your help to categorize AIs, this won't take up much of your time

    there are five AI mods worth downloading to my knowledge :

    • "AI-Uveso"
    • "AI-Swarm"
    • "Dilli AI"
    • "RNG AI"
    • "micro AI"

    add these and enable them in lobby (yes, they are inter-compatible)

    test at least four of the 43 (yeah...) AI choices you'll have as a result and draft down your observations here :

    https://docs.google.com/spreadsheets/d/1GRkWb0x0PcvwdN5kgaXOl83qEOZ5EmUvvAc8Zrttwp0/edit#gid=0

    thanks you all! It takes groundwork like this for years later a good mod to emerge. let's make history!

    posted in General Discussion •
    RE: Questions about how the meta has changed since GPG days

    I made a recap of the differences on arqade, dunno how helpful it is : https://gaming.stackexchange.com/questions/130147/how-does-a-forged-alliance-player-learn-to-play-fa-forever/353014#353014

    posted in General Discussion •
    RE: [Guide] : fake-fullscreen and optimisation

    the point of UI-festival the way I see it is only if you have two screens of different resolutions.

    if your two screens are of the same resolution UI-Party is the one for you.

    posted in Frequently Asked Questions •
    RE: Linux Support

    ah you beat me to it! 😃

    posted in I need help •
    RE: Screenshot of the week

    I see @lilSidlil , I upvote.

    posted in General Discussion •
    RE: [Guide] : fake-fullscreen and optimisation

    @arma473 no it's not accurate.

    you just use the ui party mod as stated. you'll see it's ideal. and the screens truly behave as two independent screens even though you're in fake fullscreen.

    posted in Frequently Asked Questions •

    Latest posts made by tatsu

    RE: Nvidia driver performance problem

    @ThaPear. you clearly have remnants of the driver sticking around despite your "clean installs" of the nvidia driver

    You can probably prove this if you have an extra hard drive or space on your hard drive, just install a new windows there for testing, put driver 450 I don't think you need to go much lower. it should work then. if it does, you might want to just transfer all your files and use that new windows install instead.

    posted in Game Issues and Gameplay questions •
    RE: Questions about how the meta has changed since GPG days

    @Wainan you're welcome!

    posted in General Discussion •
    RE: Team Matchmaker beta release NOW AVAILABLE!

    I wanna broach the fullshare topic... I love it personally. Feels just right that way.

    posted in General Discussion •
    RE: Questions about how the meta has changed since GPG days

    I made a recap of the differences on arqade, dunno how helpful it is : https://gaming.stackexchange.com/questions/130147/how-does-a-forged-alliance-player-learn-to-play-fa-forever/353014#353014

    posted in General Discussion •
    RE: Team Matchmaker beta release NOW AVAILABLE!

    This is amazing! you guys are the absolute bomb!

    posted in General Discussion •
    RE: AI MEGATHREAD

    the point of this anyhow is ordering them, because right now they're unordered.

    And I never suggested AIs on supcom's purpose could eventually be to beat a 1200 so I dunno why people keep turning the mic back to me on that one O.o

    I do think however that once we have a good classification of AI difficulty we can utilize that to train up our roster of -600 to 400 players.

    posted in General Discussion •
    RE: LegendoftheStars End-of-the-Year 2020 Championship

    @arma473 I know of a good thread for that : https://forum.faforever.com/topic/705/faf-statistics-megathread

    posted in Tournaments •
    RE: Up to date thread of good casters

    @Evan_ Oh yeah!

    posted in Job Openings (unpaid) •
    RE: [Guide] : fake-fullscreen and optimisation

    yeah I had that too.

    check the spacing.

    it's space sensitive for where it begins and ends the loops.
    mine looks like this :

    1ed264e8-1055-4573-9393-24cda1998ab7-image.png

    posted in Frequently Asked Questions •
    RE: AI MEGATHREAD

    Well I'd say small maps are often not AI's strong suit.

    I dunno try with something a tiny bit more spacious like tag rock, eye of the storm, salt rock colony, Syrtis major, the Dark heart, or arcane.

    all of which are 10 x 10 but less in your face then cobalt valley.

    but yeah that being said AI generally deals pretty poorly with 10x10 commander bum-rush.

    try it on 20x20 maps. try seton's clutch they're pretty hard to deal with in this case you may well end up dying.

    if not try with AIx and 20x20

    posted in General Discussion •