R-Pi Massively Multiplayer Online Role-Playing Games (MMORPG)


309 posts   Page 1 of 13   1, 2, 3, 4, 5 ... 13
by Jim Manley » Sat Mar 31, 2012 8:01 am
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.

Thanks!
The best things in life aren't things ... but, a Pi comes pretty darned close! :D
"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!!!
User avatar
Posts: 1356
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, USA
by Davespice » Sat Mar 31, 2012 8:29 am
I really like the peer to peer idea.  There is potential there to have the game world content hosted in a kind of distributed way.  For the sake of argument let"s say the game is like Elite or Eve Online.  Each player could host a solar system on their device.  They could choose what planets and resources were available and could also maybe run a space station out of it.  Other players could then come into your system and you can go out and explore others.  There will probably be implications for network load and connectivity though.  So it might be best to have the architecture with a central server that all the user content gets mirrored onto or something.  But anyway an entirely user content created MMO could be a first I think.

The world would be continually evolving and changing.  It could be quite cool.
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 1438
Joined: Fri Oct 14, 2011 8:06 pm
Location: London, United Kingdom
by john_wage » Sat Mar 31, 2012 8:49 am
There is no way in hell that anyone who is just getting in to programming or Python would be able to contribute in any way to a 3D based game engine..
Posts: 156
Joined: Thu Mar 22, 2012 6:20 am
by fox1t » Sat Mar 31, 2012 9:09 am
It would be a good project, anyway hard to do for newcomers as john_wage said. Btw i think we have to make a game which can teach how to program with python or smoething like that. It would be a really educational game, and could be fun too.
Posts: 2
Joined: Sat Mar 31, 2012 8:04 am
by ashleysands » Sat Mar 31, 2012 10:35 am
Jim, I know this conflicts with want you in many ways, but Browser Quest is excellent open source multiplayer RPG that could be turned into an MMO: http://browserquest.mozilla.org/
Posts: 6
Joined: Fri Mar 09, 2012 12:25 am
by SN » Sat Mar 31, 2012 10:53 am
A raspi version of Second Life... Pi Life perhaps ;-)
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?
User avatar
Posts: 1009
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
by liamfraser280 » Sat Mar 31, 2012 11:46 am
I think this is a great idea but I agree that beginners to programming will probably struggle at 3D. Also, I think Python may start to get a bit messy when it comes to a huge project and there would probably be a performance loss because it's interpreted.

Perhaps it would be a good idea for the new programmers to contribute to more simple things than the 3D (not sure what they would be). These parts would probably best be done in a garbage collected language to avoid worrying about memory leaks.

With regards to age, how about having different worlds for different ages? In the young world you have bubble gum guns and all the rest of it. In the adult world we get tanks and bazookas :D

One thing that is VITAL to this projects ability to teach others is well explained (over the top) comments. Also, self explanitory variable names help. Too many times have I been interested in how something works and gave up because there are no comments and only the current developers understand how it all fits together. How are people supposed to contribute to that? That's probably because of my inexperience in C, which tends to be what most of the Linux stuff is written in. Everyone has to start somewhere though.

I personally would love to see it written in C or C++ (object oriented is nice for games) because it would help me learn those languages in a fun way and it would probably give the best performance.
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
by jacklang » Sat Mar 31, 2012 11:51 am
SN said:


A raspi version of Second Life... Pi Life perhaps ;-)



Anyone want to help to port Second Life viewer? http://wiki.secondlife.com/wik.....wer_(Linux)
Posts: 166
Joined: Thu Aug 04, 2011 10:59 am
by liamfraser280 » Sat Mar 31, 2012 12:02 pm
The hyperlink above is missing the second backet after the word Linux. It should be:

http://wiki.secondlife.com/wik.....28Linux%29
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
by n3tw0rk5 » Sat Mar 31, 2012 12:08 pm
john_wage said:


There is no way in hell that anyone who is just getting in to programming or Python would be able to contribute in any way to a 3D based game engine..



But it is something that non programmers can have an input in ideas wise, I'm certainly not a programmer but i've used mmorpg's for years, sometimes the users do have good input ideas. (sounds a bit like Tron!!)

This is an excellent idea, even if it's a case of only starting off with sandbox environments where peeps can build things using code and then possibly progressing into a more standard mmorpg.

This is definately something I'd love to be involved with and would give whatever backing I could, as long as it was organised and a clear idea of where it was heading.

