mole125
Posts: 228
Joined: Tue Jan 10, 2012 2:01 pm

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

Sat Mar 31, 2012 9:59 pm

Agreed, Arm6+OpenGl ES would be sufficient to make it targeted at the pi, if people choose to port and support it then that is up to them.

User avatar
n3tw0rk5
Posts: 216
Joined: Fri Jan 06, 2012 6:04 pm

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

Sat Mar 31, 2012 11:02 pm

Liam Fraser said:


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



Agreed! No point in restricting access to raspi's only as the main point would be to follow the foundations goals. Get kids programming, no matter what roundabout way they end up doing it. For old fogeys like me we get a platform to play on so everyones a winner!

greenglue
Posts: 2
Joined: Sat Mar 31, 2012 10:31 pm

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

Sat Mar 31, 2012 11:33 pm

Hi!

Well I am sure the Java MMORPG I am working on now would work fine on the RPi. It requires very little RAM and should run smoothly. It is 2D.

Michael

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

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

Sat Mar 31, 2012 11:41 pm

if you can get a JRE on the raspi.  is they one yet on any of the distros?
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

greenglue
Posts: 2
Joined: Sat Mar 31, 2012 10:31 pm

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

Sat Mar 31, 2012 11:51 pm

SN said:


if you can get a JRE on the raspi.  is they one yet on any of the distros?


I saw somewhere JRE for arm processors on this forum. They tested it out, and it worked, in a QEMU session.

User avatar
Robert_M
Posts: 211
Joined: Fri Nov 25, 2011 12:50 am

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

Sun Apr 01, 2012 12:08 am

Perhaps a way to help novice coders (like me) up to speed is to have a branch called "Coder's Quest" where - somehow - the learning of code helps one advance in the game while simultaneously helping one learn how to program for the game, and program for beyond the game.
I sometimes ride my Pi to the Forum.

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

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

Sun Apr 01, 2012 2:15 am

WOW! I had no idea there would be so much interest so quickly given the amorphous blob of an idea I was poking up at 1 AM local. I"m most amazed that I figured out how to render Liz speechless (Eben, I will reveal the recipe for the secret sauce for the princely sum of one mmmbillion dollars in small, unmarked bills … or a pallet of R-Pi boards – your choice ). I greatly appreciate all of the comments, and here are some quick thoughts in an interim response.

All code is not created equal and, as some have pointed out, the artistic elements are an absolutely vital part of the equation for any game. I don"t expect noobs to be able to jump into Open GL ES on Day One (although there is an amazing number of young teenagers doing some wonderful apps on iOS in Objective C, especially games using Open GL ES), or any other complicated parts of the code, especially the lower-level, critical-section stuff like network comms. However, I don"t envision needing to do much more than adaptation and building upon libraries of existing functionality.

As for the development language, for those who may not know, Python isn"t interpreted directly from source like your grandfather"s BASIC, it"s compiled to byte-codes that are then executed in a virtual machine, like Java, Pascal, Modula (IIRC), etc. A good virtual machine can have about 90 – 99% of the performance of the equivalent C/C++ code and, in most cases, the architecture of the software can have much more of an effect on performance than the language implementation (e.g., data structure design, network comms efficiency, execution path choices, etc.).

Also, Python can be extended using modules developed in C or C++ (and other languages, I believe), so, in those relatively few places where maximum performance is needed, that can always be done. The existing Python libraries already contain code written in optimized C/C++, and I strongly suspect that we won"t need to do a whole lot of low-level development, if any, unless we really go crazy (hmmm, with this group, we may already be waaaay past that point ).

