CraftBuzz recently had the opportunity to interview William Teder, the founder of the popular Minecraft: Pocket Edition server Lifeboat. Teder, who is known online under the alias “williamtdr,” started the server at a very young age and was encouraged by his father, Rein Teder, to further develop his project. While William has since left Lifeboat to pursue other opportunities, his father’s corporation, Hydreon, still owns and maintains the server. The following questions delve into William’s motivation and history in the MCPE and Pocketmine communities, and analyze how he became a successful entrepreneur in the Minecraft world.
BUILDBLOX: When did you start programming?
WILLIAM: That’s a tough question to answer, because it took a couple tries to stick! My first experience with programming was when I was seven years old, using Visual Basic 6 on one of my dad’s old computers. The most complex project I ever made in that language was for my sixth grade tech ed project, when I made a retro semi-3D racing game – think Pole Position but simpler. Before Lifeboat, I wrote some scripted programs: Cookie Clicker ported to Ti-Basic on my calculator (6th grade), and a game for my mp3 player (in lua) that was somewhere between robotfindskitten and Notch’s minicraft (7th grade). But Lifeboat was my first big project, and we wrote the first code for that when I was in 8th grade.
B: How were you introduced to the Minecraft: Pocket Edition community, and later to Pocketmine?
W: Before MCPE, I had many happy memories playing Minecraft on the PC. I went on survival adventures with friends from school where I built some pretty cool redstone contraptions – the sand duplication glitch still existed at that point, and I had automatic sugar cane and melon farms as part of my house. We also built some pretty cool bases on faction servers, and played minigames on the mcpvp servers. And it was wanting to play those minigames on my Android device that drove the creation of Lifeboat. I did some googling and found that there weren’t minigame servers yet, and that people were just port forwarding their game’s built in server and setting up a time to play. A bit more searching found Shoghi’s Pocketmine project on GitHub… I hopped in the associated IRC chat, and started learning and trying to contribute. Then Lifeboat was made!
B: Why did you choose to start Lifeboat, and around when did it begin to substantially grow?
W: I wanted to play minigames against my friends on MCPE, and there wasn’t any server where I could do that yet – like many apps and services, it started out as something the developer wanted to use. Our most substantial growth was in summer 2015, when we hit our 55-60k player counts and had come up with some good systems to distribute players.
B: Who has been your biggest ally in your projects?
W: By far Ethan – who wrote much of the code for our first launch as well as hosted it. We continued to build the server software and plugins together throughout the project, and nowadays we still go to hackathons and build prototypes together. We often pick up different specialties, and so it’s great to work with him on projects. After so many years of working together, we know each other’s programming style and can divide and conquer a project pretty quickly.
B: Your father has played a large role in supporting your projects. Did he always encourage you to pursue Minecraft-related ideas? If not, when did he begin to get involved?
W: Only a few days after we launched! When I explained the project and the player counts we were seeing so early on, he got us a dedicated server to rent so we could support more players than Ethan’s internet connection could handle. More than the specifics of the project, I think he was happy to see me finally doing something productive on the computer 🙂
B: How do you feel about shoghicip (who is now a Mojang employee) abandoning the Pocketmine project?
W: Shoghi is a pretty impressive guy. He built a large part of Pocketmine himself, and supported it for quite a long time. We still talk every now and again, although it’s not work related. I think it’s great he’s found a position at Mojang, and his massive contribution to that community has been recognized. I don’t think abandon is really the right word here. With the introduction of MiNET, Steadfast/Katana and other forks, as well as paralllel efforts in other languages – there’s more server software to choose from that’s being actively maintained. Shoghi chose to give a ton of his time and resources towards building up the multiplayer community for Pocket Edition. We should be grateful for his contributions.
B: Are the new developers of the Pocketmine reboot sufficiently working on the platform? Will it match or possibly surpass the quality of the original Pocketmine?
W: I’ll confess I haven’t kept up with that side of the community too well – the last I checked, everyone was copying each others’ github repos and renaming them. Both of the forks we made were for performance reasons, and were the direct result of profiling the server software and seeing what we could optimize. We often disabled or took out parts of the server software aimed at servers for more personal use or for survival mode in favor of performance gains. There are still good developers out there working on the forks and adding new features from the game – but I wouldn’t be able to endorse any particular project.
B: Do you personally agree that PHP was, in fact, the best programming language for a Minecraft server platform?
W: Pocketmine definitely pushed the limits of what PHP could do. A long-running game server program isn’t similar to the blogs, APIs, and other PHP applications in terms of requirements. I was impressed by how much the PM developers were able to do with the language, but it always felt like a limitation (blocking IO everywhere and the amateurish thread system were never great). On the other hand, PHP is a language that’s more approachable to new developers than many others, and I think that helped the plugin community grow so quickly.
B: Is the Pocket Edition server community still as large as it was during the height of Lifeboat’s activity (2014-2015)?
W: For a while it was stagnating. But with the launch of the MCO program and some integration into the game, I’d imagine that it’s going to get much larger and more competitive soon.
B: Now that you’ve gradually left the Lifeboat community, what have you been dedicating your time to?
W: This last summer I took an internship at Microsoft, working on the Mixer team making livestreaming services. Before that, I was the lead developer for a robotics team – working on some pretty cool computer vision-based scoring programs. I also attend as many hackathons as I can, even travelling out of state. There’s a collection of some of the projects I’ve built on my website (tdr.moe). But most recently, my time has been going towards my classes. I’m pursuing a Computer Science degree at the University of Minnesota, and my five courses keep me pretty busy.
B: If there was one thing you took away from your time in the Minecraft community, what was it?
W: How fun it is to be working on a project that people are excited about. I loved tweeting whatever I was expreimenting with or working on, just to get some early feedback and reactions from our players. And it was great to hear some of the community’s ideas and integrate that into what we built. I also loved seeing how far some players took the gameplay – for example, I once got a screenshot from Lifeboat inifnity where about twenty-five players were circled around a chest in their base before a raid. Or how they found some small glitches in the shop pricing to generate gold. Seeing the players get that involved with the servers we were making made it fun to work on.
B: What’s your favorite linux distribution and programming language, and why those in particular?
B: You started your server at a young age, and there are many, many aspiring block gamers like you who wish to start their own servers and develop their own ideas. As a successful entrepreneur, what tips would you give them?
W: Find your local engineering communities and see if you can connect with people there. Getting started is really difficult, and it really helps if you can find a mentor that can answer your questions and introduce you to projects and people. Even as a beginner, you can often find sessions at your library, or a hackathon focused on learning (like CodeDay) that can teach you how to make a game or move around a robot. Consider getting involved on a robotics team – that’s a great environment to learn what it’s like building a project as part of a group. There’s so many fun ways to get involved with programming and technology these days, and by connecting with the right people you can learn fast.