Monday, 26 January 2015

Unreal Tournament 4 (UT4) Framerate Optimization

My computer is getting old. When I built it, it only cost 500 dollars (CDN) but it was a pretty good gaming rig for the money back then. That was a few years ago though, it's certainly not a very good gaming machine now, especially not for playing a fast paced new shooter like Unreal Tournament 4 pre-Alpha.

My computer specs:

ASUS M4N68T-M motherboard
AMD Athlon II X3 440 CPU
8G RAM 2x4 DDR3 1600
Radeon 5670 512M DDR5
Samsung Evo 840 120G SSD
150G WD Caviar HD

The original machine only had 4G of RAM and no SSD, those are recent upgrades. I also upgraded the OS from XP to 8.1 (UT4 does not work on XP).

Initially I found UT4 to be practically unplayable. It almost seemed ok with nothing going on but stuttered badly whenever any fighting was going on. My FPS would start bouncing all over the place. I was having big trouble hitting anything and just about every time I died was a WTF moment. Even just playing bots in a local game was extremely frustrating and attempting to play online was much worse.

So I went looking for config tweaks to improve FPS stability, reduce stuttering and input lag and make the game playable. I soon found a thread on Epic's UT4 forums suggesting a console command that turns off ambient lighting.

r.SimpleDynamicLighting 1

It helped a lot, practically doubled my dps, but the maps were very dark, some so dark I really couldn't see much of anything.  So I went looking for a console command to brighten the maps up and found this.

r.ExposureOffset 3

Some maps are very bright with r.ExposureOffset 3 but a few were still too dark in places with it only set to 2. I'd rather have a few maps a bit too bright than any too dark so I went with 3.

These can also be set in Engine.ini by adding the following lines under [SystemSettings]

r.SimpleDynamicLighting=1
r.ExposureOffset=3

These settings do make it harder to nail shock combos at range because without dynamic lighting you don't get the reflected glow along walls and floor that helps you gauge exactly where the moving core is.

Source https://forums.unrealtournament.com/archive/index.php/t-12691.html

Further down in the same forum thread a user named furiio posted his ini settings. I tried his settings later with  r.SimpleDynamicLight=1 and a few minor changes that seemed better for my hardware. That improved FPS and input lag a little more. They didn't increase my FPS but helped with FPS stability. My framerate didn't drop quite as low, nor nearly as often as before. Then after playing with that for a couple days I tried turning dynamic lighting back on tonight (r.SimpleDynamicLighting=0) and played a few local games.

The game feels smooth enough in local games, it looks better and it's easier to judge distances for shock combos with dynamic lighting on. But there wasn't anyone online to test it against so I'll have to wait till tomorrow to see if it's smooth enough for online play. I sure hope so, it'd be nice to be able to gauge distance on combos better.

Nope no luck with that, I had to turn dynamic lighting back off. The game just wasn't smooth enough for online play with it on.

I still can't play in the smaller, tighter maps with more than 4 or 5 players (including myself). It turns into a massive spamfest which kills my FPS and induces enough input lag that everything gets sort of wobbly. It feels like I'm dragging the screen around behind me and it doesn't want to follow me. I can't move very well and I can't hit the broad side of a barn unless it's not moving. But some of the larger maps are playable even with 8 or 10 players, I can move ok, I can hit other players and I say WTF a whole lot less.

My favourite maps so far are DM-Canon, DM-SidCastle and DM-DeckTest.


The following are furiio's settings.

\UnrealTournament\Saved\Config\WindowsNoEditor\Engine.ini:

[/Script/UnrealTournament.UTGameEngine]
bFirstRun=False
FrameRateCap=118
FrameRateMinimum=118

