User login

Introduction

This page is a high level plan for the monoxna project created to make sure the development are aimed towards a common goal.

For a more detailed list of development tasks, see the Todo page, and the current status of the project is listed in the Status page.

General

First off, since this project is an open source implementation of Microsoft's XNA platform, all the developers have to take special care to not violate the Microsoft EULA. Under no circumstance is it ok to decompile MS XNA to figure out how they do things.

The decision has been made to build this project on top of Tao.Sdl instead of higher level alternatives. Image loading is done using Tao.DevIl?.

Current Focus

The project is up and running again, so the focus has shifted away from getting it to work again to adding functionality. There's also a web page up and running at http://www.monoxna.org

Input Support

At the moment at least the input from the keyboard is working, though it needs to be tested properly across platforms. The support for several players also needs to be added, but at the moment this isn't supported by SDL (investigate)

The mouse and gamepad support need more work as well. There will be some problems when implementing the gamepad though, since SDL currently doesn't support feedback.

Audio Support

This area has been left mostly alone since the project restarted. It's unsure how much work is needed to get it working again.

2d Support

Even though the project is up and running again, there's still things to be done to get the 2d functionality finished.

3d Suppport

There are a number of issues that need to be worked out before 3d support in MonoXna is operational. To name a few: MonoXna uses OpenGL for rendering which require the shaders to be translated into GLSL or someother supported shading language, and OpenGL use a different organization than XNA for all their matrices.

The implementation of the different 3d related classes have been started, but nothing is operational as of yet.

Content Pipeline

The development of the content pipeline has been started, but it hasn't come that far yet. The first things that needs to be done is to get the MonoDevelop? addin to launch the compilers. When this is done, things will speed up a bit.

Demo Applications

When 2d, input and audio is working properly it should be possible to create a few simple demos that we could show to the world, we need to check whether compiling content with MS XNA and using them with monoxna violates the EULA or not. If

Future Plans

MonoXna today is implemented on top of a number of third party libraries like SDL and OpenGL, but it is likely that it would be nice to have other implementation platforms as well in the future. This could be for the sake native optimazations on one specific platform, or to make MonoXna run on additional systems.

Issues

The current realease of Tao.Sdl and SDL itself doesn't fit the application model used by XNA very well. One of the issues is that SDL doesn't support listing available display modes other than available screen dimensions. This looks to be better supported in the 1.3 release, but sadly no release date have been posted.