Hi guys, While I would happily call myself a computer power user, once programming, networks and coding comes into play, I haven't a clue. The last little while, I have had 2 questions in regards to games in general. I believe they have to do with the game engine, so I figured I would ask now and see how the new Planetary Annihilation engine will handle them. 1. Alt-Tab Some games seem to take quite a long time alt-tabbing out of the game. Some games seem to take quite a long time alt-tabbing back into a game. Some games seem to slow at both. And then some are pretty snappy at it 1 way (or both ways). What gives? Is this a memory usage thing? 2. Net-Code I'm curious how net-code and in particular how the "net" experience has not improved for the end user. Back in the days of Total Annihilation, we were using single core Pentiums, a fraction of the ram and we were on Dial-Up. You have 4 computers connected throwing around about 100 Units a piece. So you've got that many units either moving to, shooting at, constructing a target or patrolling a sector. Fast forward 15 years later, and we still seem to experience game slowdowns due to net-code? Most games have fewer units or operations going on. So not only has our processing power and internet connection throughput increased exponentially (with latency almost a non-issue), most games today have only a fraction of the units/commands being issued by the same number of computers. 4 players x 100 units x 3 commands each. Not much has really increased in terms of what each computer needs to talk to the other computers for. In fact, compared to a larger game like TA, it's probably considerably less. I would surmise that the only slow-downs ever should be from simulation processing and graphics processing? Everything should be down to each end-user's computer. So if their computer isn't up to par, we should know that pretty easily?
I can probably answer 1: if games are slow at alt-tabbing, they are running fullscreen. If they are really fast, they are running windowed. (Generally in a window that happens to take up the whole screen) The advantage to running windowed is that alt-tabbing is really fast. The downside to running windowed is that after alt-tabbing, your program is still taking up a lot of the CPU and RAM of your pc. That's why fullscreen games are so slow to alt-tab; they are freeing up all the memory for use by Windows. Second one unfortunately I cannot answer, I'll leave that to someone more knowledgable.
Not really, game just must be optimilized to fast alt-tab. Dota 2 is fast as light in both, while TF2 is slower than building Seraphim Exp Nuke. I dont know how does this work, ask devs.
2 its not only the net code. -sure is there can always be lag as in high pings but also ping jumps can be issues. -Then there are dropped packages - then there are syncronous gameengines witch result in the slowest participating PC dictates the speed of the game. - then there is GFX if you adjust ur GFX to fancy maybe some equations more for CPU - then algorithms can be very cost intensive (in cpu usage) - then there is OOP with classes and stuff, yeah most times libaries are well tested and effective, but if you blindly(or are forced to) use existing libaries they can have expensive outcomes - there can be deadlocks, as in fucntions wayting for each other to respond - there can be sheduling issues - there can be bugs - nowadays a some month old windows will run several processes not only the game - there is the virtual memory ( maybe paging issues) - there can be hardware bottlenecks iE HDD with windows indexing or AV software or sheduled NTFS defrags - game scripts can be a hell - 2D graphics where long time ignored by hardware developers (hell even windows Versions ar degenerading in this field) -then there is the whole internet side, yeah the speed is growing but so is also the throughput . . .
Dialup latency wasn't hugely different from what we have today (300ms instead of 100ms), and games in general have always taken very little bandwidth (less than a dialup connection). Mainly the internet has been advancing in ways that allow for higher bandwidth applications, like streaming video, where latency isn't an issue and packet loss is handled by TCP. What will make a bigger difference is the client-server setup of PA. Each computer maintains 1 connection to the server, receives only packets it needs, and the full simulation is handled by the server. TA had no server, so each player maintained a connection to each player (I think? maybe just the host?) and each computer had to run the entire simulation. This will make a bigger difference in the performance of the game than 200ms latency ever did.
That is not entirely true. There are games I run full-screen which still alt tab extremely fast. It's a matter of optimization.
I really would like PA to offer a windowed-fullscreen-mode that also works together with multiple windows on multiple screens. This doesn't only allow PA to very quickly alt-tab, but it is also the key to REALLY nice support of multiple screens. With a windowed fullscreen you can put windows in front of the game. Or you can write something in a chat while having the game fullscreen on another screen. Most current Blizzard games have this. It is more extremely convenient. It is basically combining the advantages of windowed and fullscreen at the cost of a bit of RAM or CPU-Load. And at least RAM is so damn cheap anyway. So please, please, please windowed-fullscreen.
neutrino might correct me on this, but I think TA actually did not run the entire simulations on each machine. Instead each player made the simulations for his own units and send them over to the other players. THQ didn't like the idea, so SupCom runs the entire simulations on each machine. EDIT: Oh btw, yeah so now I know for sure that php-bb's dont auto-merge double posts.
Regarding alt tabbing, just give us a good windowed fullscreen mode (i.e. not like League's which breaks randomly and not like Path of Exile's which won't actually go full screen and leaves the task bar visible) and I'm happy.
Are you sure those aren't just running in a fullscreen window? Barring keeping the RAM to an absolute minimum, I'm not sure how you'd go about optimising for alt-tabbing, and keeping the RAM down isn't exactly easy if you're going all-out on a game.
You could be right; I'm not super familiar with how each game handled it. Either way, PA's client/server setup will be a huge improvement in pretty much every area. The only problem with client/server is it could potentially turn into UT2k4 all over again. Gotta dig through the server list to find one not running crazy mods or race maps.
One common reason I've seen for games to be slow when Alt-Tabing is when they are not running at the same resolution as your desktop.This is where you can really see the difference in games that have been programed well or not. Your system has to change resolutions when in a full screen mode that is not an issue when playing games in a window-mode. Which makes windowed games inherently faster when using that option. Also running games at the same resolution as your desktop can help.
Actually it was EA who put the kibosh on using an async model. Of course at the time I thought it was an ok idea too. Turns out I was wrong on that one. We'll always run servers so people can play the normal game.