Recently, I had the enormous pleasure of throwing some questions at Robert Kooima (RLK) about Neverball's history and what it's like to hand over a project to community driven development.
In part one, we go over Neverball's origins and the growth of the Neverball community. Part two is also live.
Can you describe the project's evolution from Puttnik through to the 1.5.0 release of Neverball? What inspirations and motivations kept you going?
That's a long story. I would never have thought it notable, but I suppose that if Neverball has evolved into something worth talking about, then the story of it is worth recording. The experience has certainly been valuable to me.
Note: RLK's response to this question was wonderfully detailed and articulate to an extent that it is beyond my editing abilities to reconstitute into something smaller.
To summarise, rlk was first began to write a mini-golf game in June 1999, using QERadiant's as a map editor, and drawing on his previous experience with writing real-time rendering code for the University of Iowa's Advanced Research Computing Service. In 2003, after a period of inactivity, he updated this mini-golf game for use with a virtual reality dome system and renamed it to "Puttnik".
Inspired by Super Monkey Ball, RLK refactored Puttnik early in 2003 to allow for similar environment tilting mechanics and named it "Super Empty Ball". In August of that year, the game was renamed to "Neverball", and posted it to the Linux Game Tome. In spite of an initial wariness of engaging with users whose expectations he may not be able to meet, RLK eventually won over by a player named Mehdi (MYM), who had created Neverball's first custom level.
Through 2004 and 2005, Neverball's popularity continued to grow, and a community of players emerged, creating a website to share and rank replays. In 2006, a forum was added to the community site, and as the gathering of players strengthened and showed interest in developing new features and levels for the game, RLK took a step back from the project to allow the Neverball to grow in the hands of a rich and diverse community.
Please take the time to read RLK's full account here. It's lengthy and detailed, but worth it.
What motivated you to make Super Empty Ball open source? Do you have any specific reasons for choosing GPL2?
There was never any doubt in my mind that my work should be open source. I had been an open source user for many years and I admired its philosophy. I was drawn to contribute to the free software movement, but I never succeeded in making so much as a scratch in the Linux kernel, emacs, gcc, or any of the other notables. If I couldn't contribute to something significant, then perhaps at least I could try to create something significant. Of course I knew that nothing that I could do would be as important as the kernel or the compiler, but there was an obvious gap in open source gaming that I stood a chance of helping to fill.
As for GPL version 2, it was simply the most current version at the time. I do appreciate the viral nature of the GPL under the right circumstances, and I do feel that it's not appropriate in all cases (so I apply the MIT license to much of my output), but GPL was definitely the right choice for Neverball.
Are there any other community developed/maintained projects that you've been involved with?
Yes and no. There have been no other internet-based projects in the traditional Linux-esque open source sense. However, as a scientist and a member of the faculty of a public university, I'm constantly collaborating with people around the world to produce new and interesting things in both technology and education.
What goals did you have for Puttnik/Super Empty Ball when you began? How many of them have been realised, how many of them are still relevant, and how many has Neverball grown away from?
My primary early goal was to produce a stereoscopic virtual reality miniature golf game with a motion sensor attached to a putter. I did all of those things, but never did put them together. My work both with Neverball and with immersive virtual environments grew vastly beyond a simple putt game, so I don't feel there was an opportunity missed.
How did you go about opening up the project to community contribution? Did you find it easy or difficult to allow others to have input and bring their own ideas and priorities to the project?
It was very difficult, but I got past it once I let go of my ego. I think it's an all-or-nothing issue, like pushing a baby bird out of the nest. It's tough but necessary. Once the decision is made, then it's over. I feel that an open source project lead can have either total control or zero control, and anything else will lead to animosity, infighting, and failure.
How have you found the experience of working together with people from other countries and cultures?
Earthlings are easy to work with.
What were the first community contributions and how has the Neverball community grown over time?
There have been two hugely significant contributors to the project. Understand, please, that there have been many very significant contributors to Neverball over the years, and I sincerely hope I don't offend anyone by not including their contribute among the top, but I'm sure that anyone who's been following the forum at all recognizes that the two primary contributors have been MYM (Mehdi Yousfi-Monod) and Parasti (Jānis Rūcis).
How would you compare the strengths and weaknesses of a solo development to community development? What kind of relationship do you think there is between community growth and project growth?
First, it should be fairly obvious that solo development is simply not scalable, and project growth is necessarily bound to community growth. Second, as I learned the hard way, solo development is simply not sustainable after any kind of public awareness has been achieved. Craftsmanship is satisfying, and if that satisfaction is enough, then solo development works. In all other cases, community development is necessary, and will impose itself upon you whether you want it or not.
xpander: Would you be interested in seeing an android port of Neverball? *
Yes, of course. The Android port was the primary motivation for my spending a lot of time and effort porting the engine to OpenGL ES. In general, I would be interested in a port of Neverball to every platform ever, forever.
themacmeister: Do you think the 'frustration factor' of Neverball/Putt's gameplay has stopped the games reaching a mainstream level of popularity and longevity? *
Yes, absolutely, and I don't really care. Audience is only a factor when you're making money. I wish to believe that I wrote the code that I thought would be good, and in the end I'm happy that it was to any degree popular. It might have made sense to pay more attention to user feedback, and to try to tune a more universal experience, but that was never my personal objective. Neverball is hard, but it feels good. It's solid. The interaction is very, very tightly coupled. Given practice, that ball is part of you. If someone doesn't want to take the time to attain that level of connection, fine. But I do.
Thanks for reading!
Questions marked with an asterisk (*) have been submitted by community members/friends/people who are not me.
This interview is of particular significance for me. I've been a semi-active member of the Neverball community since mid 2006. I count RLK as both a mentor and a friend, and it means a lot to be able to relay his thoughts and perspectives.
You can find out more about Neverball and Neverputt at the official website, and you can find the community forums and an online leader board at nevercorner.net. Both games (and their source) are available for Linux, MacOS and Windows from the Neverball website, and Desura. Additionally, Neverputt is available for iPhone and iPod Touch from the iTunes store. Both games have been ported to a further platforms, details of which can be found on the Nevercorner forums.
You can email me at firstname.lastname@example.org
This interview was first published on the 19th of June 2012.