Last week at Flash on the Beach I had an announcement regarding me and Papervision3D. While some people took that as a hint to the release of PapervisionX, the actual news was a bit more sad. After pondering on this for a while, I made the rather big and tough decision to leave the Papervision3D team. As many of you couldn’t be in the session, since the room was packed and as I heard later, many, many people not being able to come in from the line outside. Next to that many of you not able to come out to FOTB, this post is to ellaborate on my decision and explain it to all of you.
A great experience
I’ve been on the Papervision3D team for around 3 years in total. Only weeks after it’s first closed alpha release, I joined the effort. All in all it was a great ride and I had an enormous amount of fun working on the project. Mind you, contrary to what some people believe, Papervision3D is not a company, there is no steady revenue and there is no direct income from it. It’s an opensource project, with all the team members contributing out of fun, love and a feel for our great community. With the team, we have been able to deliver a solid, fun and easy to use 3D API for the Flash Platform. While Papervision3D certainly wasn’t the first Flash 3D engine, many of it’s features where and it’s ease of use propelled the name to the top-ranking name in Flash 3D engines. Along with that, Papervision3D helped putting Flash 3D solidly on the map for companies and individuals, making Flash 3D a tool accepted and available within the creative palette. I’m very proud to have been part of that and very grateful for all the valuable and nice feedback from the community. When I started on the project, it was only me, John Grden and founder Carlos Ulloa working on it. With time the team grew, changed composition and we also got more and more community input. These days, the team has grown to a rather large size, we got many blogs and sites dedicated to the engine and a vibrant community working with and on the engine. There’s nothing to describe how proud I am of achieving that together with my fellow team members.
Over time, I’ve spent more and more time in creating and architecting the core of 3D engines. With Papervision3D, this was the 1.7, 1.9 and 2.0 core of the engine. For PapervisionX I’ve taken that even further, creating the entire core architecture and implementing the many things I’ve learned over the years. But next to Papervision3D, I’ve also built multiple engines in my commercial effort as a freelancer, and have greatly enjoyed doing so. During my FOTB presentation, I showed a video of the Anne Frank Virtual House, for which I was commissioned to build the 3D engine by LBi / Lost Boys and the Anne Frank Foundation. For the project I worked closely together with Floris Drupsteen of Biqini, the 3D modeller on this project, who did an awesome job of building the actual 3D models. It was an all in all great experience to build an engine on that scale and I’m proud to have been part of that effort. Considering the goal of the effort, it was a very meaningful implementation of a 3D engine to me, and an honor to be part of that effort.
With me stopping to work on the Papervision3D project, this is certainly not the end of me building 3D engines. Rather a rehash on how and why I do that. First and foremost, I will keep in chipping in the community effort, through this blog and upcoming projects to be released in the opensource domain. Also, commercially, I see myself building graphical / 3D engines, when possible, for a while to come too. All in all, I just love building the graphical engines for projects, hence also my self-given titel; “visual programmer”. With no noticable big difference in what I do, there is a question remaining.
There’s a couple of reasons to the exact why of me leaving. First and foremost, this is a personal choice on my side, has nothing to do with my feelings towards the engine or the other team members. An important factor for me, things have to do with momentum. The engine has had an incredible amount of momentum over the years, and that pushes me to work on such a project even harder. Currently the project is a bit lower on momentum, which doesn’t help me either. I think it’s important to know I’ve been working on the engine many, many hours over the last years, and at some point you get to some fatigue of working on the same thing for a while. With the success of the engine and the personal success of my fellow team members, all of us have gotten more busy on the commercial side of things. This means less time goes into the project, which in turns into less momentum for the entire project, which in turn leaves me less “pushed” to do more. Considering the enormous amount of pressure from people on the outside, this wasn’t good for me either. On the other side, this change in team composition, with me leaving, gives room for other people to full-fill that position and get new ideas, new work and new momentum going. All in all, I think it will do the engine good.
Next to momentum, another important reason for me was the goal of building an opensource 3D engine. With many people doing awesome experiments and examples / implementations of the engine, it really gives me a natural high to see how it’s beeing used. But next to that I’m also looking to create beautiful things myself. Now, I’m not anything near a real visual designer, I like to see myself as one who builds the tools and technology to help enable these experiences. But I want to be part of something which will lead to beauty in visuals, story telling and emotion of the experience. Without a doubt many Papervision3D powered experiences can be classified as beautiful experiences, but most of the time, just building the engine means that they use the technology, but you are not directly involved in that process of creation. I really feel I need to work on projects which will give me a more direct link to the artists, or even more closely enabling artists. One of the projects I have recently joined is the Rhonda Forever project. Certainly very different as a tool to people, my job within the team is very similar to what I did for Papervision3D. For Rhonda I’m building the online drawing viewer for the project. The change for me there is that I will be working directly with it’s creative community and seeing results of that effort in a more tangible/graphical way.
Wanting to create visual beauty also means that for me, there was a decisive direction to take. The work you do is the work that defines you within the industry and that in turn gets you the next big job. With me wanting to do more directly involved work on creating things with beauty, but my work mostly being hidden in technical solutions like for instance Papervision3D, I wanted to expand my working area to more visual beauty and become more part of that side of the process. The only way to do that is by just start doing it, finding people to work with and changing that direction. This one of my first steps towards that. With a renewed sense of freedom, I’m hoping to work on projects more closely and be part of the actual implementation more, rather then being part of a tool that enables people to do that, but not being part of the creation of the end result.
Community wise; I’m still there. I am pondering on some of the directions. Along with doing more work with and on OpenFrameworks and Rhonda, I will still build 3D things for the Flash Platform. What I can release, will be released through this blog. With the 3D Flash community having considerably grown from near to nothing to an almost distinct part of the industry, I will be part of it. Also, I’m looking forward to build technology which spans and extends all the available 3D engines, rather then just focusing on one engine.
One thing I’m not entirely sure of as of yet, is what to do with the PapervisionX code base. Built entirely from scratch by me and Tim Knip, this project really has part of my soul in it. It’s been exclusively me and Tim working on it, with plans to have the rest of the team start on it a while back. Currently, that hasn’t happened yet and the engine is not ready for release and officially not part of the Papervision3D code base. In other words; it’s mine and Tim’s. While I’d love to release it at some point in time, currently it’s not ready for that and with me leaving the team, it’s most likely not going to be released under that name, if released at all. I might decide together with Tim to donate it to the Papervision3D project, but currently I’m not sure on that decision yet; as there would have to be a considerable effort to make it stable for release. As it is unfinished now and publishing source code is somewhat a personal thing when most of it is yours, I’d think this is not what should be done right now. As I am going to pursue my own goals for the time being, this decision might take a while.
I will discuss with the team and Tim closely to see what can be done in the future, but for now, I don’t think it should be released. It might also be better for the team to work on it’s own Flash 10 compatible version of the engine.
Another engine I showed at FOTB was my personal experimental 3D engine Triangle3D. Not at all meant to compete with any of the 3D engine, rather to be my own basis for experimenting with Flash and 3D, this engine might be released through this blog in the nearer future. Again, this is not me splitting off from the team and doing my own thing, this is more or less just giving the community my personal playground for Flash 3D. The engine is far from feature complete, and honestly, I don’t want to focus on that. Rather just build it as I go and need something. This engine will most likely form the basis for my commercial 3D efforts too, as a custom based engine is almost always going to be more focussed on the specific implementation then a more generalized 3D engine API.
All in all, in regards of the Papervision3D project, I would like to thank my fellow team members for all the good times. I would like to thank the community for their beautiful implementations and experiments as well as feedback. You make it all happen! Lastly, as a special member of the team, I would like to thank founder Carlos Ulloa for having me on board in the first place. It’s been a great ride, and I’m sure we’ll be riding our race cars for quite some time, even if we have to build them ourselves.