In any case, I would like to share few things and thoughts about the next iteration of Mission-X.
First, work is progressing quite well, better than I expected. I covered most of the core features, and I'm nearing working on the main "flight loop back", which is the main plugin loop. Why is it important you ask ? Well, this flow bind the features together and execute them like round robin. There is still a long way to go, but I'm hopeful to have first Alpha by the end of September or October.
So what is new
Well, so far I think I nailed the Goal/Objective/Task hierarchy and figured out how events (triggers) should co-exists and interact with different features. I'm now working on:
- Save/Load checkpoint.
My goal is to bring your plane to the exact location and state you were flying, but the amount of Datarefs that can be store is huge, while I think there is no need to store them all, some filtering work should be done. This effort will take some time and I'll need many tests before I will fill comfortable. Basically we will save the whole mission but in a simpler format, so it will be just like a savepoint rather then just a checkpoint. You won't need to load the mission to load a checkpoint. You will just have to load a "savepoint" (mental note: change the checkpoint name).
- Support for array datarefs. Although the plugin do read/write array datarefs, I'm not sure I'll expose it.
- UI: user interface is an important part, but until we will get our hands on the new SDK extensions, I won't be able to test and examine their capabilities.
Unfortunately I'm not that talented in UI designing, but I hope I'll be able to create a functional interface. Please do remember that the main thing is flying, and not looking at the MissionX screens.
If by any chance you are reading this and want to get involve in the UI programming, ping me.
- Vulkan support: Well, that is a topic by itself. What I understand from Ben Supnik is that there will be a Vulkan binary for x-plane or opengl binary. You can't mix them both. Just like the 64bit and 32bit x-plane binaries. What is worse, is that all opengl code will break in the new Vulkan binary, so we will need to rewrite the whole code to support Vulkan API.
Since I have no knowledge in Vulkan, this will be a longer term effort. In any case, 99% of the plugin code does not need special rendering API, and I think that I'll stick with only one technology in order not to spread thin my time. I think it will Vulkan, so it will be future proof.
- Compatibility: Mission-X v3 will only work with XP11 v11.10 and up. I want to use the latest SDK, and the latest graphical interfaces. I do not want to work on compatibility implementation, again, due to the limited time I have.
Overall, the past month was a real challenge in the programming department, well for me, and the progress seem promising.
i will keep you updated and hopefully I'll start publishing some scripting examples.