Over the holidays, I looked briefly into how to extend Minecraft and how to utilize Bluemix. In multiplayer games, it might make sense to understand the personalities of competitors or to understand the personalities of players when forming teams. The Watson Personality Insights service might help.
My colleagues Kyle Brown, Joseph Kozhaya and Srinivas Cheemalapati have written a great four parts series Create cognitive plugins for Minecraft with Bluemix, Docker, and Watson. Their introduction explains well the Minecraft extensibility model and success:
“What single Java program has been used more than any other Java program by a whole order of magnitude?" Hint: It has sold over 70 million copies since it was first released in beta form in 2009. […] An enormous development ecosystem has grown up around this program, and hundreds of thousands of people have been inspired to learn programming in Java – just so they can develop extensions for this program. As you probably guessed from the title, that program is the game Minecraft […]. Minecraft has been a phenomenal success in the marketplace, and part of that is due to its unique structure: you purchase the client (the face of the game) commercially, but the servers are open for extension.”
I followed the steps in the articles to deploy a Minecraft server to Bluemix via Docker. As an example of a multiplayer game, I installed the Bedwars Reloaded plugin. The biggest problem I had was missing permissions. As a shortcut, I gave myself maximal rights in the ops.json file. The following lines are the changes and extensions I had to do to the Dockerfile.
RUN mkdir plugins ADD ops.json ./ops.json ADD server.properties ./server.properties ADD HelloWorld.jar /plugins/HelloWorld.jar ADD BedwarsRel.jar /plugins/BedwarsRel.jar ADD PermissionsBukkit-2.3 /plugins/PermissionsBukkit-2.3 ADD Multiverse-Core-2.4.jar /plugins/Multiverse-Core-2.4.jar ADD KINGDOMS ./KINGDOMS
As described by my colleagues you have to turn off authentication which shouldn’t be done for production environments. Also it looks like most Minecraft plugins have not been developed as cloud native applications. Instead data and configuration is stored on disk and gets lost when Docker instances are deleted.
I followed the instructions in the articles to build my own plugin using Watson Personality Insights. When you enter “/watson showpersonality @Oprah” it displays the values of that Twitter user returned by the Watson service. To make this more useful it would be good not (only) to use Twitter but also the content of previous Minecraft chats.