🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

I think cloud gaming is the future, and it's not far. How that affects indies. AAA games rant.

Started by
2 comments, last by AlanGameDev 5 years, 5 months ago

Greetings fellow developers!

So, today I've seen an ad for yet another cloud gaming service and decided to write this.

Since I started developing games I haven't played many AAA games and even less on consoles. I have fond memories of the days I used to play F-Zero GX, which was incredible at 60hz on a CRT display. The controls were very tight and satisfying, and the game was so fast that playing it seemed impossible at first, but it was so well designed that it felt natural and rewarding to play it.

I haven't played the PS4 until recently when I visited a friend who has the Pro version. As a PC gamer I was expecting to relive some of the experiences of when I was a console gamer. Unfortunately I left disappointed. The problem was latency. The controls just weren't tight and responsive, even on top notch exclusive games. The TV was modern and on 'game' mode, and while that certainly still has some latency, alone it shouldn't be clearly noticeable. The problem is many (if not all) of the games I've played have a fair amount of latency "by design". I know that because I've seen presentations by the very developers of some of those games showing how they did it, and as a developer I'm guilty of that too.

The problem is in order to render fancier visuals and increase fluidity, games these days buffer frame tasks one way or another. To extract the maximum from modern hardware you need heavy parallelization in order to use all CPU cores. However, the throughput of a single system never scales linearly, and chances are it starts to scale terribly after a very few threads. In order to address that reasonably, games just run different (multithreaded or not) subsystems in parallel (as opposed to multithreaded systems serially), and to further reduce the holes in your thread pool you have to process them asynchronously. A popular way to do that is by treating your frames as interdependent data blobs, so even if a given thread just finished processing say the particles of frame 0, it can start processing the particles of frame 1 immediately after that if it's the best task for that thread at that point. It's efficient and works fine, the only problem is you need buffering and that means latency.

That is the current state of many AAA games. Of course designing better parallelized systems could help solve some of that, but that has a cost, and that's exactly my point. Currently CPUs scale mostly in number of cores, and I can only imagine the complexity involved in scaling systems to 32 or 64 cores. It's several orders of magnitudes more complex than simply distributing tasks as we do today. However, in the cloud none of that is a big problem. You can be inefficient and still provide the best experience at a profit. Developing efficient software to that extent is much more expensive than simply throwing more hardware at inefficient software, especially if you purchase hardware in large quantities directly from the supplier.

Considering that many console games run at reduced framerates, it's obvious that few frames of latency represent more than the internet latency from coast to coast. And latency of both internet and display/input devices should only get lower. So if you have a lot of horsepower to quickly render a frame, you can pay for the latency in data transmission very easily.

