Product Chat / Optimized engines

Author
Message
Mathiasdam
9
Years of Service
User Offline
Joined: 21st Apr 2015
Location:
Posted: 14th May 2016 14:40 Edited at: 14th May 2016 14:41
Hey sorry if i post in the wrong section but was wondering what makes the big differences in different engines regarding performance and optimization.
I'm not that much into it so sorry if for some others it seems obvious.

I remember playing WoW vanilla over 10 years ago, back then they had a massive open world (not instanced) with thousands of assets, mobs and players but never seemed to have any sort of performance problems.
I know today games obviously look better but considering the game also is over 10 years old it's quite impressive. I also recently played a bit Elder Scrolls online and had a steady 75 fps (my framecap) through it all on highest graphics.

I know these games was made by hundreds of people and can in no way be compared to GG but i just wonder how they manage to do this.
PM
AmenMoses
GameGuru Master
8
Years of Service
User Offline
Joined: 20th Feb 2016
Location: Portsmouth, England
Posted: 14th May 2016 20:26
Basically by cheating, i.e. wherever possible cut down on what needs to be rendered based on the "will the user notice" principle. If you are busy battling a dragon you aren't going to notice that the trees at the edges of the screen are being rendered at a reduced level of detail nor that the grass which previously wafted gently in the breeze is now static. In a game like WoW or SkyRim they can get away with all sorts of tricks like that to make the players happy and if it still gets a bit Jerky sometimes the player will just blame his hardware.

A generic game maker like GG (or Unity or any of the others) cannot use cheats like that as the users are in charge of the game so the engine developer cannot make any assumptions about what the "look and feel" should be, it will vary enormously from game to game.

In the olden days (back when I were a nipper) we would spend hours tuning machine code to eke every last bit of performance out of the system, nowadays the norm is to just throw it all at the GPU and hope for the best, how many FPS you get out of your game is so dependent of system architecture that the only real solution to the problem is exactly the way GG does it, give the users a huge number of sliders to play around with so they can optimise it for themselves.

Personally I run a bang up to date skylake system with an AMD Nano card so I can usually just slide everything to 'highest' settings without any problems.


PM
Teabone
Forum Support
18
Years of Service
User Offline
Joined: 8th Jun 2006
Location: Earth
Posted: 14th May 2016 20:55
The trick is their LOD system of terrains, trees and structures and culling system for objects and NPC's.
Twitter - Teabone3 | Youtube - Teabone3 | Twitch - Teabone3

i7 -2600 CPU @ 3.40GHz - Windows 7 - 8GB RAM - Nivida GeForce GT 740
cybernescence
GameGuru Master
11
Years of Service
User Offline
Joined: 28th Jan 2013
Playing: Cogwheel Chronicles
Posted: 15th May 2016 01:06
Very well said AmenMoses.

Cheers.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 16th May 2016 18:39
While the above statements are true, the other engines out there ARE faster engines. Not all the extra speed is from smoke and mirror techniques. I have Unreal and it runs extremely complex and detailed scenes very smoothly indeed. However, it takes a whole lot longer for the game to compile and run. So long in fact, I cannot really use it. The end result is undoubtedly far more slick than anything I have made in GG. It is obviously doing a lot of work setting up the level beforehand, much of which seems to be shader processing. I'm certainly no expert and have only tinkered with it, as the compile times were just too long on my system. It is also a LOT more complicated and would take some time to get familiar with.

GG has a way to go rendering wise, I can slow it down to 40 odd fps with just a couple of trees in a clump. I suspect the media myself. Tree 2 from the old foliage pack always slows things down more than it should.

That said, it is getting better all the time and is slowly creeping up on the big boys.


SPECS: Q6600 CPU. Nvidia 660GTX. 8 Gig Memory. Win 7.
Mathiasdam
9
Years of Service
User Offline
Joined: 21st Apr 2015
Location:
Posted: 16th May 2016 19:09
Yeah i can understand that they use a lot of techniques, but still Original WoW handled massive worlds, trees, cities etc. How they managed this that long ago amazes me!
PM
smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 16th May 2016 20:17 Edited at: 16th May 2016 20:21
Most MMOs are handled in the same way, load a little at a time, if you've ever played a game that supports stream downloading rather than having to have it all downloaded before you begin playing you will see... Of course once it is on the hard drive it just reads the data from there but its easier to see from a download perspective (if like me you have a slow download at least)

