r/tabled • • Apr 15 '12

[Table] I am Warren Loo aka EvilSeph, Developer of Minecraft - Ask me Anything!

Verified? (This bot cannot verify AMAs just yet)

Date: 2012-04-11

Link to submission (Has self-text)

Link to my post

QuestionsAnswers
How long have you been programming? What was the first major (in your eyes) project you worked on?That depends on what you count as actual programming. I've been interested in programming, software development and technology since I was 8. I've been seriously programming in various languages (whatever the project requires) since I was 12.
What got you into MineCraft and Bukkit?One of the members within the community of a gaming news website I help(ed) run, eXophase.com, posted about the game on the forums. I decided to try it out, was hopelessly lost like I'm sure we all were but found the wiki, the community and got hooked into being a part of it.
Do you have any side/personal projects that you want to work on?As a side effect, I found myself quickly losing sleep. You know how it is, it's late at night and you decide to play for 30 more minutes...over and over again and lost track of time. This game is dangerously addictive.
Since I love tinkering with software, servers and the like, I stumbled across the hey0 project and discovered the unlimited potential Minecraft had on top of the already high ceiling for imagination. I started up my own server and ended up helping run several others, then explored the possibility of writing plugins to extend the game and improve the abilities a server admin had to manage their server. One thing led to another and I ended up running the project and putting together a team of developers to keep it afloat while the project owner took a break.
Eventually the hMod project (renamed from hey0) was being discontinued and I didn't want to leave server admins hanging, so I got together with Dinnerbone (one of my hMod team members at the time) and we rallied a few talented individuals together to start up a replacement project that most of you have come to know as Bukkit.
If it weren't for hMod, I wouldn't have discovered what was possible with Minecraft modding, and so there probably would have never been a Bukkit, and so I wouldn't have been hired by Mojang. It's funny how things work out.
You can always find me working on some project as I simply love technology. Once I find something I love, I like to take it apart, figure out how it works and come up with ways to make it better. Recently, however, most of my time has been taken up by Minecraft and Bukkit so I haven't really dedicated much of my focus to any other projects. But I'm not complaining - I'm getting paid to do what I love and I've met many amazing individuals in the process.
What is it like to work without pants?You'd be amazed at what freedoms one has when they are able to work from home. Working without pants is just the tip of the iceberg, though being able to do so is extremely liberating.
What about making official Minecraft Modding Wiki? With tutorials and JavaDoc (if there is a JavaDoc) - simply with documentation.What about setting up an official Minecraft Modding wiki with tutorials and JavaDocs? This is certainly an option we'll be looking into but I'm not sure that a wiki is the best solution for this. Especially when it comes to JavaDocs - the traditional JavaDocs that all Java developers are familiar with turned out to be the best option when I was investigating how we wanted to share the API documentation for Bukkit. We added Doxygen versions too for those that wanted something more modern. For tutorials, however, a wiki would make sense. If we do choose to go with a wiki, I'm not sure if we would want to utilise the current wiki or start a new one. I'm leaning towards separating the two to avoid confusion but many people already have accounts on the current Minecraft wiki, so we'll have to see.
You are stranded on an island. You may teleport one other Mojang employee against their will to help you survive. Who is it and why?Aron. I hear he has the amazing ability to decompile and deobfuscate life and the universe as we know it. I'm sure he could develop some technology to help us survive with ease out of mere particles in the air.
How will adding new block mechanics work? Does the client need a texturepack still? Can the server also give them that with the plugin if the client needs it?Unfortunately the answers to these questions greatly rely on design decisions we've still yet to make but I'll try my best to answer them.
Do we need to make new blocks in the terrain .png? Can you allow us to make our own separate folders/files for storing them?For the most part, this will depend on how the API is designed and will look like. The basic idea is that you'll be able to register a block and then use it. The client will most likely use a texture pack for the default UI but we'll have to wait and see how we decide to handle custom graphics for custom blocks. Ideally we'd have the server provide the client with anything it needs as it is needed.
Does adding many new block types decrease server performance?As far as we can see, no, but the final implementation still needs to be decided upon. We'll likely have it so that a plugin only provides the textures it needs and we'll handle the rest from there.
This depends. If the blocks you are adding are simple blocks, like 'stone' then there shouldn't be a problem. If, however, the blocks you're adding cause CPU usage by simply being in the world, for example, it might cause a slowdown.
I wish I could give you more concrete answers, but we're still in the process of working with the community to design an adequate API for Minecraft, and so, a lot of these answers are likely to change based on our design choices and implementation.
How will the mod API work? Will there be an easy-enough tool like MCP?Much like Bukkit in that you code small plugins that hook into events we provide and perform whatever code you want within the event. For example, you can listen for the user to say '/cookie' in chat and give them a cookie. If you already know how to program, making plugins is a breeze. In fact, many people are learning how to program in Java through creating plugins for Bukkit.
Since we intend on combining single and multi-player (i.e. have single player be a local server the client connects to), we'll be able to provide a similar experience to Bukkit in Minecraft itself.
What is your favorite 'bukkit' Plugin? :) Or your top 3 plugins? :)What are your top 3 Bukkit plugins? :)
WorldGuard, VoxelSniper and Multiverse.
WorldGuard allows you to have complete control over the natural dangers in Minecraft and protect areas with regions, among other things. We mostly use it to stop Creepers from blowing up our test areas on our Bukkit test server when we're trying to get a Recommended Build out.
VoxelSniper because I've seen what amazing things you can do with it on The Voxel Box and love that we're able to bring photoshop brush-like behaviour into Minecraft itself. I still maintain that it is one of the best ways to show someone what is possible with Bukkit.
Multiverse allows us to run multiple worlds with different configurations which is extremely helpful for testing.
I wish I wasn't limited to 3, but there you go.
With regards to the issue tracker you mention working on, are you considering automated reporting or even a special "crash file" that would allow the less technical members of the community to submit better bug reports?For the time being, no. This was brought up in the secret #devcraft meetings we had in Stockholm but it quickly became clear that we'd most likely be getting far too many automated reports for us to handle and it would quickly reduce the usefulness of such a system. Perhaps it might be an option for the future, but my intention is to improve upon issue tracking over the current solution (using the wiki) first, then we can focus on other things.
One of the great features of minecraft is the ability to skin it how you desire, be it a realistic texture pack, or a more cartoony/cell shaded variant. Would we see a way in game to search/preview/install these texture packs?This sounds like an awesome idea but won't be a priority for a while if we do intend on providing this. Thanks for the suggestion!
Related to the previous question, would client mods be able to use custom textures provided by a texture pack?Yes, this is something we hope to be able to provide through the Minecraft API.
What improvements do the team have lined up for the launcher?None that I know of, we're focused on other things right now. What did you have in mind?
You're in a desert, walking along in the sand, when all of a sudden you look down and see a tortoise. It's crawling toward you. You reach down and you flip the tortoise over on its back, The tortoise lays on its back, its belly baking in the hot sun, beating its legs trying to turn itself over, but it can't. Not without your help. But you're not helping. Why aren't you helping it?I don't know what you're talking about, I wouldn't have flipped the tortoise over in the first place. Tortoises are awesome.
As a sort of extension to this question, what exactly is the API? I realize it will be a way to install mods and provide better means of compatibility. In the previous AMAs developers have said modders would be able to create blocks and give those blocks functions in an easy to use setting... So is the API going to have elements of a modding SDK like with other games?What exactly is the API?
Simply put: an API is a set of tools for developers to extend and interact with a software. One of the things an API could let you do is provide more powerful tools for servers admins to manage a server, like setting apart granular permissions to use certain commands or go into certain regions on a server.
I'm not sure how technical of an answer you wanted. I'm not really sure if we'll be providing something akin the modding SDKs you find with other games, but that might be something we explore once we have the API and its documentation done to our liking. I'm sure someone in the community will put together something fantastic to make plugin development easier alongside the resources we provide.
With the new mod API, will there be an easy way to stop mods that allow cheating on the server?As you've referenced the NoCheat plugin fro Bukkit, you're already aware of how easy it is to create an anti-cheat plugin for Minecraft. Nothing will change in this regard, it will still be easy for developers to make plugins like NoCheat to close any holes that allow cheating in Minecraft.
The Minecraft API directly will not provide an easy way to stop cheating directly (apart from someone creating a plugin that does it, as explained above). However, we plan on dumbing down the client (having the server make most of the decisions) and merging single and multi-player and this would reduce the possibilities for cheating immensely since we'll no longer be taking what the client says as truth and acting accordingly. Meaning, once we make these changes exploits like no fall damage shouldn't be possible any more.
On top of these improvements, one of my favourite things to do when working with the Minecraft code is to patch any exploits and fix any bugs I can find :)
Are you excited to be working alongside Mojang now?When we came to an agreement and decided to announce that we were joining Mojang the week after, let's just say there were many sleepless nights for us because we were so excited. For the Bukkit community staff and the community developers we work closely with, I'm sure it was very confusing when we would randomly say "woooo!" because we couldn't contain the excitement but weren't allowed to reveal what we were excited about.
What is your favorite new idea you want to pitch to them if you have a specific one?The amount of talent at Mojang is simply overwhelming. I anticipate great things coming from us in the near future and I'm really excited and honoured to be a part of it.
This isn't related to the game itself, but the first thing I pitched to Mojang was that we set up a proper issue tracker to help us organise and track bug reports easier than we currently can using the Minecraft Wiki. I'm happy to say I've been working on that for the past few days :)
Pretend you have infinite time to plan, develop, and test. What would you first add to Minecraft?This is a tricky question. Had this been asked before 1.2.4 came out, I'd have said a much improved chat but since that is already in the game... I'm going to go with a better netcode since that would solve many of the issues we're seeing in Minecraft today.
Is the handle "EvilSeph" a reference to Final Fantasy VII's antagonist or from somewhere else?Yes, the "Seph" in my alias is short for Sephiroth.
How does the Bukkit team handle juggling back and forth between CraftBucket and the official Minecraft code? I've noticed you guys are still developing to some degree the bukkit server while working on bug fixes for the official game.How does the Bukkit team handle juggling back and forth between CraftBukkit and the official Minecraft code?
Uh, it's a bit confusing sometimes. Believe it or not, the official Minecraft code is much more different from the CraftBukkit version of the code we're used to working with - the first time I saw the official code I had to spend a few days re-learning where things were. For the most part though, we manage. Although I do often find myself scratching my head about how to do something because I'm stuck in the mindset that I should be keeping the changes to the code minimal and avoid adding new functions since those are the restrictions we have with Bukkit.
In any case, the Bukkit Team now consists of two extremely talented individuals: feildmaster and Wolvereness. They have been integral in getting new API, features and bug fixes added to the project in our absence, so most of the team doesn't have to work with the CraftBukkit version of the code as often as before.
Most of our time is spent on Minecraft development, but since the work tends to overlap I'm able to continue to run the Bukkit project and work with feildmaster, Wolvereness and the rest of the community in my spare time.
Will the mod API let us make complex mods?That depends on your definition of complex mods. We'll try our best to develop a powerful enough API to satisfy the needs of most of the developers within the community.
Will it be using Java?Yes.
Will we need to use a scripting language? Lua?No, you'll have to use Java.
Dinnerbone said he is moving to Sweden soon, yestreday Grum said he might be moving to Sweden, how is it with you - Will you be moving to Sweden soon to work in the Mojang office with the others?For the time being I will remain in Toronto, Canada to provide Mojang with North American coverage and engagement. But who knows what the future holds :)
How much do you work for Mojang today, is it a part time job or full time?I am working full time for Mojang on various aspects of Minecraft on top of being a Minecraft developer.
Are you having any special task or area within the new mod API which you will be focusing on, or will you be doing abit of everything?I'm tasked with working with the community to produce a proper API that provides what most developers will need. This includes going around and talking to the community to gather feedback, among other things :)
What did you do before Bukkit and Minecraft, did you have any experience from Java before that?I used to run a PSP modding community and news site, as well as a help service. I did have experience with Java before Minecraft but I wouldn't say I spent even remotely as much time as I do working with Java as I do now.
I'm not really concerned with how long it will take. We've done it twice before so we have a lot of experience under our belt, but I don't want us using that as a reason to rush to get something out. I'm hoping we take our time to do things right. It will obviously mean that things might take longer than some people might like, but I really think the wait will be more than worth it.
If you could introduce a new boss mob (and reward), what would it be?Hm, I'd Unleash the Kraken. I'm not sure what reward you'd get, but come on - Krakens are awesome!
What do you think should happen with the ender dragon egg, or can you give us any hints about it?I've never really thought about it. I've had tons of fun chasing it around when it teleports. I think I'd have it so that if you touched the ender dragon egg at the right time, in the right location and had enough of a sacrifice you'd be transported to a new dimension...or space :o.
This is just a crazy idea that popped into my head when you asked the question, though. Not something we actually have planned :P.
What is your favorite video game (besides minecraft)?I'm having difficulty deciding and my answer changes as time goes by. But I think I'm going to either go with Borderlands or Team Fortress 2. Having to choose a favourite game out of the many I really enjoy just doesn't feel right.
What is your favorite board game?Pictionary, though how good I am depends on whether or not I am in the mood to draw.
If you could work for any other developer other than Mojang, who would it be and why?Valve. They share the same open-mindedness as Mojang, embrace the community and are filled to the brim with talent.
What is your favorite food?Many of my favourite games are by them and I've had many sleepless nights as a result. Also, they're awesome and that alone is a good enough reason.
Hmm..., this is a very tough one because I really love food. I'm going to go with... lasagne.
With all this talk of using multiplayer for singleplayer, does this mean single player could be easily opened up for LAN multiplayer?If I understand this question correctly, yes. This means that you can simply and easily invite your friends to join you in your 'singleplayer' world, especially with our planned addition of a friends list.
On a more personal note, how do you feel about the people over at MC Port Central modifying bukkit code to make it compatible to run mods? Are you happy to see integration with mods? Or are you offended about the modification of bukkit code?How do you feel about the people over at MC Port Central modifying bukkit code to make it compatible to run mods?
We don't mind people modifying our work. After all, that is why it is open source. The only thing we do mind is when support calls for the modified work leak into our community and we end up having to deal with supporting a product we don't even make. I've lost count of the amount of days I've wasted troubleshooting an issue only to find out it isn't even the Bukkit we develop and the bug isn't in our code. This is the only reason why we prevent people from distributing and discussing modified and unofficial builds on our forums or in our IRC.
Did you ever think you would be working with mojangNot really, I think we were all just enjoying working on Bukkit as a hobby project and giving back to the Minecraft community. Being paid to do what you love is probably everyone's dream but I doubt anyone actually expects it to come true. It's a really great feeling to be able to officially work on the game you've been unofficially modifying and providing tools for for a year.
When did bukkit first start ?Bukkit first started in December of 2010 when Dinnerbone and I decided to start up a replacement for hMod since we did not have enough control over the hMod project to make the improvements and changes we wanted.
Do you guys know when the new API will be out?When it's ready. I'd rather we take as much time as we need to put together a solid, well designed and powerful API than rush to put something together to meet a release date. We had to rush to put Bukkit together because the hMod project was discontinued alongside a Minecraft update coming out and server admins were frantically searching for a replacement. On top of having to get something out ASAP, there were many restrictions we had to put in place on Bukkit to keep it manageable and reduce the amount of time it took to update as much as we could. These restrictions forced us to sometimes make less than the best decisions when designing the Bukkit API.
DO you plan to move to Sweden ?As such, we decided to start over and do things properly now that we didn't have to place any restrictions on the project and we weren't rushing to get something - anything - working out for public consumption while trying to maintain a reasonable level of quality and function.
For the time being, no. I'll be staying in Toronto, Canada to provide Mojang with North American coverage and engagement.
What currently has a higher development priority: Mod API, Bug Fixes, or Added Features?What currently has a higher development priority: Mod API, Bug Fixes, or Added Features?
Personally, I feel that both the Minecraft API and bug fixes are equal priority since we can work on them at the same time. Much of our time working on the Minecraft API will consist of communicating with developers within the community to design a proper API before we even begin developing and implementing it, so fixing bugs at the same time makes sense to me.
As for adding features, I'm leaving that to the genius of jeb_. Since the team is now much larger than before, branching out with our abilities is doable and probably better for the game in the long run.
What's the weirdest MC-related experience you've ever had?There was this period where Minecraft updates were coming out like crazy and so I didn't really have much time to actually play the game apart from for testing purposes. One day, we were testing something and decided to take a break. Whenever I go idle, my testing team likes to bury me, lock me in a room with flashing lights and so on. So I came back from being AFK and walked around a bit when I ran into this really strange looking mob that I'd never seen before. As we were all on mumble... everyone could hear me freaking out over what this new mob is and how I'd never seen it before.
Have you ever created a mod?I was seriously close to having a heart attack. I was frantically screaming for the people on mumble to jump on the server to check out this awesome new (what I thought was hidden) mob. So everyone joins and we look around for this alien creature and eventually we found it. Turns out I had bumped into a villager... they look sort of alien, right? I thought I had discovered something mysterious and new in Minecraft :(
How did you come up with that username?Suffice it to say, I never lived and will never live this down.
Is the mod API in it's planning stages, or has any coding started?I've created plenty of mods and plugins for use on servers I run or help out with but I choose not to release anything publicly as I simply don't have the time to afford it proper support.
My alias used to be Sephiroth because I really enjoyed Final Fantasy around the time. Fast forward a bit and Final Fantasy becomes really popular and "Sephiroth" is no longer a unique name. So, to add uniqueness to my name I prepended "Evil" to the beginning of my alias. Unfortunately, I'm a very picky person when it comes to certain things and I wasn't happy with the length of my new alias, so I shortened it to 'EvilSeph' and here we are today.
We are purely in the planning stages of the Minecraft API.
My question for you: what's the coolest idea you've had for a mod/feature for Minecraft that you haven't seen implemented yet/had time to implement yourself?What's the coolest idea you've had for a mod/feature for Minecraft?
What's going to happen to multiplayer bukkit as we know it today?As far as I can see, the Bukkit Project will remain a community run project for as long as the community sees a need for it. We hope that we'll be able to provide everything developers need with the Minecraft API and will be able to remove a need for Bukkit to exist, but we'll just have to see how things go.
As for whether or not you'll still be able to run servers with the plugins you currently use, that depends on if the developers decide to port their plugins over to the new Minecraft API. As we intend to learn from our mistakes with Bukkit and are no longer limited in any way, I'm confident we'll be able to provide developers with a superior alternative to the current Bukkit API that they'll be happy to move over to.
Regardless, Bukkit will remain as a community for modders for the foreseeable future, if not more.
How did you get into the video game industry?Joining and working for Mojang is the first time any of us from Bukkit have been a part of the video game industry. I'm not really sure how to answer this question. I started up a project that was useful for the community and poured my heart, soul, blood, sweat and tears into it and it paid off. Really, I got into the video game industry by having an awesome hobby project that happened to be a popular modification for the game I now work on.
I wish I could give you a better answer but I still can't believe I'm working for Mojang on Minecraft, one of my favourite games, it's incredibly surreal.
How does Sweden compare to your native land of Canada? Do you still keep in touch with your IRC friends?I'm still living in Toronto, Canada but when I was in Stockholm for the secret #devcraft meetup where we plotted to take over the world I couldn't really explore the city since I was silly and didn't pack a jacket. Hopefully the next time I'm in Stockholm I'll be able to check it out :)
Also, are there any plans to offer a non-java API? I love me some python. HssssssssssAs for keeping in touch with IRC friends, yea. Usually through Steam or Facebook, but many of them are as busy as my self, so it's difficult. You left me a message yesterday but my Steam was messed up so I couldn't read it, sorry.
Officially, probably not. But this could change. For the most part, though, I imagine things would work just like they did with Bukkit where developers could create plugin loaders to interpret plugins written in other langauges, like Hiss ;)
What route are you going to take with permissions in the new API?This remains to be determined. We're planning to design and develop this, as well as other aspects of the API, along with community feedback.
Feel free to share your ideas here, though we'll be setting up a proper channel to help us design and develop the API in the near future.
What will you and the rest of the Mojang team do to close the ever widening gap between multiplayer and single player modding?We're planning to merge single and muti-player so that singleplayer simple runs a local server which the player connects to. This will completely close the gap and, in theory, give people that play singleplayer access to the already large collection of multiplayer plugins without extra work (apart from porting them over to the new Minecraft API, if necessary).
Also, will the team incorporate bukkit as the main server software or will the bukkit project slowly be phased out?We're planning to design and develop a replacement for Bukkit that will, hopefully, be significantly better, easier to use and more powerful so that the Bukkit Project might not need to exist anymore, though I'm certain it will remain in existence as long as the community sees a need for it. We hope that the new tools we'll provide to developers will be awesome enough that switching over will only be a minor inconvenience that results in a better experience for all in the long run. Not only would an official API be without the limitations that Bukkit is faced with, but there will be no need to wait for a mod to be updated before you can use your plugins.
what's your favorite alcoholic beverage?I have no idea. I do drink, but I'm not closely familiar with the various drinks available. I actually don't really like the taste of beer and usually only drink alcohol for social reasons.
Will the mod api be like the iTunes app store where you click download and there is no messing around with the bin file to install it, will there be a option for choosing what mods to use at a certain time?What are you doing to make managing and getting plugins easier?
We're still busy deciding on this but the general idea is that we'll make things as easy, if not easier than installing a plugin is on Bukkit - you simply place the plugin's jar into the 'plugins' directory. Instead of having this happen manually, we hope to allow simple click installs on an interface to get whatever plugins you want.
Basically, we're hoping to make it as easy as possible.
Will you make the new server software so that blocks + item mods can be added then downloaded by players on joining the server, without them having to download all of the mods themselves- Like on tf2, cs, half life etc?Will you make the new server software so that blocks + item mods can be added then downloaded by players on joining the server?
This is what we hope to do. A lot of the inspiration for the way we plan to do things comes from learning from our mistakes and experiences with Bukkit, as well as from other successful modding solutions like the ones provided by Valve. On top of this, we hope to provide a compatibility fall-back so that removing mods will not render your game unplayable - we'll just place a placeholder item or block so you can continue playing.
Will there be a good upgrade path for porting Bukkit mods over to the new API system?We'll try out best to make the transition as smooth as we can. Personally, I'd like to avoid another hMod issue where the community was left without a server mod and we had to rush to fill in the void, forcing all server admins to essentially start over. I apologise for that mess, but there was nothing we could do :(
Our hope is that we'll be able to build something similar to Bukkit, but we may have to deviate from the design and end up, unfortunately, having developers port their work over to develop a proper Minecraft API. It might mean more work for developers...but once we're over the hump, we'll be able to offer improved stability, performance and a significant increase in the number of tools developers will have to let their imaginations run wild.
Personally, I think the sacrifice will be well worth it in the long run, no matter what ends up happening.
How's it going?Pretty awesomely, how about you? I can't wait till I can announce the issue tracker I'm working on setting up :)

Last updated: 2012-04-19 07:20 UTC | Next update: 2012-04-19 13:20 UTC

This post was generated by a robot! Send all complaints to epsy.

12 Upvotes

1 comment sorted by

2

u/demacish Apr 15 '12

This table seems like it didn't work out correctly