Free for alls tend to get nowhere fast if everyone is pulling in different directions.
User avatar
Posts: 216
Joined: Fri Jan 06, 2012 6:04 pm
by liamfraser280 » Sat Mar 31, 2012 12:21 pm
That's a very good point. People who can model and design 3D characters and objects / worlds are just as important as the developers. Anyone should be able to suggest a good idea or feature :)
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
by geeus » Sat Mar 31, 2012 12:24 pm
Really loving this idea probably could benefit from a unified SDK just address the compatability issue and to make it more accessable
Regard Gee
Gee The Rabid Inventor :)
Posts: 39
Joined: Fri Oct 21, 2011 7:03 pm
by liz » Sat Mar 31, 2012 1:02 pm
There are no words for how much I love this idea.
--
Head of Comms, Raspberry Pi Foundation
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 4036
Joined: Thu Jul 28, 2011 7:22 pm
by fox1t » Sat Mar 31, 2012 2:14 pm
Python is grate also for huge projects which uses openGL...  http://www.panda3d.org/ many commercial games are made using it... We have to see if it is possibile to combine c, c++ for the pure engine with python for the scriping/drawing objects part. Anyway imo also a 2d rpg with educational quests that uses python to be solved
Posts: 2
Joined: Sat Mar 31, 2012 8:04 am
by Gert van Loo » Sat Mar 31, 2012 2:30 pm
I think a major part of this sort of games is the graphics. So yes, novel users will not be able to help with the 3D engine, but they can help with the graphics. I would suggest you build a collection of objects you want to have and let user compete for the best graphics. (Green slimy stone, Sand dune, dungeon floor, Castle wall, <plus five hundred others>

All you need for that is an artistic talent and a tool like Gimp. Has anybody tried GIMP on a Raspi?
User avatar
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 1982
Joined: Tue Aug 02, 2011 7:27 am
by liamfraser280 » Sat Mar 31, 2012 2:41 pm
I think I remember seeing GIMP working in either a screenshot or a video but didn't actually see image manipulation, just displaying an image. Hopefully, it won't be too bad once there is some kind of X acceleration in place.

It would be even better if we could get blender working on the GPU for 3D model making :) .

It would be cool the game could be developed exclusively on Raspberry Pi's and built on a cluster of Raspberry Pi's - just to make it a bit more fun ;)

I hope this exciting project takes off!

Cheers,

Liam.
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
by n3tw0rk5 » Sat Mar 31, 2012 3:42 pm
Liam Fraser said:


I think I remember seeing GIMP working in either a screenshot or a video but didn't actually see image manipulation, just displaying an image. Hopefully, it won't be too bad once there is some kind of X acceleration in place.

It would be even better if we could get blender working on the GPU for 3D model making :) .

It would be cool the game could be developed exclusively on Raspberry Pi's and built on a cluster of Raspberry Pi's – just to make it a bit more fun ;)

I hope this exciting project takes off!

Cheers,

Liam.


It would be better and more manageble if it had a centralised server, like it or not kids will end up using this so some policing will be needed. Thats just the way the cookie crumbles.

If the central server was a bramble,then it would be a totally RasPi powered platform, which would be way cool.

I know this is just adding another dev & support complication, but I think it's a better approach. Plus I cant program for toffee, but i've built enough cluster large clusters over the years :-)
User avatar
Posts: 216
Joined: Fri Jan 06, 2012 6:04 pm
by liamfraser280 » Sat Mar 31, 2012 4:31 pm
I completely agree that there has to be a centralised server with policing, code review and so on.

A bramble of Pi's would be fun but I suppose you'd get a lot more power from a server for the price that is x86 or x64 based with a decent amount of ram. Would be hard to get a bramble of Pi's into a datacenter also ;)

Liam.
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
by n3tw0rk5 » Sat Mar 31, 2012 5:02 pm
Liam Fraser said:


I completely agree that there has to be a centralised server with policing, code review and so on.

A bramble of Pi's would be fun but I suppose you'd get a lot more power from a server for the price that is x86 or x64 based with a decent amount of ram. Would be hard to get a bramble of Pi's into a datacenter also ;)

Liam.



Currently working on a pi blade chassis, low power usage, minimal heat output, perfect for a dc, wish I still worked in one :-)

But yeah realistically it may well require a beefy x64 with shed loads of ram.
User avatar
Posts: 216
Joined: Fri Jan 06, 2012 6:04 pm
by jacklang » Sat Mar 31, 2012 5:07 pm
A distributed architecture would be interesting.

WIth a central server it becomes just yet another MMORPG

I don't see policing and child safety as insurmountable, any more than any other community project
Posts: 166
Joined: Thu Aug 04, 2011 10:59 am
by E » Sat Mar 31, 2012 5:08 pm
I'm not usually a big fan of mmorpg's but I like the idea of this :) Can't help on the coding aspect I'm afraid, but I'd be willing to help out with concepts/modeling/texturing/animation
Posts: 143
Joined: Thu Sep 29, 2011 7:30 pm
by n3tw0rk5 » Sat Mar 31, 2012 5:39 pm
Well if it was a da setup, then at least it would be a pure pi platform, which could boost RasPi sales and inturn help the primary goal of the foundation.
User avatar
Posts: 216
Joined: Fri Jan 06, 2012 6:04 pm
by Dinosaur » Sat Mar 31, 2012 7:55 pm
Just curious as to how you would restrict access to the game to Raspi's?
Posts: 10
Joined: Fri Feb 24, 2012 9:28 am
by SN » Sat Mar 31, 2012 8:03 pm
Mac address. we know that eben has a chunk just for the ref!
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?
User avatar
Posts: 1009
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
by liamfraser280 » Sat Mar 31, 2012 9:30 pm
CPU architecture and other hardware info would be a better idea imo. I remember seeing that the mac address could be set in the config file on the boot partition. Or with ethtool / ifconfig.

I think it would be silly to limit it to Raspberry Pi's. It would be open source so someone could simply remove the checks and use it on something else. However, the primary supported architecture should be arm on the RasPi :)
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm