Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to design a online multiplayer game for all gaming devices e.g. Desktop PC, Internet browser, Android phones, Android tablets, iPhone, iPad, XBOX 360 etc. Now my main requirement is that, I want all devices can be used to play the game in multiplayer mode together i.e. One player can be connected using PC another using Android phone and other may be with iPhone or iPad.

My doubts are:

  1. How to make all devices to connect to common game server?
  2. What will be the logic for graphics and texture because all devices screen will be of different aspect ratio?
share|improve this question
3  
I don't want to be harsh but my recommendation is to first code it for one platform. Then you can come back and ask for advice (or if you actually pulled it off, give some). – Valmond Apr 11 '12 at 8:28
    
FYI, consoles usually have their own hurdles -- you often need to have a physical work building, certain amounts of revenue, etc. before they will let you use their proprietary development tools. I would start with freely-available platforms first (PC, Android, iOS, etc) – ashes999 Jun 5 at 20:27
up vote 18 down vote accepted

Short answer: Yes.

Long answer: You almost certainly aren't ready for that, and a sole developer would be folly to undertake such an enormous project anyway.

Connecting to a common server is not too big of an issue. All the devices you mention communicate with common servers on a regular basis (via HTTP anyway). The server doesn't have to know anything about what OS the client is running. Network communication is, for the most part, device agnostic. Once you have electricity on the wire, it doesn't matter who sent it or what's on the other end.

About your doubt with the "logic for graphics and texture", if you think that the aspect ratio is your primary concern, you are woefully misinformed and likely don't understand the technology. The devices you listed do not have common graphics hardware nor do they even use a common coding language. Some can run many, some can run only one. That being said, it would be possible to have them all run something that appears to look the same. However, you'd have to maintain multiple code bases to support just the hardware you mentioned, not including the "etc.".

Just based on your question, you seem to be a very new developer. I think your ambition is great, but you may want to start smaller. See what actually goes into the development of a game for one platform. Then decide if you actually want to expand that to multiple devices.

share|improve this answer
1  
Not mentioning the gameplay issue. A game with clicks can be easily won in a touchscreen interface than in a computer with a mouse. And touchscreen keyboards really sucks for games, what would make computer players win in this model. Good luck seeking a good gameplay experience that is equal in so many devices. – Gustavo Maciel Apr 11 '12 at 19:04
    
@Gustavo-Gtoknu Gameplay is the easiest question. Pretty much any turn-based game will work. The only issue may be screen real estate, but as long as players are not under a demanding time limit per turn, that shouldn't be a show stopper either. – Hackworth Apr 16 '12 at 20:08
    
Well, reading you comment I would mention the time limit, but you already did that :), And I think turn-based games without time-limit may be a little "boring" or idk. Think of a chess tournament without clocks, kinda strange. – Gustavo Maciel Apr 16 '12 at 23:34

Is it possible? Yes. Is it a good idea? No, for various reasons that involve trying to balance the game for the many different input devices.

As for the difficulties in actual development, most modern game engines are purpose built to be able to port the same game to PC, xbox, playstation, mobile devices, and macs without too much trouble aside from controls and optimization.

share|improve this answer

Is it possible? Yes, but it will be very difficult, from a programming standpoint, as has already been addressed.

From a design standpoint, I cannot imagine a game that would be enjoyed by people on such varying devices. Most console and PC gamers play more action-y games than mobile games, and if your game is a multiplayer action game console and PC gamers are at a huge advantage since they have greater input control. If it is a puzzle game, it probably will not be worth the time it takes to implement on consoles, since your largest demographic will be mobile. Party games, while usually a great genre for multiple devices, are usually played entirely on a console or entirely on mobile devices. Perhaps strategy or RPG games would be played by both platforms, but again, the input difference is important.

To summarize, make sure you consider who your actual audience is before you try to port the game to a new platform.

share|improve this answer

Of course you can but there are problems you wouldn't like to run through, different platforms has diferent architectures, different memory structure, different float point, different byte length, etc. So probably your code will not work as expected os simply, output different things in each platform.

If you are working in a "high precision math" (anything that's not super mario) game you probablly will end with a messy code that doesn't work more than where it was focused to, this is why MAC and PC players can't play together, because the float point and machine arch is not the same.

You would have to sanitize your code, design your architecture, test and debug for each platform, using a middle server is a must, you can't simply connect an UNIX an a Windows machine by UDP and hope it to work, unless you want to do the middle-ware part in the client (i think it's an error).

Anyways, xBox360 development is pretty straight forward, but PS3 had a weird-as-f*** processor that did everything really hard, you would need to be an expert to know how your functions and networking will work in both, pc and there. I bet you aren't yet.

Building a game that runs in every device is not impossible tho, you can use Unity3D, UDK or other pre-build engines and just try to set up the whole thing, with documentation and try-catch you will make it work, but I wouldn't even think about building it from scratch or even release a quality product unless I had a team of developers, a good self with books about networking, archs, protocols, optimization, etc and an expert in each platform.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.