As the evidence keeps mounting that yes, Virginia, there really are 10,000 R-Pi boards Out There and we can now increasingly hope that hundreds of thousands more will be delivered over the next few months. As this growing reality has started to sink in, I"ve begun thinking about some very cool things we could all do with each of our boards that would nicely demonstrate its many capabilities, encourage everyone with a board to participate and learn how to work cooperatively on a large computing project, and establish a real community of users that can bring us all closer together.
It soon occurred to me that one approach might be to establish an R-Pi massively multiplayer online role-playing game (MMORPG), since you can"t get much more massively multiplayer than hundreds of thousands of rabid R-Pi fans looking to share their newfound infatuation.
Eben and the team have demonstrated Quake 3 running on a prototype board, but, it had issues that I don"t think have been resolved, yet (some excuse about pesky prospective customers with torches and pitchforks marching on the castle needing to have hot oil poured on them ). However, even after the client is debugged, establishing and supporting Quake 3 servers for hundreds of thousands of players probably isn"t something very many are willing to do on a volunteer basis and donating resources.
So, after a few more moments of thinking, it occurred to me that it would be really cool if we developed one, or more, MMORPGs unique to the R-Pi community that could only be played on R-Pi systems. Since the preponderance of comments suggests that there is a lot of experience with Python, and that contributors without much software development experience might be able to come up-to-speed the fastest using Python, which does have extensive libraries available that should provide all of the functionality needed to build games (I seem to recall that some work may need to be done for full 3-D graphics support via the GPU).
It"s been quite a while since I"ve done any game development, but, I do have pretty extensive 3-D graphics and network-distributed computing experience, specifically in modeling and simulation and virtual reality for application areas like military command and control, communications, intelligence, and computing. I"m assuming that there is a fairly extensive open-source game code base we could draw upon from a variety of places, and I"m sure there are plenty of experts here that can help get things organized fairly quickly.
I haven"t thought much about what kind of game would be both popular and appropriate for all ages, given that the focus of the community is supposed to be educational. So, a first-person shooter is probably out, unless the weapons operated non-violently (think ammunition like Silly String, whoopie cushions, popping balloons, bubble gum, etc.). A purely fantasy-oriented game featuring unicorns and rainbows might not be as popular as other genres, although something that combines humor/silliness with more traditional features might turn out to be very popular. Perhaps a melding or updating of classical early computing games with modern graphics capabilities and techniques would be the ultimate tribute across the years. Think Breakout/Brickout in immersive 3-D, Grand Theft Auto with Zelda characters and behaviors, Donky Kong in virtual reality, Super Mario Brothers as a space quest, a Zork adventure game with hundreds of thousands of players, etc.
I haven"t looked closely to see if an appropriate game engine already exists, but, I have a gut feeling that some sort of peer-to-peer means of sharing parts of the game landscape among players active in given virtual geographic areas so that centralized servers won"t be necessary might be possible. I do understand that maintaining consistency of shared data across thousands of systems that could have transient connectivity via peer-to-peer technology could be problematic, but, I"m aware that research has been done to address this kind of problem, if it hasn"t already been resolved in open-source code.
3-D graphics will be used in order to show off the capabilities of the GPU and 1080p HDMI output. It"s not clear whether there is support for more than stereo digital sound via the HDMI port, but, if there is, it should be exploited to the maximum extent possible.
As you may have gathered by now, this is just at the nascent brain fart stage, and there is a huge number of details that need to be worked out. However, I don"t want to focus in on details, yet, and would rather hear as many wild and crazy possibilities voiced as part of a free-association mental exercise. Once we"ve laid out what we all can come up with, then we can start winnowing things down to what"s reasonably feasible and most popular to the largest number of people, across all demographics by age, gender, educational level, economic status, etc.
The key principles are that we would be doing this for fun and to help R-Pi users learn how they can develop software that satisfies common goals shared by a large number of people. Anyone who just wants to take pot-shots, cast aspersions, or otherwise non-constructively criticize what"s being done is hereby being put on notice that such behavior is not going to be tolerated. If a criticism is made, a positive suggestion to resolve the perceived problem must be provided and, if it"s not accepted by the group, so be it. We will follow the monkey owner principle – if you remark on the monkey someone else is carrying, then you take responsibility for the ongoing care and feeding of that monkey.
I"ll put together something with a lot more structure over the next few days, and in the meantime, I"d like to just hear what ideas others have about such a project. I"m not interested so much in just yay/nay responses, but, rather what you think about the factors I identified, plus any others you might think are important. I haven"t listed all of the issues that will need to be addressed, so, this will give others the opportunity to share what they can contribute toward the project"s goals.
The best things in life aren't things ... but, a Pi comes pretty darned close!
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!