[SystemSettings]
r.HZBOcclusion=0
r.AmbientOcclusionLevels=0
r.BloomQuality=0
r.DepthOfFieldQuality=0
r.SSR.Quality=0
r.DetailMode=0
r.LensFlareQuality=0
r.MaxAnisotropy=0
r.oneframethreadlag=1
r.simpledynamiclighting=1
r.LightShaftQuality=0
r.RefractionQuality=0
r.ExposureOffset=0.3
r.ReflectionEnvironment=0
r.EarlyZPass=0
r.Atmosphere=0
r.Shadow.MaxResolution=2
r.Shadow.MinResolution=2
ShowFlag.DepthOfField=0
ShowFlag.AntiAliasing=0
ShowFlag.LensFlares=0
ShowFlag.Bloom=0
ShowFlag.AmbientOcclusion=0
ShowFlag.TemporalAA=0
ShowFlag.DynamicShadows=0
ShowFlag.MotionBlur=0
ShowFlag.fog=0
ShowFlag.Tessellation=0
ShowFlag.LightComplexity=0
TEXTUREGROUP_World=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_WorldNormalMap=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_WorldSpecular=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Character=(MinLODSize=1,MaxLODSize=4,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=1,MaxLODSize=4,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_CharacterSpecular=(MinLODSize=1,MaxLODSize=4,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Weapon=(MinLODSize=1,MaxLODSize=64,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=1,MaxLODSize=64,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_WeaponSpecular=(MinLODSize=1,MaxLODSize=64,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Vehicle=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_VehicleSpecular=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Cinematic=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Effects=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=linear,MipFilter=point)
TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Skybox=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Lightmap=(MinLODSize=1,MaxLODSize=8,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Shadowmap=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point,NumStreamedMips=3)
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_MobileFlattened=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=1,MaxLODSize=2,LODBias=0,MinMagFilter=aniso,MipFilter=point)

[/Script/Engine.Engine]
DisplayGamma=4
MinDesiredFrameRate=999

[TextureStreaming]
UseDynamicStreaming=false


\UnrealTournament\Saved\Config\WindowsNoEditor\GameUserSettings.ini:

[ScalabilityGroups]
sg.ResolutionQuality=100
sg.ViewDistanceQuality=0
sg.AntiAliasingQuality=0
sg.ShadowQuality=0
sg.PostProcessQuality=0
sg.TextureQuality=0
sg.EffectsQuality=0

Tuesday, 13 January 2015

PLEX Price Trends

It's too early to say for sure but it looks like the recent PLEX price trend may be changing. The price rose somewhat quite recently and has been holding fairly steady since at around 820 million each.


Of particular interest is that for the first time in over a month the 5 day average is above the 20 day average. This is an indication prices are rising (or have risen recently).

Normally I'd consider that a strong indicator the trend is about to reverse and prices start going up again but right now things are still very much up in the air regarding the multi-boxing policy changes.

The next week or so should give us a better idea if the downward trend is going to continue (possibly at a lower rate), if prices will drop even further, begin to stabilize, or start rising again.

Really what happens next is heavily dependent on how well (or conversely how poorly) and how strictly CCP enforces the new policy. And it's probably going to be a while longer before we know for sure about that.

If you think CCP will not be effective at enforcing the new policy, then it's time to start buying now. If you think they'll be banning cheaters left and right, then it might be a good idea to sell before the price starts going back down again.

Monday, 12 January 2015

Windows OEM vs Retail Versions

Trolls, being trolls aren't very bright. I understand my personal troll is saying I'm stupid because he believes there is no difference between OEM and Retail versions of windows.


There are 3 major differences between these 2 items. The physical DVD disks themselves contain exactly the same content.

1. OEM copies of Windows come in either 32, or 64 bit flavors. You must decide which version you want, and make sure you purchase that copy. With a retail copy, you get both 32 and 64 bit Windows DVD’s in the same box.

2. OEM copies cannot be transferred from one PC to another. Once you install an OEM copy of Windows on a PC it must remain with that PC forever, unless upgraded to a newer version of Windows in the future. Retail versions can be moved from PC to PC, but your retail copy of Windows cannot be installed on more than one PC at any given time.

3. OEM copies do not come with any support from Microsoft. If you need to call Microsoft for support with Windows, you must pay a fee to do so. Retail copies come with a phone support incident included in the price.

Added 13 Jan 2015

Ironically enough now the troll says I don't know MS changed the licensing agreement terms for personal use in 8.0 and that proves I'm stupid. The fact is I did know but it's clearly obvious he doesn't know it reverted back to the old way with 8.1

http://www.microsoft.com/OEM/en/licensing/sblicensing/Pages/windows-licensing-for-personal-use.aspx#fbid=pjldcM9iDiZ

http://www.howtogeek.com/197232/microsoft-is-misleading-consumers-with-windows-8.1-system-builder-licensing/

Just like I said in the first place, trolls aren't very bright.

Running UEd 3.0 on Windows 8.1

I figured out how to get UEd 3.0 working properly under Windows 8.1

The problem was when using the mouse to move around in a viewport with "realtime preview" on it would move a mile when you only wanted an inch, making UEd pretty much unusable.

The fix was pretty easy, I just clicked "properties" on the icon and set the following Compatibility settings.


"Disable display scaling on high DPI settings" was the setting that did it.

I tried "Run compatibility troubleshooter" first but it was useless. Then I noticed a checkbox for high DPI settings. Since my GS502 gaming mouse is capable of up to 6400 DPI I figured that might be it. Checking it solved the problem.

Note that Epic's version numbers can be confusing. UEd 3.0 is the editor for UT2k4, not for UT3 as one might think.

Sunday, 11 January 2015

New Toys

I've been running a Win XP box I built for under 500 dollars a few years back. Nothing fancy but it was a really good little gaming machine for the money back then. It ran everything I played perfectly fine with good framerates at decent resolutions and reasonable settings.

Lately though I've been running into new software I want to try that won't even run on XP at all. I finally decided it's time to upgrade the OS. At first I was going to get Win 7 but after doing some research, checking prices and thinking about it for while I decided to go with Win 8.1 instead.

I've also wanted an SSD for a long time and I've always preferred doing major OS upgrades with a clean install on a brand new drive so it was time for a new drive too. Doing a little research I found a couple great little 2.5" SSDs available at terrific prices online.

Samsung 840 Evo 120 GB for $82.99 CDN
Crucial MX-100 128 GB for $72.99 CDN

The Samsung 250 GB and Crucial 256 GB versions were around $139.00 and $111.00 respectively. The Samsung is faster and the Crucial is cheaper but they're both good fast drives with great prices.

Win 8.1 (full version, not OEM) I found online for $99.99 CDN

London Drugs price matches online retailers (even the ones with the most aggressive prices) and they had Samsung SSDs in stock but not Crucials so that made the SSD decision easy.

If I'd had another 60 bucks to spend I would have gotten the 250 GB version instead but my budget was too tight for that. If they'd had the Crucial 256 GB I probably would have justified spending another 30 bucks on that and grabbed it instead.

So I took my new toys home, slapped the SSD in and did a clean new install of Win 8.1 leaving the old HDD Win XP install intact.

I was mosty impressed with the Windows install, it was the simplest and fastest Windows install I've ever done. The only things I didn't like about it were:

1. It seemed to be forcing me to create an email account with MS. Not sure if that's what it was actually doing though since I found out later that was my computer logon ID. Which leads to point two.

2. It also forced me to set a funky longass password with caps, numbers and all that crap for the login account. I hate that, I don't want a phreaking password on my personal computer that nobody else uses and making matters worse they forced password rules on me too. If I was a hacker trying to brute force hack passwords these days, I'd make damn sure NOT to waste my time trying any combinations less than 8 characters long, containing spaces or punctuation characters or NOT containing both a number and a capital letter.

Once the OS was installed the first thing I did was search the web to find out how to turn off Metro and make a few tweaks to get the desktop looking and functioning better (more like XP or 7). Then I installed Classic Shell and was pretty happy with the look and feel of the OS at that point. I'll tweak it more yet but it's pretty decent already after only a few minutes of tweaking.

Next step, install Chrome and make Chrome the default browser. Then onto a few must have apps like GiMP and WinZip. Then Eve, Evemon, Evernus (which doesn't run on XP). Eve took the longest since I decided to go with a full install from download and the download takes a while. Once that was done it took another half hour to find and copy all the settings files over from the old OS.

Everything worked perfectly with no problems at all. The OS seems at least as fast and responsive as XP was. And of course the SSD means it boots orders of magnitude more quickly.

Finally I installed Unreal Tournament 2004 (mostly for the map editor). UT2k4 ran great too but unfortunately there does seem to be a serious glitch with UEd 3.0 under 8.1 that makes it pretty much unusable. I'm not going to spend a whole lot of time trying to figure out a fix for that just yet though. I'll be busy re-installing other old apps, installing a few new ones that wouldn't run on XP, plus tweaking and configuring everything for at least a few more days.

Next month I think I'll upgrade the RAM from 4G to 8G. It'll be interesting to see how much of a difference more memory makes. At the very least I should be able to run more concurrent accounts in Eve, edit and compile UT maps faster (assuming the UEd problem is fixable).

Friday, 9 January 2015

The PLEX Experiment - Buying and Selling PLEX for Profit

Following up on my last post where I mentioned wanting to be a bigger player in the PLEX market I'm slowly increasing my PLEX market presence in 22 Empire regions. The following is a report analyzing all of my PLEX transactions on the 8th of Jan 2015.


I bought 27 PLEX for a rough average of about 770 million each and sold 19 for an average of more than 815 million each. 815 - 770 = 45 million spread. Assuming my costs to buy and sell 1 PLEX are 15 million each that would represent a profit of 30 million each.  Actually my average cost is less than 15 mil (a bit more on some characters, much less on others), but 15 mil is a nice round number to work with.

So far today (09 Jan 2015 which isn't over yet) I've bought another 34 for around 775 mil each and sold 26 for close to 820 mil each. 820 - 770 = 45 mil, about the same average margin (45 mil) and same profit of 30 mil per PLEX.

That's roughly 3.75% profit (using round numbers 30 / 800 = 0.0375). 3.75% doesn't sound like much but it adds up with volume. Buying and selling 25 PLEX per day at 30 mil profit each equals 750 million a day, or 22.5 billion a month. Not too shabby when you look at it like that.

Double the volume (50 per day) and it comes out to 45 billion a month.

Of course 30 mil profit per PLEX is probably too much to expect over the long term, especially when dealing in greater volumes. Even 20 million profit might be too much but I shouldn't have any trouble averaging 10 or 15 million profit per PLEX in such low volumes.

The big questions are

1. How tight will margins and spreads get as volume increases?
2. Will it be possible to increase volume to 50, 100 or more without becoming a no-lifer and if so just how much time and effort will it take?

Assuming I can reliably (and without too much effort) move 50 per day at a profit of 10 mil each that'd be 500 million a day and 15 billion a month. Move 100 a day and the numbers double, 1 bil per day, 30 bil per month.

Over the next weeks and months, I intend to continue slowly increasing my presence in the PLEX market until I find the sweet spot between volume and profit margins where I make the most ISK without too much effort.

Several of my characters have 0 standings and better standings are definitely necessary to stay in the game when spreads drop under 18 million. I'll have to grind standings on all of those characters and doing it the quick way is going to cost 3+ billion per character.

If the experiment works out really well, I'll probably wind up dropping out of most of my current markets and whittling my list of items down to just the best of my current items (no more than 50, probably more like 25-30 or even less).

Thursday, 8 January 2015

Changing Market Strategy

My Eve Online trading strategy has served me well for over 2 years. When I spend 1-2 hours a day working the markets I make more than 2 billion per day. But I'm getting bored with all the repetition, doing the same things over and over again. Maybe it's time to change my strategy and start using a simpler but more advanced strategy.

Currently my strategy is all about diversification and wide coverage. I buy a lot of different things in a lot of places.

I have 26 traders covering 22 different regions (at least 1 trader in every Empire region except Solitude).  I have around 8000 market orders in total and normally use about 3/4 of them. That's a lot of orders, far more than I can possibly update in a couple hours a day.

Lately I've been thinking maybe I should change things up and start doing things differently. I could cancel hundreds of orders on each character to free up capital and invest more heavily into a smaller list of items. Then boil the list down to 40 or 50 items that are relatively expensive for the volume they move in.

I'm not afraid to say what those items would be either. Sure people might read it and decide to jump into those markets but about all that'll do is drive prices up (or maybe but far less likely drive them down) for a while. I'll make bigger profits until they leave (which usually isn't very long) and then it'll go back to business as usual again.

PLEX
+3, +4 and +5 attribute implants (15 in total)
mindlink implants (4 different ones, armored, skirmish, seige and mining).

That's 20 items already

Throw in a handful of the most popular faction mods and the list is up to 40 easily.

Sisters Core and Expanded Probe Launchers
Around 10 Caldari Navy faction mods.
Around 5 faction mods from each of the other 3 main factions

Already well over 40 and getting close to 50

Maybe throw in a few skill books, like the always popular Mining, Distribution and Security Connections books.

Then if I concentrate mostly on those items I'll be able to significantly increase my investment into each of them and pay closer attention to those markets on more characters in less time than I can now.

In particular it'd let me become a bigger player in the PLEX market (something I've been wanting to do for a while now) and test a few theories. I have been doing that to some extent for several months already but not nearly as much as I'd really like to.

If I can significantly increase my share of the PLEX market it might be possible to make a billion a day or even more just on PLEX sales. Even if it turns out I can't do that much, 10 billion a month should be possible (I'm doing at least 4-5 bil/month on PLEX in a good month now) and 10 bil is enough to cover my basic monthly expenses right there.

As a nice added bonus, I could do that *and free up another 50-100 billion for diversified investments in Genesis to crank up the pressure on the Malma bot. If I send my spare, unused trader there I'd be able to squeeze him on twice as many items too.