M64’s Games Blog

CPUware

by m64 on Feb.18, 2010, under Possibilities

Another idea about possible ways of capitalizing on your player base. Fairly simple one too. For the tl;dr haters and #freegamer patrons – I propose gathering computing power of your players’ computers – a resource that they do not fully use anyway – to benefit the project. I will call this “pay with cpu time” scheme cpuware.

Most people do not fully utilize the computing power of their machines. I do not have any statistics, but from anecdotal evidence I’d estimate that circa 80% of our time in front of computer is spend using little more than a web browser, or something equally computationally simple. And even if we do utilize our CPU the GPU usually sees even less use. Hence the idea – after playing the game we could present the player with a dialog requesting permission for running some sort of a distributed computation client. Something along the lines of “Did you know that you utilize less than 20% of your computer’s power? You can donate the remaining the remaining 80% to the game’s creators to help us make it better.”

The gathered computational power could be used in several ways. First of all, it could be sold. There is one service that tries to create a market for distributed computing power, however it does not seem to be functional anymore. Perhaps there will be more in the future.

Second possibility is using the power to create something you can monetize. Some ideas from the top of my head are rendering movies, running simulations, indexing and analyzing data sets. This model could be thought about in a following way: the enterprise has one income generating branch that depends on running some enormously complex computations but this branch is powered by the second one by releasing cpuware games. Think about distributed Google killer.

The last possibility is using the computing power to perform calculations directly aiding the development process. This is a bit troublesome, as unfortunately there are not that many game development tasks that can be eased using vast amounts of computing power. One possibility would again be rendering cut-scenes. Other would be the recent idea of using global illumination models for static lighting of 3D levels. Unfortunately I am not aware of any FOSS game projects making extensive use of any of these technologies. To take real advantage of that computing power we would probably have to invent new methods of software development. Two underutilized programming methods that come to mind are neural networks and genetic algorithms. I am not an expert on any of these, but I can imagine that instead of writing an AI by hand a programmer could create some tests checking whether it behaves correctly and send them to the cloud to train neural networks with. Or if the neural networks seem too radical, then genetic algorithms could be used to build FSMs exhibiting required behavior.

That’s all for now. If you have any ideas or want to ask questions please use the comments.

by-sa
4 comments for this entry:
  1. ElCuGo

    I don’t think donating your computer to be part of a zombie network is the best payment you can ask for. And I don’t think you should recomend such schemes unless you are some kind of Spam king :P .

    It could make sense if you are running a research project like computing large Mersenne primes, but then you don’t need to make a game for it, just ask for the CPU as it’s already done (games could still be used as a marketing tool though).

  2. m64

    I don’t think it is the best payment. I just think that it is a payment that the players of open source (and generally gratis) games would be quite likely to agree to.

    Now although zombie network is a tempting proposition, it is rather immoral and can get your users into trouble. That’s why I proposed a purely computation oriented cloud that does not take over the identities of your CPU donors. Technically this could be ensured in several ways: by running native code in a sandbox, by running scripts with all I/O functionality disabled, running cuda/OpenCL kernels (which do not have any I/O), or by using a fixed, predefined computation and allowing the host to only supply data batches.

  3. Jacek WesoĊ‚owski

    I think this kind of resource exchange model could benefit from the aid of a trusted broker. You may or may not trust John S. who claims to have created this new cool Bejwelled clone, but you are more inclined to trust Google or somesuch, if only because Google is big and won’t go bankrupt tomorrow, and can always be sued for big money.

    So, a company like Google provides the software framework, and a “cloud computing” service to clients who have the need for quick access to computational power, but no infrastructure of their own. A game producer makes their game compatible with the framework, making it possible for Google to send jobs to player’s machines. The broker also provides necessary privacy to clients. Probably the biggest fear of James B. the aspiring businessman is that Jane D., his arch-nemesis, will somehow intercept his precious accounting data.

    The result is that Google makes money and the game’s producer gets a share. The players pay for the game with a spare resource they don’t need at the moment, rather than actual money. And they don’t have to watch any commercials. The clients get their jobs done.

    The upside is the opportunity for a game’s author to make some money, while the presence of a broker makes it easier for everyone to trust that their computers won’t be used for calculating ballistic trajectories, for example.

    The downside is that, usually, when a powerful broker is involved, content providers get screwed in the long run. Recently, it’s happened in the Flash games segment – middlemen get some 80% of the advertisement income while content providers barely make a living.

    Another danger to this idea is that computational power is extremely cheap, so why would anyone buy it anyway.

    (then again, if I could data-mine my books for various stuff with the same ease I can make a Google query, then I probably would)

    There is also a limited number of computational problems which can be divided into and solved in large chunks, without much communication overhead. But that should become less of an issue, once those 100Mbps lines we’ve been promised become a common reality.

  4. m64

    Oh yes, if a trusted broker were to setup such a service it would be great. However I find it quite unlikely that one will appear out of thin air. I guess that if some project tried it and it had some success with that model, then a mainstream company could take it over from here.

Leave a Reply


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...