Current Gen Console Supported Programming/Scripting Languages?

Started by
4 comments, last by Shatley123 9 years, 8 months ago

Hey guys,

I have my own engine written in C++ that uses Embedded Python as a scripting language. I know that every platform will likely require me to modify certain parts of my code, but I am trying to see how large those changes would be. So, I would appreciate any answers you can provide to the following questions :

1) Does the PS4, Vita, Xbox One, Wii U, or 3DS allow games to be written in C++?

2) Do they support C++11?

3) Could I use Embedded Python in my C++ Application?


Thanks in advance for any answers you can provide.

Advertisement

1) Does the PS4, Vita, Xbox One, Wii U, or 3DS allow games to be written in C++?

Yes. That is the primary language for most modern consoles.

2) Do they support C++11?

More or less. Every implementation has their quirks.

Even the latest gcc 4.9 has a short list of C++11 features that are not fully supported. Some have more than others.

Compilers are also quickly gaining C++14 functionality, if you want that.

3) Could I use Embedded Python in my C++ Application?

Sure.

You'll need to build the libraries as a part of your app. Quite a few games support scripting tools internally.

The first party groups (Microsoft, Nintendo, etc) have their own rules about things that are not allowed to be scripted (i.e. run from data) and what must be run from code directly. For example, you might be required to pre-compile your scripts if the existing system prefers to use a JIT execution model.

Kurasu -- its not clear from context, and it may or may not have an impact on Frob's answer, but are you approaching this as a professional developer with access to DevKits/SDKs from the console manufacturers (e.g. like EA), or are you approaching as a lone/small indie developer working access only to thinks like XNA or the PSVita SDK?

Most people on the boards here fall into the latter category (XNA-like), so I suspect that's you as well. In that case, you might be dealing only with other languages, depending on the platform, even though Professional developers have access to C++ on all of these platforms -- PSVita, for example, is C# if I'm not mistaken -- and I don't think details are publicly released for some of the others -- XBox One hasn't been officially stated publicly, although a small set of NDA'd developers are already working with the non-professional SDK to produce the first Xbox One independent game titles.

throw table_exception("(? ???)? ? ???");

Kurasu -- its not clear from context, and it may or may not have an impact on Frob's answer, but are you approaching this as a professional developer with access to DevKits/SDKs from the console manufacturers (e.g. like EA), or are you approaching as a lone/small indie developer working access only to thinks like XNA or the PSVita SDK?

Most people on the boards here fall into the latter category (XNA-like), so I suspect that's you as well. In that case, you might be dealing only with other languages, depending on the platform, even though Professional developers have access to C++ on all of these platforms -- PSVita, for example, is C# if I'm not mistaken -- and I don't think details are publicly released for some of the others -- XBox One hasn't been officially stated publicly, although a small set of NDA'd developers are already working with the non-professional SDK to produce the first Xbox One independent game titles.

Well the PS4 and Xbox One are alot more open for indies than previous consoles. XNA isn't even supported by Microsoft anymore. I think the best way to figure out what you can/can't do is sign up as a developer for one of these.

http://us.playstation.com/develop/

http://www.xbox.com/en-us/Developers/id

AFAIK, neither company has authorized hobby development on either console.

The steps for becoming a registered developer allow for "indie" development, typically referring to small but established teams that are independent -- that is, the studios are not under contract with existing publishers.

Microsoft stated that they intended to support small hobby developers again with the XBox One, and that it may take some time. It was several years after the launch of the XBox 360 that XNA was released, and we are still under a year out from the XBox One launch.

XNA was originally a wrapper for cross-platform DirectX 9 era development. That did not change. The system targeted systems that were frozen, and it was not updated and maintained to current versions. If you want to do DirectX 9 development on Windows and sign up for the Creator's Club and do XBox 360 development, or develop for a now-defunct version of Windows Phone, XNA will still accomplish those goals. The targets remain the same, and the software is still functional.

For current generation consoles, it appears so far only the WiiU has been exploited to run hobby software. I don't see anything in the homebrew communities about either PS4 or XB1 for running unsigned code or signing code to enable it to run. (Although there do seem to be the normal problem of unlawful disc images.)

Home development on the consoles is rather difficult, with the notable exception of Xbox 360 through XNA. Before that you need to go back to the 6th generation and earlier to find systems that a single hobby developer can produce quality stuff. In the 6th console generation both Game Boy Advance and Dreamcast systems are still popular in the hobby community. There are also popular Atari 2600 (2nd generation console) hobby sites. Some Super Nintendo (4th generation) and NES (3rd generation) homebrew groups are out there, but are less popular. I've run across some rather fun stuff on the Vectrex as well, a former co-worker was a collector who loved that chip, and even wrote several Vectrex simulators for various devices. The older consoles have emulators so you can play on your smart phone, which makes them rather fun. Climber 5 and Marble Craze are two examples of excellent homebrew games on old systems.


XNA will still accomplish those goals. The targets remain the same

Well it would definitely be worth it to learn XNA if you want to also use MonoGame. It can port to virtually every platform and is still being developed. Even the PS4 has some MonoGame titles.


The steps for becoming a registered developer allow for "indie" development, typically referring to small but established teams that are independent

I imagine though if he's going to ever get his engine on a console he'll need to register as a developer though. And a one person team does still have the ability to do so I believe.

This topic is closed to new replies.

Advertisement