This post has nothing to do with Canonical, just one of my own hair-brained ideas.
I was traveling into San Francisco the other day, and I had an idea I wanted to share. This is very much just an idea, and given I don’t have the time to work on it, I just wanted to share it so if someone else wants to run with it, they can.
Every Wednesday at 11am Pacific / 2pm Eastern, I do a live Ubuntu Q+A videocast. In pretty much every show someone always asks me about gaming on Ubuntu, and if it is going to be a focus for us. I think gaming is really important for Ubuntu and something we should certainly focus on more in the future. My idea is linked to the importance of gaming, but with a slightly different tack.
Not that type of gaming.
One of the wonderful elements of games consoles is that the experience is predictable every time. You pop in a disc or download a game, and you know you will get the same experience that everyone else gets. In addition to this, the development platform is consistent – game devs can share the same knowledge, techniques and approaches in building their games. This is the very definition of a platform; a predictable, definable target so that the developer can deliver a quality experience for all users.
Back in the late nineties and at the birth of the CD-ROM revolution, a new marketing standard evolved called the MPC specification. In it it defined a minimum hardware and software specification to ensure that software titles branded as MPC compatible would always run great.
As an example MPC Level 1 from 1991 was the following:
- 16 MHz 386SX CPU
- 2 MB RAM
- 30 MB hard disk
- 256-color, 640×480 VGA video card
- 1x (single speed) CD-ROM drive using no more than 40% of CPU to read, with < 1 second seek time
- Sound card outputting 22 kHz, 8-bit sound; and inputting 11 kHz, 8-bit sound
- Windows 3.0 with Multimedia Extensions.
Essentially, the Playstation 3, Nintendo Wii, and XBox 360 are basically the same thing; a standard piece of hardware (and peripherals), and a standard Operating System and set of capabilities.
A child playing Duke Nukem Forever on a MPC Level 1 computer.
Now, the MPC programme didn’t really take off, and there are various reasons for that, but I am curious to see if the concept of a standardized platform still has merit. Thus, the idea…
In a nutshell:
Define a hardware and software specification that would be branded as a gaming platform, putting Ubuntu at the heart of the story.
It could be interesting to decide on a hardware specification that provides a certain set of functionality that developers could target and profile their code on, and a defined set of software components that a given game could expect. Thus, if you find a computer with that hardware specification, and you package the software pieces up on a
ubuntu-gaming-platform package, you are good to run all games designed for the platform.
There are a few interesting outcomes that could happen here:
- For the hardware hackers among you, you could buy the hardware components and build custom set-top boxes that act as consoles for the platform. Also, hardware vendors could sell pre-built machines that consumers could run games on. The openness of the hardware platform would encourage competition and deliver low-cost hardware for the Ubuntu Gaming Platform.
- Developers could have a standard tool-chain and set of facilities to build games, and existing Open Source games could be ported to the platform.
- Developers would also have a consistent set of tools to share best practice and documentation about. We could build community around this platform.
- These games could be exposed easily from the Ubuntu Software Center and if someone has the suitable hardware, they are only a click away from a set of titles that will run great on your system.
- We could even set up an open governance board that certifies games that conform to the platform (in the same way Sony certifies and approves games for the Playstation platforms).
- I think such a platform could also potentially attract commercial game developers’ interest too. A predictable, definable platform with many different hardware implementations that are cost effective
The end-user experience would be a set of games that they know will work well on hardware that they either buy as a console from a vendor or a box that they build themselves.
To do this we would need to standardize the hardware and software platform, brand it, and build a standard set of tools and resources to encourage developer adoption.
With the right people working on this idea, I think it could work. Thoughts?