Xna Console allows you to debug and tweak your game on the fly by providing a simple text interface to an interpreter, such as IronPython. You can change variables, test code, or even play your game itself indirectly from the relative safety of a console, all while your game is still running.
Since Xna Console is designed to work somewhat like other consoles, it's easy to write your own text based games, or implement an interpreter other than IronPython.
- IronPython as interpreter
- Some standard console features, such as cursor positioning, command history, etc.
- Easy to implement an alternative interpreter, or even a text based adventure game.
You can download the project here: XnaConsole v.1.01
If you need a place to get started, or want some help, check out the following links:
Basically, you're allowed to do whatever you want with this code. However, I request that you publish back to this website any improvements made to the console, and that any compatible interpreters you may write for public languages also be made available. If you make an interpreter for your own secret language, you don't have to give it away. Also, it would be nice if you let me know what you've used it in, especially if it becomes a successful game ;)
I'm not really working all that hard on this project, so if anyone out there wants to help out and keep it alive, send me a message!
Tentative Future Plans
Ideas I've had for future features:
- Have the console render to a texture, so that it can be displayed anywhere in 3d space, such as on a highway billboard, a computer screen, or heads-up-display.
- Add colored text handling, so that games like rogue are more interesting. Also, syntax highlighting becomes a possibility.
- Text selection, copying, pasting, etc. Maybe even use the windows clipboard if the game is running on a pc.
- Somehow add intellisense/word completion. Examples are the tab completion features of IronPython's console, and the source engine console in Portal and HL2.