The time has come for a decision to be made. I have work piling up and time dwindling away so the future of Flathead is up for discussion. Though I have my own reservations, this is the case I am making that leads to the conclusion that I have to open source the platform for it to be useful to anyone.
The closed off, walled garden approach is killing me. We have a few dozen people that have decided to take on the community burden and that has lead to almost entirely exactly zero community contributions. Instead of getting into email debates or throwing shade around, its time to make a move.
The community aspect of this project is a requirement because I am not by any means loaded down with the time needed to build out an appropriate API to drive the project. We need to hit a critical mass of two very different parties:
- a C++/Technical developer base to help build out the API and capabilities of the core systems, and
- a JS/User developer base to help build out and test the core functionality, resulting in a stronger, more expansive platform that we can all benefit from.
With a closed source platform the technical developer base isn’t able to expand beyond those that I bring on as employees or contributors, which hasn’t panned out, and without the core systems getting honed and JS framework code being developed the user developer base is not growing at a rate that is fast enough to reach the critical mass we need in order to deliver a useful platform.
So what does this mean?
This means that the code I’ve been mashing up is going to be cleaned up over the next few weeks and stuck into a GitHub project for your perusal. The project is going to be public and completely divorced from UE4.
Along with this project, the Sample C++ project will be updated to the new approach/API. I am hoping to improve this sample to better illustrate the binding, how it works and how to use it as well. Ultimately, this will be a C++ application that is actually driven by JS (similar to how Node/io.js work – hint hint)
Along with these two, the plugin will be moved over to the new home, similarly updated to the new approach/API. This project will be updated appropriately to share some of the changes I have made to the API to improve development with…
- Slate UI
- Actor Manipulation
- Input Tracking & Reacting
Along with the above, comes possible community contribution, better transparency and hopefully better interactions with a larger more active community.
I will still be selling a compiled DLL from the website for those that are not interested in the not quite so simple process of handling the linking and compilation of a handful of rather complex projects.
I have done a few live streams now, answering questions, showing off the API and sharing in the development woes, so maybe I’ll do more of those as well. Who knows, maybe you will too!
This is the plan, it should lead to a better result than all of these privately driven ones. I look forward to hearing from most of you.