Today a friend asked me why games are only available for specific platforms, which led me to explain the different potential architectures and possible libraries that need to be used for each platform. This led to a great thought.
In efforts to increase evolution, simplify the development, expand market potential and increase potential profits for game developers it is time for the open source community to build proper solution. I am not a game developer, so I cannot start a project, only share the idea and hope someone will step up.
Why Open Source?
The first question you may ask is why does the open source community need to develop this solution when it will be used for profit? The open source community can act upon the purest intentions, continuously push the envelope, maintain backward-compatibility and release the product and source code to the world for free allowing greater participation and support (not forgetting reduced licensing cost for developers).
By starting with open-source developers the product can gain the necessary momentum to inspire various game platform manufactures and game manufactures to cooperate and share their concepts for the future of gaming and the anticipated needs of the users.
How to build for multiple architectures?The first problem for porting applications and games to various platforms is the cpu architecture, to resolve this issue we can borrow a method from java and implement virtual machines. By developing a virtual machine structure that can translate the properties and methods of the API to native code for various consoles, mobiles systems and PCs you will have a single API for development.
Now for the API
As noted before, once the virtual machine structure is developed the developers will have to interact with a single API and set of libraries for all development. This concept of shared libraries and functions may not seem proper for proprietary development companies, but they can borrow a line from ID games which releases their advances to the open source community when a newer advancement has been released to their customers, thus keeping the best for the paid customers, but still helping to push the evolution of the market. This shared API can leverage the contributions of the open source community and all competing vendors to greatly enhance the evolution of gaming technology and vastly minimize development time.
Now for the big picture
The big picture and ideal outcome of this is reduced release schedules, full portability to all platforms and free contributions from the gaming and open source developer communities to push the game vendors in the direction that the customer wish to follow. Now close your eyes and think of a future where the only limitation for a game to be ported to a platform is available media space, where a single package format can be distributed for Playstation, Xbox, Wii, PSP, Windows, Mac, Linux, etc... and due the proposed unlimited backward-compatibility you will be able to easily sell/install/play a game that was made for a console 4 generations ago.
I hope you enjoyed reading my idea and will consider utilizing your skills and love of games to contribute and help push a collaborative solution.
Please share your responses and other recommendation to build onto the concept I have listed above.