Besides that, modern games tend to be unresponsive. You have to wait for animations and other arbitrary delays, and many games also use 3rd order control for movement, what could be reduced by simply designing/coding the controls correctly. For camera controls, you could simply render the surroundings and transform the image in the client machine. Think of streaming a video on a cube/spheremap for example and rotating the camera locally (ofc you wouldn't use an actual cubemap nor uniform resolution).

I see a lot of comments regarding privacy because basically you'll be using somebody else's computer. While that's a very valid concern, most people simply don't seem to care about that (at least not enough to stop using Google Docs or other services), and even if they do, it's just for games anyway, you won't store the nuclear codes there (:trumpface:)... and in my perception not running code in the client machine is a much bigger pro than a con, because cheating is simply going to be impossible, so that's yet another reason why game development costs will lower considerably (depending on the game). Modding is of course going to be impossible without official support, but then again it's a minority of people who use mods.

Another thing to keep in mind is that the demand for AAA/hi-fi games on mobile devices is only increasing, and these devices have limited storage, limited power, limited battery life, and also don't have active cooling systems what prevents you from running demanding software for too long. And that will certainly not change considerably in the near future (to match modern gaming PCs) while their popularity should only increase.

For those reasons I'm convinced that cloud gaming is the future. I can't say that I'm happy with that realization to be honest, but seeing how modern games are actively abdicating their only technical advantage over cloud gaming (which is latency), I don't see how it can unfold differently. Also, besides the technical aspects, there are practical advantages too, you won't need all that hardware and cables. Basically you'll only need display and input devices. And these days even your light switch has hardware capable of decoding and transforming video.

My only worry is that game development won't be accessible anymore. These days anybody with a computer can learn to and develop games. PCs in my opinion were a revolution not because everybody could do spreadsheets, but because it was a machine capable of not only running but developing software. You had at your disposal (roughly) the same tools the developers had, and that is empowering. The difference between a user and a developer was mostly knowledge, which was very accessible if you're willing to invest the time. If cloud gaming catches on, who knows what the future holds. Maybe it'll all run on enterprise level specialized hardware you won't have access to except through some education program. Consoles these days aren't very accessible for indies, and it used to be much worse, I can only imagine what kind of restrictions cloud game development could have. Will they run the same APIs we use in the long run? If you have control over the hardware, you might want to develop software specifically for it.

You might have noticed that this post is also a rant on how AAA games these days are bad in terms of gameplay and mechanics. When I was a kid I was also on the 'hi-fi visuals' bandwagon, without knowing that in the long run that would cost almost everything I used to hold dearly in the games I enjoyed: from mechanics to interactivity to complexity, almost everything was corrupted or simplified in favor of larger audiences and fancier visuals to the point that many games are becoming slightly interactive movies. The tight arcade controls I used to love were replaced by floaty simulation controls, and gamedev became an obsession in simulating reality as accurately as possible. I can only assume that's what most of the AAA audience wants these days, and movies are doing very well in the cloud.

The games I enjoy these days are 99% indie, and they only exist because anybody can be an indie developer, you just need a PC and some determination. If the cloud happens to be a thing I can see that drastically changing.

I would like to know your opinions on this.

Advertisement

To be honest a 100% cloud based gaming market might be worse for the consumer.

as well as making it hard to cheat and mod, it will encourage subscription based gaming for all games so that no longer will you buy the game as a one off, this will mean that the games company and publisher get a constant revenue a stream from a game.

this has the knock on effect of eliminating second hand gaming markets and rental markets putting all these completely under the banner of the platform, which is something a few publishers have been wanting to eliminate or replace for many years.

theres also the fact that a publisher can then decide to withdraw access to a game you’re paying for at any time if the game doesn’t seem profitable any more which ends the retro market too, all games available are at the whim of what the publisher wants to host, and hosting it yourself would put you at mercy of copyright law.

call me old fashioned but I don’t see cloud computing in any form as the big advantage to the user that it’s made out to be and especially not for gaming.

 

I agree that in the long run cloud gaming is probably not going to be better for the consumer, but the problem is we have to analyze the market. I'm pretty sure that most people here in this forum wouldn't be favorable to cloud gaming, but most gamers overall don't realize all the implications that come with that.

Many modern games on Steam for example have some kind of always-online protection, and some like the new Hitman titles rely on technology and copy protection that certainly steps in the direction of cloud gaming, that is, they require online services for contents anyway, whether the contents are data to be rendered locally or pre-rendered frames doesn't change the dependency model, and that still was one of the best games of the year according to the audience, and you don't see people questioning its future availability.

Also, online games depend on services that aren't guaranteed to be available in the future, and that doesn't prevent people from playing them. Generally speaking people only care about the experience the game will provide them immediately, most don't really stop to think whether it'll be available in the future. Last I tried to play Max Payne 3 for example, it was simply impossible because of that online activation thing. Anything that requires online action could stop working, and nobody thinks about that when buying a game, and to make things worse, few people really care when a relatively old game stops working, games sell mostly at release, after a few months nobody really cares, when people try to play them and they don't work, most just move on. While it's true game sales have long tail (something that GOG managed to profit on, although classics nostalgia is different), the actual publishers and developers don't seem to be concerned about that at all. Rockstar couldn't care less whether their games stop working few years after their release if they're not milking players with online micro-transactions anyway. As a GTA V modder it was evident to me that Rockstar would go out of their way to make sure the replayability of the single player mode wasn't extended beyond the vanilla experience, they were interested in making money from GTA:O, and people are OK with that. Game publishers are not charities.

I think the very fact that there are communities that literally fix/hack games you can't play simply because the publisher couldn't care less about that, and also communities that provide hacked servers and such, is concrete proof that most gamers don't care about that, at least not enough for the publishers to also care (i.e.: if people care, it's not enough to decide not to buy the game). If keeping games working was profitable, the publishers would do that, but after a AAA game goes long tail, nobody really cares, and for the publishers there's yet another problem, because since they give away the binaries, people will start hacking their games, what simply won't happen with a cloud model. In the cloud, if they don't have commercial interest in a given title, they just untick a checkbox and then nobody would be able to play the game anymore. While that sounds terrible, most gamers will be playing other games anyway, and for the publishers it means they won't have to spend money on support or legal actions against people 'hacking' their games after that.

Again, I am 100% convinced that *if* cloud gaming becomes affordable and playable, there's no going back unless the audience don't buy into it, but if there are no technical issues, I'm sure most people won't mind the fact that a company has full control over their library, especially if it's a well-known company. That's something you can easily conclude looking at the current state of the internet and other online game stores/services. And also, support will be much cheaper because technical support won't be on a per-game basis, but per-customer... and there will be no local copy protection to care about, so there's not much reason for a game to be shut down anyway, since there's not much money being spent on them anyway. The technical aspects are surely still a big challenge, especially when it comes to providing the service to geographically unfavorable locations, but as I said, that is improving, and it's mostly latency that is the problem, and as I said latency seems to be getting much worse in local systems anyway because of software compromises due to hardware limitations, so the gap seems to be closing very quickly.

As a PC and mobile developer, having control over the hardware and environment would certainly be great, and I'm pretty sure that that alone will decrease development costs *very* substantially, debugging would also be incredibly easy. In beta testing you could simply have a 'bug found' hotkey or something like that for all your users. No more manual bug reports, let alone crash log forms.

I don't know, it seems to me that gamers don't really care about the implications of cloud gaming not to buy into it if said limitations don't affect them directly and immediately. Also, mobile is really becoming important for less casual games now, so there's a gamer audience there besides the casual puzzle player it seems. I can only guess that having real AAA graphics on mobiles would be a very appealing feature.

This topic is closed to new replies.

Advertisement