As for verifying that an R-Pi is participating in a game, I believe there are a number of choices, and while MAC spoofing is possible under some circumstances, I seem to recall that there are ways to prevent it. That may require encryption, and I think IPv6 can be used as part of a solution (most network hardware made in the last 6 ~ 10 years works fine with IPv6, especially routers, switches, etc. – v6 wouldn"t be needed for actual routing of packets, just the verification part, with interrogation results encoded in the v4 packets. Perhaps it would only be done randomly on an infrequent basis (relative to network speeds).

Another approach may be interrogating the CPU/GPU for some unique attribute – we already know the Foundation has designed in interrogatable special registers (for lack of the correct term I"m too lazy to look up now) that can record whether the clock speed and thermal operating limits have been exceeded. I"m betting that there are some other unique read-only attribute bits that can be evaluated. Yes, there may be efforts made to modify the code to subvert these measures, but, with enough hashing and other countermeasures, we can make it not worth the while. It"s not like there are 10,000,000 credit card numbers waiting at the end of the rainbow (yet ). The R-Pi validation would be one of the last things to be implemented – it would allow people not using an R-Pi to play until they get hooked, then, "Gotcha! – now you have to go get an R-Pi board/box!" Oh, yes, Dr. Evil has his ways … MUUU-HA-HA-HA-HA-HAAAAAA!!!

The multiple worlds/solar-systems concept is very much in line with what I"m thinking, although we might need parallel universes if we"re going to have anything rated more than G (I"ve kinda grown accustomed to my clean criminal record, and I don"t want my first offense to be for distribution of porn to kiddies or, even worse, kiddie porn). The multi-world/galaxy concept will allow parallel development of mostly content, although perhaps we would want to have variations in the laws of physics and chemistry that would help kids understand how things work here in the Sol system and Milky Way galaxy, and what kinds of possibilities may exist elsewhere. It would certainly create all sorts of possibilities for game behavior and expertise gained in one area might be completely useless in others. The variations could be code-based (more educational for the kids to figure out how to program behaviors, not to mention noob adults), but, we can start out with attribute value editing of a baseline of universal constants and behaviors (e.g., what happens when you start mucking about with the gravitational constant, friction equations, electromagnetic relationships, etc.). Different worlds/galaxies could even feature different kinds of games built up from a core of gaming elements and tools.

I realize the peer-to-peer concept is so novel as to potentially being unworkable, but, I"m working off a hunch that it could be feasible with some careful planning. Think of a mesh of meshes of R-Pi systems such that the code and data automagically distributes among higher-level meshes such that it"s always completely replicated within a given mesh, but only pieces are contained on any given R-Pi node, and updates flow only among the super meshes where needed, and remain within a local mesh, normally. It would be similar to how proxy servers in clouds work now, but, I want to avoid the "C" word, as it can mean a lot of different things to various groups, and this wouldn"t be quite the same thing, as it"s not just files of mostly content being moved around. Consider how DNS data is distributed at various levels – there are something like only 15 ~ 20 master servers that are never queried directly by individual node computers. Requests for IP addresses are only forwarded up the DNS hierarchy until matching data is found, and updates are only propagated down the hierarchy when specifically requested from below. Yes, I know it"s more complex than that, with expiration tags, lookup rules, etc. I"m still heavily in hand-waving mode, right now.

This will be more of a system of systems, rather than a homogeneous collection of identical nodes. There will be distributed replication for redundancy, just not across even a majority of systems. A mechanism for how that distribution will occur will need to be developed, with some kind of statistical model, possibly combined with hashing to ensure completeness of redundancy.

There will definitely be solid APIs established early on, and I"m considering monotonic expansion, where older versions of APIs remain available as newer ones are introduced, so that, in the event of a failure, fallback can occur, albeit with potentially less functionality (e.g., values only used in a newer version of the API are ignored). I know various programming languages have different mechanisms of varying capability for this, but, I"ve spent a fair amount of time making code written in more archaic languages behave as if it were developed in more modern languages or dialects (object-oriented FORTAN, anyone? ).

As for tools, they don"t have to all run on the R-Pi boards (and, for now, _none_ of them _can_ run on the boards ), so, it"s perfectly OK to develop on the latest-and-greatest systems we each have, for both software development and content creation, then port when needed. Since many of us have the R-Pi running in emulation, we"ve already got targets that should provide 99.9% of the fidelity of the actual boards, modulo performance differentials. The GPU is probably at least as capable as those in any of my systems, and only one of those is rigged with HDMI out – I"m not even sure it can do native 1080p30fps without occasional glitches (I"ve spent way too much of my career wringing every last bit and cycle out of already blazingly-fast hardware to be able to enjoy mucking around with the resulting video output ).

My coding style tends to be verbose with comments and meaningful code and data structure naming. My prolific posts should provide some hints about my ability to document until well past when the cows come home, are resting comfortably in the barn, have something interesting tuned in on the large-screen TV, and are munching on tasty snacks … oh, it"s dinnertime, no wonder it feels like my blood sugar is sagging and my mind is going, Dave, I can feel it … I generally try to be cheerful and give others the benefit of the doubt, but, sometimes my wry/sarcastic humor isn"t received as intended. I can be a sergeant-major of a taskmaster, but, I really don"t like it at all, and would much rather work with other self-motivated folks who know how to play well with others. I like to think I can do the "vision thing" somewhat better than average, but, I know when to hold "em, know when to fold "em, know when to walk away, and know when to run, when a better idea enters the room.

There was mention of centralized servers being necessary for the code repository, at a minimum, with the implication that we might as well just also use them for the games, too, but, I"m not sure either of those assumptions is true. I"ve had this idea rolling around in my head for years that code and data can automagically distribute themselves sufficiently to ensure multiple redundancy across some percentage of supermesh systems, without everything needing to be replicated at all nodes, all the time. The latter has been the reason for failure of a number of very high-profile, very large network-distributed systems, where all of the network resources wound up oversubscribed with updates continuously flying all over the place. Careful study of how the TCP/IP packet-switched architecture works is fascinating, particularly distribution schemes where a packet has multiple destinations and duplicate path transmissions need to be collapsed down to just one.

This hasn"t addressed everyone"s comments, it"s too long already, there are lots more very interesting ideas buzzing around in my head, now, and I need to follow the links you"ve provided as examples/candidates. So, I"ll start building up some wiki pages where we can begin capturing ideas and organizing them in order to have some glimmer of hope of ever later finding any of the actually useful ideas that may find their way here before they sink into forum Oblivion.

Thanks again for your thoughts – "To Pi-finity and Beyond!", indeed. Hmmmm, I think we have at least an interim working name for the game system … "Pi-finity!"
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!!!

robholfter
Posts: 15
Joined: Sat Mar 03, 2012 2:28 pm

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

Sun Apr 01, 2012 2:44 am

Wow! Very exciting project!!
FWIW, i really like the idea of Robert_M to have a "branch" of the game that allows users to learn coding. Perhaps something as simple as having to complete some code correctly to get points/next level. The "Game" itself wouldn"t have to necessarily be a tutorial - a lot of that could be provided in a wiki or a "walk thru" on youtube - i know my 8 & 12 y/o are already very adept at researching how to advance their gaming skills and so hopefully learning a bit of coding to unlock something cool would be sufficient motivation for them.

Unfortunately i have no skills to contribute in game development, coding, graphics etc. I do have some project management skills (video/film/tv/print production) and have been an active member of several online communities, but possibly having a fair slice of the target group (5 kids aged 3-12y/o) may mean we can contribute by some pre release testing?

Anyways, I"ll tag along and see if i can contribute as things develop!

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

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

Sun Apr 01, 2012 6:19 am

If you"d like to bookmark the link, I"ve established the Wiki for "Pi-finity!" at

http://pi-finity.wikia.com/wik.....nity!_Wiki

I"ll gradually be adding content over the next few days describing the general characteristics of the system, organizing and expanding the feature descriptions we"ve discussed in posts here. Once I"ve got the basic outline established, I"ll invite everyone to review and add their inputs. Within about a week, we should have enough information to begin trying out some rough ideas using existing open-source game development software. This will allow us to determine what software libraries may be suitable to use for development of the Pi-finity! environment.

That will also enable us to establish a baseline of requirements specifications, since we"ll know what can probably be built upon and what will need to be built ourselves. Then, we can begin the design phase and, when there"s enough detail there, implementation of the application programming interfaces (APIs) can start. The specifications will also identify all of the software development tools and libraries needed to build the software, as well as recommended enhanced tools (e.g., integrated development environments). On-line code and document file repositories will also be identified and the file management philosophy will be stated.

We will be using a rapid prototyping methodology with frequent iterations on at least a weekly basis, so, things will be moving along fairly quickly. The system will be built inward from the interfaces using placeholder stubs that will later be fleshed out with functional code. This way, the system can be tested at any time, with additional functionality appearing at each iteration.

As they say on the late night talk shows, "More to Come, So Stay Tuned!"
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!!!

liamfraser280
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
Contact: Website

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

Sun Apr 01, 2012 8:33 am

Hopefully, the future is in peer to peer. This has the potential to be an awesome proof of concept for that

Python it is then? Would make sense I guess because that's the language the foundation are going with. As you say it can be expanded in lower level languages if necessary. Python also means we don't have to worry about memory management / garbage collection so that's a plus. I think the P2P stuff will be extremely interesting to have a poke around once the experienced network guys have sorted it out.

How exciting,

Liam.

PiOfCube
Posts: 96
Joined: Thu Jul 28, 2011 10:09 am
Contact: Website

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

Sun Apr 01, 2012 11:19 am

One of our services that will be coming out of Alpha soon is a content repository. The repository will be a massive collection of media ranging from textures to sound effects and 3D models and meshes.

All of the content will be licensed under the Creative Commons CC BY-SA 3.0 licence. We will be writing a range of APIs and tools for many languages (including PHP and Python).

One of the features of the repository is that each texture will be available in a range of sizes, down to 16x16 so developers can take (and mirror if needed) exactly what they require.

We are still working on categorisation as we are still deciding on the granularity and incorporating some method to prevent confusion between things like a "Field Impact Shock Hammer" and a "fish".

We are also trying to encourage developers of online games that make use of DLC to use a slightly different business model. One of the conditions of the use of our repository server is that users can not be charged for downloading content hosted by us.

For example, a user should not be charged for downloading a new hat but they could be charged a small fee (by the indie game developer) to make use of a wardrobe which allows multiple outfits to be stored.

The API will also ensure that proper credit is always given to the creator of the content as well as (depending on what our legal advisers tell us) providing a donate button to allow users to "tip" the creator directly.

The repository also acts as a remixing platform and a portfolio system so anyone can contribute something. Raw images can be uploaded and converted into tile-able textures by someone that knows how and sounds/music can also be remixed to provide a range of additional content.

I just thought that this might be useful to this R-Pi MMO game.
- 1BillionHex aka PiOfCube: 68719476738 -

User avatar
mkopack
Posts: 242
Joined: Mon Nov 07, 2011 8:46 pm

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

Sun Apr 01, 2012 2:53 pm

I like this idea a lot – and in particular, I like it even more if it was something where the "game" involved programming to advance in level.

I"m thinking something like "Core Wars" or "Robocode" with a mix of "infinite Pac-man" thrown in as well…

Something where players write some code to build a new portion of the "world" environment. Or, they could just write some code that is their "player". That player starts out with VERY limited computational resources (memory, CPU, IO) (think stats/hit points) that the player can use to write their "combat code" with.  As they explore the world, they gain "level ups" which give them maybe more computation power / memory storage to work with, so they can make more advanced code. When encountering other players or "monsters" their combat code gets run vs. their adversary, and the player with the better code (with some randomness thrown in) wins. Winner gains EXP that they can use towards upgrading their combat code through better stats, etc.

So, for instance,  a new player might only have enough CPU+Memory+IO to make their "AI" spin in a circle and shoot randomly. As they get more EXP, maybe they get enough IO to start "sensing" the world around them, so they can start shooting only when pointing at an enemy. Then as they get even more, maybe they can change how they move in relation to the enemy. More still, and maybe they can do more complex things like A* path planning or field flow to control movement through the environment. Or maybe they start taking on tactics like manuever to get the enemy into a corner and then blast away.

Basically, to advance, you need to write better and better code as you get access to more resources.

The exploration would also be influenced by this code – as you explore the maps, when you run into other players, your ability to interact with them (and whether they are friendly or not) will be determined by your I/O interfacing capability.  Like if you don't spend any of your resources  on making friendly I/O, everyone and everything you encounter will treat you as a bad guy and attack you.

Boards would likewise be built based on your gained EXP – The more you earn, the more complex you can make your board/map (or make additional ones).  You can program in new NPC's. As they "win" combat against players, your room gains additional resources that you can use to improve the room.

Could also have a "marketplace" where players could exchange resources - like if you win through combat some additional CPU, but you REALLY need more RAM, you can try to trade in the extra CPU for more RAM.

What do you guys think?

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

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

Sun Apr 01, 2012 4:00 pm

PiOfCube said:


One of our services that will be coming out of Alpha soon is a content repository. The repository will be a massive collection of media ranging from textures to sound effects and 3D models and meshes.


This idea sounds fantastic, that is really what I think. Oh, by the way, which one"s Pink?

I didn"t see a name, other than maybe DLC – what does that stand for (DownLoadable Content?), or what are you calling the repository? This really does sound fantastic, and we certainly should be able to use these models, textures, etc., in "Pi-finity!". It should save us a lot of time, have you already identified content that"s essentially already available, and will be wrangling it from wherever it"s currently located, or will it be up to the content providers to copy the content to the repository?

I"ll be looking forward to seeing this happen, and please keep us informed here. I"ll put a placeholder for this in the "Pi-finity!" wiki at http://pi-finity.wikia.com/wik.....nity!_Wiki
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!!!

hippy
Posts: 6077
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

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

Sun Apr 01, 2012 4:57 pm

mkopack said:

I"m thinking something like "Core Wars" or "Robocode" with a mix of "infinite Pac-man" thrown in as well…

What do you guys think?
Sounds great.

One thing I would say is the game world should cater for entrants with different tastes; those who want to fight each other and those less interested in conflict, who want to explore, reach goals, collect treasures, or simply build communities.

There should probably be some invisibility or immunity from each other so all can share the world but still enjoy what they want out of it. I think it is very important having the choice between something which is immortal and something which isn't.

scifi
Posts: 5
Joined: Sun Apr 01, 2012 12:39 am

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

Sun Apr 01, 2012 5:14 pm

After lurking for quite awhile this is finally the idea that made me register last night.  I decided to sleep on it a bit and see that the post @32 mimics a lot of a what I was thinking.

The idea of having peer-to-peer solar systems could be really cool if done right.  Perhaps you could have nodes volunteer as "hyperspace relays" to coordinate traffic between systems/announce availability.  That way when a node goes offline the relay node could just lock out that address until such time as it re-announced that it's allowing guests into the system.  Essentially functioning like the DNS system, or a torrent tracker, in your post above.  So you'd have a server as the master node/registration/tracker, local-ish relays to handle traffic control between nearby systems, and finally individual star systems.  Also it'll apply a nice layer of handwavium to cover when a relay or two goes offline (it's hyperspace I ain't gotta explain %&$#).

When a user first logs into the game they have option to create their solar system and register with the nearest relay.  Say specify star type, type of and number of planets / moons, that kind of thing.  Bonus points if you could somehow incorporate data from the Kepler survey as a quick setup option.  Heck you could go the full route and implement a quick astronomy tutorial into the process.

PiOfCube
Posts: 96
Joined: Thu Jul 28, 2011 10:09 am
Contact: Website

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

Sun Apr 01, 2012 5:31 pm

We haven"t thought about giving the repository a name TBH but it"s a part of https://www.OpenIndieProject.org We will also be working on alternative download methods (such as torrent) so people can grab large blocks of it in one go. The way the API will work is that all of the content downloaded from the repository will be held in a separate directory so if you have more than one package using the same resources it doesn"t have to download it twice. It also means you can grab the content via torrent and drop it in and even over-ride any content on the client side which means using texture packs etc will be available to any game that uses the system.

On top of that, the repository will also provide an open Talk Table system so (should the developer wish) it will be very easy to include multi-lingual support as well as full support for regional sign-language and Braille for instance. The API will also support some of the devices we are designing which will use the Raspberry Pi to act as a second/third/fourth monitor to render sign language and other communications without having to use up screen real-estate.

EDIT:

We are just starting to work on content now but we aren't putting anything up until we get the categories finalised. We are taking submissions now via our forums and submission server but we will be rolling-out a more automated system once we enter Beta stages. We do have to carry out moderation on the content so people can rely on not having miss-tagged or obscene content delivered to their PCs :-S

We might have our first sponsor lined-up now. We will be keeping the total number of sponsors to four for the next year so if anyone has a company that might like to support us, please let us know
- 1BillionHex aka PiOfCube: 68719476738 -

jhhudso
Posts: 4
Joined: Fri Dec 02, 2011 8:10 pm

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

Sun Apr 01, 2012 6:16 pm

I really like the idea of a massively multiplayer game with decentralized servers. I would like to see a 3D world where a player can move between servers in a method that is as transparent as possible. Ideally the player would only notice a change in new content and whatever ramifications that the decreased or increased latency to the new server causes on the client-side game engine.

I have misgivings about relying too heavily on Python because of bad performance experiences I've had as a gamer of other 3D games that use bytecode based languages running in a virtual machine. I would recommend a game engine based on C++ with Python or Javascript as an embedded scripting language. I believe that since our intended target is a 700Mhz ARM with, by my estimation, 148-186MB of RAM available to userspace programs optimizing for memory usage will be important I think. If the general consensus is Python with C or C++ based libraries then I will adapt to those requirements.

I don't think we should limit the game to only users of Raspberry Pi. I just think our main target for good game performance should be the Raspberry Pi. If both the client and server are open source then the algorithms used to detect a Raspberry Pi would be known and could be duplicated to return the same results by someone porting the game to another computing platform.

As for game content and style I would like to see either a fantasy based RPG with crafting and world formation/deformation or a trading based space sim could be fun too. Are there any game engines anyone has in mind that could be ported or are we going to try to write one from scratch?

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

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

Sun Apr 01, 2012 6:37 pm

So I"m still seeing this as a Second Life type experience. So you have two immediate challenges you need to crack as part of building a framework upon which everthing else is built on: data structure (definition and lifetime) and rendering engine. Is there Open solutions available in Linux that can be leveraged for these?
And can I suggest that "fighting" interations be explicitly excluded from this. Theree is no need for these and I would like to think we could "rise above" the need for this. Think "The Sims". Not Doom or Quake. Please?
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

liamfraser280
Posts: 354
Joined: Tue Oct 04, 2011 6:53 pm
Contact: Website

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

Sun Apr 01, 2012 6:48 pm

Something just popped into my head. To use the maximum capacity of the GPU, it has to have 128MB of the ram if I'm not mistaken. Therefore, we only have about 70 or 80 to work with before we start swapping. May get a little tough at times!

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

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

Sun Apr 01, 2012 7:02 pm

mkopack, hippy, scifi, et al,

You are all "getting it" precisely as I"m envisioning it. I was a little worried that I"d gone off the deep end to the point where the bubbles were getting too small to see (the ones that you can hear a tiny "Help!" when each one pops ).

The "programming for food" concept is absolutely the kind of thing I want to have. Both the media content (3-D models, textures, etc.) and object behaviors (laws of motion, material properties, etc.) will be able to be created and modified at-will, in enough of a controlled environment that catastrophic actions can"t destroy everything (at least not permanently - it would be really cool to be able to set gravity near a tipping point where, if too much stuff is in proximity, it could implode! ).

The ability of each user to create separate worlds/systems/galaxies will provide the separation some have identified, and there will be permissions mapped on everything to prevent rogues from nefariously destroying others" work. Since the object models and associated attributes can be defined by each user, they can decide who can access anything on a read or write basis. Deletion will probably be made somewhat of a pain to do to ensure that mistakes aren"t easy to make and, even if they are, they will be reversible while storage space is still available.

There will be automatic replication within a "local mesh" - I haven"t figured out exactly what that means, yet, probably negotiated through a published list of "super mesh" nodes, similar to how P2P trackers work, but, with a definable hierarchy so control can be exercised as to how much network bandwidth is consumed by object copying. In fact, I will be looking at the P2P file sharing mechanisms/protocols to see how much of that code can be used as-is. Since objects can be represented in files, it may just be a matter of using P2P file sharing as-is, perhaps with some additional attributes needed to specify the mapping relationships between nodes, local meshes, and super meshes. Local meshes wouldn"t necessarily need to be connected to the global mesh collection all the time if they wanted to limit interference/performance-loading (e.g., during a tournament).

Where it makes sense, I think things should be stored in files as plain text to make it easy for anyone to look at the contents (e.g., students), and that also means that data can be readily parsed for reasons we can"t foresee. Image and other binary-oriented data should remain in its native form, of course, and collections of related files can be compressed using standard techniques (e.g., zipped) for transmission across meshes. We will reuse as much as possible, but, I would like to make the mechanisms as transparent as possible and organized to make them beginner-readable, e.g., slot-value pairs. That reduces the need to have data in specific orders/hierarchies and also allows only what needs to be updated (dynamic data) to be transmitted (e.g., object ID, timestamp, 3-D position, 3-D velocity, 3-axis rotation rate, energy state, etc.), while the static values are defined within the object files and only need to be transmitted when a user enters a world they haven"t yet visited. Dynamic data will only need to be updated between nodes that are "in proximity", e.g., within sensing range (e.g., visible). These sorts of things are all handled in existing MMORPGs, so, we should be able to leverage open-source code to handle these. If existing code has everything encoded in binary files, then we may need to develop a reader/editor, if that doesn"t exist.

As others seem to understand, this could be a federated system, where a variety of genres could be developed in the various local meshes (each mapping to a given solar system/galaxy, perhaps), where the physical and chemical constants, behaviors, etc., are consistent. Hyper-jumping into a system you haven"t been to before would require you to rely on sensors and test maneuvers in order to ascertain the local environment. At advanced levels of play, maybe instrumentation/equipment could suffer damage, requiring code/data to be repaired, or maybe it would need to be adapted in response to local conditions (e.g., a throttle"s maximum setting would need to be adjusted in order to make maneuvering easier/possible without overshoot/undershoot).

The brainstorms continue!
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
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

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

Sun Apr 01, 2012 7:13 pm

I changed my mind. This is clearly Pi(e)lite isn"t it?
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

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

Sun Apr 01, 2012 7:18 pm

Liam said:
Something just popped into my head. To use the maximum capacity of the GPU, it has to have 128MB of the ram if I"m not mistaken. Therefore, we only have about 70 or 80 to work with before we start swapping. May get a little tough at times!


Good point! We"ve seen Quake 3 runs as a client, so, at least we know that we should be able to handle more than stick figures, but, serving up models from an R-Pi being used to render an active scene with multiple users could be a bit much.. That just made me think that a world could be populated completely by stick figure people, animals, structures, etc., but, fully-modeled/textured visitors would look normal. I like it! This is going to be soooo much fun!
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!!!

pythagoras
Posts: 19
Joined: Fri Jan 06, 2012 12:48 am

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

Sun Apr 01, 2012 7:30 pm

A mmorpg version of Elite, I like it. Instead of buying a docking computer you need to program it!

Regards

John

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

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

Sun Apr 01, 2012 7:38 pm

And os each world would be named for the language you must code in for it. Such as:
Pythonia
Fortranox
Pascalon
Basicasia
And errrmmmm C
Take no notice if this not what you had in mind
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

PiOfCube
Posts: 96
Joined: Thu Jul 28, 2011 10:09 am
Contact: Website

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

Sun Apr 01, 2012 8:06 pm

It you're thinking along the lines of procedural (or almost so) generation of ships, there was a great deal of research done about 30 years ago on soap bubbles and how to map the vertices of them to construct usable shapes (not bubble shaped LOL).

They managed (IIRC) to create complex constructs which looked mice but took up very little computer power to manipulate and store. They did tend to look a lot like the ship on elite but with more detail. I can't remember who did the research but it could have been Berkeley or MIT.

Erm.. not mice but nice LMAO
- 1BillionHex aka PiOfCube: 68719476738 -

Return to “Gaming”