All you really need to load is the basic engine and then any models and such can be loaded as and when you need them.

Also note that wow never used anything dynamic / animated except enemies and heroes if I remember correctly?

And I agree that GG needs more performance work on handling multiple objects (especially duplicates) and also the occlusion (which can sometimes just end up draining fps)
lua guide for GG
https://steamcommunity.com/sharedfiles/filedetails/?id=398177770
windows 10
i5 @4ghz, 8gb ram, AMD R9 200 series , directx 11
MXS
Valued Member
15
Years of Service
User Offline
Joined: 10th Jan 2009
Location: Cybertron
Posted: 16th May 2016 22:01 Edited at: 16th May 2016 22:09
Tree batching, Rendering distance for static meshes and Hardware Instancing should do the trick. oh wait... yeah guru does not have that yet because of the delay of DX11 and the voting board all well to bad maybe next year.
more than what meets the eye.Welcome to SciFi Summer

Windows 7 home premium 64bit gtx770 sc acx 2gb gpu boost 2.0

Mathiasdam
9
Years of Service
User Offline
Joined: 21st Apr 2015
Location:
Posted: 17th May 2016 01:37
Would be cool if at some point in the future gameguru would support mmo type games of course you would have to provide your own server etc. But for a small team it's obviously a giant task. Especially since most users here seems to prefer 1st person shooters.
PM
Belidos
3D Media Maker
8
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 17th May 2016 10:31 Edited at: 17th May 2016 10:34
Quote: "Yeah i can understand that they use a lot of techniques, but still Original WoW handled massive worlds, trees, cities etc. How they managed this that long ago amazes me! "


From what i've been told in the past by a friend of mine who used to work Mythic/BioWare, MMO engines and single player game engines operate differently, and the way they do it is mostly in two categories (i'm writing this from a very old memory of something he told me when he was working on warhammer online so I may get it mixed up and not explain it very well):

1. MMO engines are designed around architecture that (as said above) uses smoke and mirrors to achieve performance as well as extremely low polygon objects that use textures to create the illusion of detail, as well as a lot of LOD models.

and

2. The biggest difference with MMO's, is that you are not running the whole game on your PC, you are running a client that interprets data from the sever, then loads the models and images on demand, that means a majority of what you see on your screen is being streamed on to your screen piece by piece as you move along and "uncover" them instead of loading up a whole level in one go as most single player games do. This means a lot of the stress from the client is shifted to the CPU rather than the GPU, freeing up graphics resources and using less memory, thus keeping the FPS more stable.

i7, NV960 4GB, 16GB memory, 2x 4TB Hybrid, Win10.
i5 , AMD 6770 1GB, 8GB memory, 512GB Generic SATAIII + 2TB Seagate Baracuda SATAIII, Win7.
i3, Radeon integrated graphics, 4GB memory, 512gB Generic SATAII, Win8.1.
Q6600, Intel integrated graphics, 2GB memory, 180GB Generic SATAII, WinXP.
Wolf
Forum Support
16
Years of Service
User Offline
Joined: 8th Nov 2007
Location: Luxemburg
Posted: 17th May 2016 17:26 Edited at: 17th May 2016 17:28
All of the above, here is me repeating some of it:

WoW is very low poly, and that cartoon style some people even enjoy allowed them to use very low - res textures.

While GG improves in terms of performance along its development, you can add to that by improving your own models and textures as well as making use of the LOD system.
If you really want to, you can import the modelpack or stock textures and you will often find needless faces or wasted space on textures that you can reduce. You can have more models source from the same texture rather than many individual ones etc.

Optimisation is important. Mass Effect ² and ³ (for example) are certainly impressive games but they also run well on a toaster (trust me, I have them installed on the toaster I am writing this from.)

Why is that? Yes, they use the unreal engine 3 which is in itself a very well optimized engine (this IS a big part) but they also use pre-baked environments, highres textures only where needed (you might not have noticed how many objects have low resolution in textures their materials are so well done) and very clever lighting to make that game look good. Also notice how there are always only about 5 enemies or characters at once on screen.



-Wolf
"When I contradict myself, I am telling the truth"
"absurdity has become necessity"

Login to post a reply

Server time is: 2024-06-26 07:53:39
Your offset time is: 2024-06-26 07:53:39