Brandon Bloom

I intend to use IronPython to speed up my game development a bit. This would give me some more control at run-time to create and manipulate objects for the sake of debugging. If possible, I would also like to support this on the Xbox 360.

I don't have a spare USB keyboard lying around and I'm not even sure if IronPython will run on the 360. Preferably, I would like to show some sort of separate Python console form on the Windows side, but I am not sure if there is any way to implement this without networking. Console.WriteLine seems to do nothing, so I don't even think I can use Visual Studio's output window.

Will there be anyway for me to do this, or will I just need to implement a slide down console like all the Quake engine games and get a cheap USB keyboard for my 360

Thanks,

Brandon Bloom



Re: XNA Game Studio Express Custom communication with the 360

waruwaru

From what I read, IronPython won't work on the 360. Even if it worked, you would have to do the on screen keyboard thing unless you can get some sort of networking going. You can print to the Output window in VCExpress using System.Diagnostic.Debug.WriteLine.




Re: XNA Game Studio Express Custom communication with the 360

Leaf.

Waruwaru is correct, IronPython wont work on the Xbox 360 right now. IronPython relies heavily on dynamic code generation, using the types in System.Reflection.Emit, which is not available on the .Net Compact and Xbox 360 Frameworks.

Cheers,
Leaf.






Re: XNA Game Studio Express Custom communication with the 360

Jack H. Palevich

I've got two suggestions for you:

1) f you aren't wedded to Iron Python specificly, you could get a somewhat similar result by using F#. I use the phrase "somewhat similar" because even F# can't dynamically compile on the 360. But it can dynamically compile on Windows, and any code you develop in F# on Windows will run fine on the 360 when compiled statically. (In this regard F# is better than Iron Python because if you developed a Python game on Windows it wouldn't work on the 360.)

2) If you really want to do dynamic development on the 360, then you can do so by implementing your own simple threaded language interpreter. For example, it's very easy to create a Lisp or Scheme interpreter for .NET. You could probably port Peter Norvig's JScheme interpreter from Jave to C# in a few days (I did that a while ago, but I've long since lost the sources). Or you could use one of the other .NET Lisp interpreters, such as DotLisp: http://dotlisp.sourceforge.net/dotlisp.htm

Unfortunately I don't think the USB keyboard is supported by XNA currently, so your input will be pretty clunky.





Re: XNA Game Studio Express Custom communication with the 360

Brandon Bloom

Thanks for the comments and suggestions.

I suspected IronPython wouldn't work on the 360, a bit of a bummer. I'll look into other languages or simply conditional compilation of Python support -- like I said, I really just want it for debuging. I don't plan to write any game code with Python.





Re: XNA Game Studio Express Custom communication with the 360

Stephen Styrchak - MSFT

FYI, the XNA Framework does include keyboard support on the Xbox 360. It does not support the text input slide-out UI that you see in many game screens and in the dash, though, so if you want to see what you're typing you will need to develop the UI yourself (and provide font support, etc.).

--Stephen