Making a game for PC, Mac, & Xbox 360
by Jeremy · in General Discussion · 05/02/2008 (4:06 am) · 6 replies
If you had to make a 2d multiplayer top-down shooter (up to 8 players online) and run it on PC, Mac, and Xbox 360 (using XNA Creators Club), what would you do?
Ideally, of course, you would want to code once and run it on all three platforms. TGB claims it can do this:
And you also have to factor in that TGB doesn't come with real-time networking. Apparently it can be implemented, but I can't find any games that prove this.
So, are there any other "code once" options out there? If not, what would you use and which versions would you code first?
Ideally, of course, you would want to code once and run it on all three platforms. TGB claims it can do this:
Quote:CodeOnce in TorqueScript, then run your game on PC, OSX, or even XBox360 (with separate license)...At first I assumed this meant you could take your TGB game and quickly port it over to TXB, but then I read this post that says you would have to build that port "from the ground up." So I'm confused.
And you also have to factor in that TGB doesn't come with real-time networking. Apparently it can be implemented, but I can't find any games that prove this.
So, are there any other "code once" options out there? If not, what would you use and which versions would you code first?
#2
TGB and TorqueX are two completely different platforms. TGB is a C++ engine that you can (should you be an official XBox developer with a Microsoft contract) license for the 360 with out Torque360 product. You will have to have a license to use it. They do not share a codebase or the "CodeOnce" concept as XNA is built upon C# and has no concept of TorqueScript.
Also, the CodeOnce use is for the scripting engine. If you make changes to the C++ source code in the engine, you will need to ensure that it works on all platforms through rigorous testing and debugging.
05/02/2008 (7:06 am)
Quote:If you had to make a 2d multiplayer top-down shooter (up to 8 players online) and run it on PC, Mac, and Xbox 360 (using XNA Creators Club), what would you do?I would drop the Mac from the equation since XNA is not Mac compliant, even with the Mono XNA project. And there is no guarantee that it will be XNA 2.0 compliant (or 3.0) when it is released. There is also no guarantee that it will be easily portable. But if you're hellbent on using XNA so that you have PC and 360 compatibility, I would recommend either 1) Torque X 2.0 or the shooter starter kits for XNA. So, if XNA is your way to get on the 360 without going through the XDK process, you will either have to drop the Mac or code it from the ground-up.
TGB and TorqueX are two completely different platforms. TGB is a C++ engine that you can (should you be an official XBox developer with a Microsoft contract) license for the 360 with out Torque360 product. You will have to have a license to use it. They do not share a codebase or the "CodeOnce" concept as XNA is built upon C# and has no concept of TorqueScript.
Also, the CodeOnce use is for the scripting engine. If you make changes to the C++ source code in the engine, you will need to ensure that it works on all platforms through rigorous testing and debugging.
#3
I understand your explanation, but I do have to say I think there might be a clearer way of communicating that to potential customers. As it stands, I'm looking at using TXB to target the 360, so Mac compatibility isn't an issue for me, but I can see how Jeremy was confused by the language. Perhaps something like "CodeOnce: Xbox 360, PC" or "CodeOnce: PC (additional licence for 360 available)"?
Given the situation I described, if my game was developed to completion and I wanted to move it to a PC environment, what can I expect? Is that an actual consideration made during development of TXB/Torque X, or is it more of a "latent feature" that need some decent amount of "massaging"?
Again, I don't want to seem overly critical, I really am excited about the possibilities based on what I understand...I'm just trying to understand what I don't. :]
05/02/2008 (7:22 am)
David, thanks for responding so quickly. I understand your explanation, but I do have to say I think there might be a clearer way of communicating that to potential customers. As it stands, I'm looking at using TXB to target the 360, so Mac compatibility isn't an issue for me, but I can see how Jeremy was confused by the language. Perhaps something like "CodeOnce: Xbox 360, PC" or "CodeOnce: PC (additional licence for 360 available)"?
Given the situation I described, if my game was developed to completion and I wanted to move it to a PC environment, what can I expect? Is that an actual consideration made during development of TXB/Torque X, or is it more of a "latent feature" that need some decent amount of "massaging"?
Again, I don't want to seem overly critical, I really am excited about the possibilities based on what I understand...I'm just trying to understand what I don't. :]
#4
With your expectations on TX, which is should be entirely different than expectations for TGE as it is an engine built from the ground-up on XNA without prior Torque compatibility built into it. While there is support for DTS objects, much of the TGE/A features are not directly compatible between the engines. However, being built on top of XNA and with a component architecture in mind, it is an extremely viable and valuable engine to use; through transferring a project from TGE/A would be a nightmare on many counts (for example, using DIF's).
Because of the way XNA is structured, you should be able to deploy games designed for the XBox to the PC. Doing it the other way can be trickier because of the XNA implementation for the 360 and the inability to use external .Net frameworks that can really help out on the PC side.
XNA shields you for the most part from the deep internals of console development. You will still have to be asset-conscious and make every bit of memory and processing power count where it needs to, but Microsoft has done an excellent job at making a strong foundation that makes it easier to develop for their consoles. However, it is still up in the air about legal commercial deployment to the 360, and while some teams started with XNA, I do not know if their contract games are still XNA-based or if they have had to perform a code conversion to the XDK. I know MS wants to allow XNA-based channels, but the how's and why's are still up in the air.
The other Torque engines (TGE/A/B) are different beasts. They use the same underlying code architecture for many aspects. But there are significant differences between the engines. The scripting language is the same and, unless you make changes to the underlying engine, should parse the scripts and utilize them the same regardless of the platform (Mac, Windows, Linux, or--if you have a license--Xbox). As with all things console, however, the scripting logic may work, but you may have to significantly re-architect a number of aspects of your game for loading and processing (for example) to get it to work correctly on the 360. As much as gamers like to call the Xbox a desktop-in-a-box, most desktops allow you to be much, much sloppier with resource management than any console.
05/02/2008 (7:50 am)
I agree about clearing up things. I still get questions periodically about "Puppeteer" because people believe that TGE comes with an integrated modeling application when in reality, it is the name for our implementation of boned animation. And if clearing things up means I get less e-mail and can concentrate harder on some of the more difficult questions, I'm all for it.With your expectations on TX, which is should be entirely different than expectations for TGE as it is an engine built from the ground-up on XNA without prior Torque compatibility built into it. While there is support for DTS objects, much of the TGE/A features are not directly compatible between the engines. However, being built on top of XNA and with a component architecture in mind, it is an extremely viable and valuable engine to use; through transferring a project from TGE/A would be a nightmare on many counts (for example, using DIF's).
Because of the way XNA is structured, you should be able to deploy games designed for the XBox to the PC. Doing it the other way can be trickier because of the XNA implementation for the 360 and the inability to use external .Net frameworks that can really help out on the PC side.
XNA shields you for the most part from the deep internals of console development. You will still have to be asset-conscious and make every bit of memory and processing power count where it needs to, but Microsoft has done an excellent job at making a strong foundation that makes it easier to develop for their consoles. However, it is still up in the air about legal commercial deployment to the 360, and while some teams started with XNA, I do not know if their contract games are still XNA-based or if they have had to perform a code conversion to the XDK. I know MS wants to allow XNA-based channels, but the how's and why's are still up in the air.
The other Torque engines (TGE/A/B) are different beasts. They use the same underlying code architecture for many aspects. But there are significant differences between the engines. The scripting language is the same and, unless you make changes to the underlying engine, should parse the scripts and utilize them the same regardless of the platform (Mac, Windows, Linux, or--if you have a license--Xbox). As with all things console, however, the scripting logic may work, but you may have to significantly re-architect a number of aspects of your game for loading and processing (for example) to get it to work correctly on the 360. As much as gamers like to call the Xbox a desktop-in-a-box, most desktops allow you to be much, much sloppier with resource management than any console.
#5
Thanks again, I take your attentiveness to questions (even ones that have apparently been brought up repeatedly) as an excellent sign.
Your explanation is quite thorough and is appreciated. The only thing I would suggest (if I may) is that some consideration be given to updating the "front end" communications on the website to more accurately reflect (or even just link to) the information you have provided above.
I know not everything can be boiled down, so to speak, but as we all know, there's a lot to be said for "feature lists" and their effect on customer perceptions. It may not be any one's fault that someone gets confused and feels mislead, but a customer may not always be so judicial when making the decision to purchase afterward. :]
05/02/2008 (8:06 am)
David,Thanks again, I take your attentiveness to questions (even ones that have apparently been brought up repeatedly) as an excellent sign.
Your explanation is quite thorough and is appreciated. The only thing I would suggest (if I may) is that some consideration be given to updating the "front end" communications on the website to more accurately reflect (or even just link to) the information you have provided above.
I know not everything can be boiled down, so to speak, but as we all know, there's a lot to be said for "feature lists" and their effect on customer perceptions. It may not be any one's fault that someone gets confused and feels mislead, but a customer may not always be so judicial when making the decision to purchase afterward. :]
#6
05/02/2008 (3:55 pm)
Alright, thanks for replies. This clears things up.
Torque Owner James H.
Any GG or admins that could comment would be great. I'm seriously considering purchasing TXB in the next few days, I'm just a little unsure about the features and level of support for individual products. All in all, though, Torque X looks like a great set of tools for someone like me.