Minecraft Becomes a Web of Voxels PDF.
- 2021-09-08 Slides by Kenmotsu Nakajima in âTechnologies Supporting Online Games
- Nishio agrees with this interpretation, adding that
- Minecraft in the first place.
- In a 3D virtual space
- We can collaborate.
- platform
- Cannot be ignored when considering the virtualization of physical offices
- Good features: low cost for users to improve the place
- Just as kintone has enabled âany employee can create and improve business applications
- Virtual offices on Minecraft can be created and improved by any employee.
- Minecraft in the first place.
Minecraftâs ecosystem as of 2021
-
Iâll explain this first.
-
vanilla
- An official original release (common noun).
-
MOD (MOD server/MOD client)
- Some were created early on and are still under development (e.g., Forge).
- Modified server and client
- How can you do that without documentation or source code?
- Mojang hired mod authors and developed an API to facilitate mod creation
- Need to match mod versions on client and server
-
Two important elements arose after this
- SpigotMC
- 2012
- A community of mod authors & users advocating free/open source
- More than 300,000 members
- Knowledge sharing is now taking place.
- 2012
- Now available in vanilla client
- SpigotMC
-
Why is it now available to vanilla clients?
- Resource Packâ feature added to vanilla
- Additional model and texture changes can be made to create a new look and feel without modifying the client-side program
- Accumulation of know-how to create additional function GUI with vanilla clients (see below)
- Resource Packâ feature added to vanilla
-
Available in vanilla clients, i.e.
- Without using different software (MOD clients) for each server,
- Serviced by a single software (vanilla client)
-
This is the Webâs
- Without using different software for each server,
- Services are available through a single software (Internet browser)
-
So the same situation was created as
-
Comparing to Web technology
- Common Gateway Interface (CGI) is invented,
- Run the program on the server side.
- Dynamic behavior changes are now possible instead of static content delivery
- This is what happened in Minecraft with the development of the plugin API
- (To put a finer point on it, it runs in the same process as the server, rather than launching a separate process, so the situation is about the same as after mod_perl was born.)
- Server-side implementation can be replaced as long as the API is followed.
- Like turning Apache into Nginx.
- This also occurs in Minecraft
- Nowadays, PaperMC/Paper, which is touted as having improved performance over Spigot, is the mainstream.
- PaperMC/Paper: High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
-
So âMinecraft becomes a web of voxels.â
- Technically, itâs already in that state.
- Whether or not Minecraft becomes the de facto standard is the same as the browser market share battle.
- Different layers of technology
- What company owns Minecraft now?
- September 17, 2014 ASCII.jp: Minecraft acquisition is Microsoftâs âdefensive moveâ
-
It also seems that Microsoft wanted the ecosystem that Minecraft would create.
-
Minecraft is not just a game, but can also be considered a cloud-based digital entertainment platform. The future potential of Minecraft may have been highly evaluated because of its aspects that go beyond the realm of a simple game, such as being not only a game itself, but also killer content for live-action videos and modification content through mods (modification data, an abbreviation for modification).
Minecraft Extensibility
-
Create additional functionality GUI with vanilla client
-
- This is an in-game guide to a big-name industrialization plugin called Slimefun
- It is actually a hack using the UI of a chest (a tool to store items)
- The real chest is like this
- The real chest is like this
- Guide detail screen
- The UI of the chest and the hover text of the items explain what materials a nuclear power plant can be made from and what fuel it requires
- Another example
- This is EconomyShopGUI, a plugin that introduces buying and selling of currency and items, which is also a chest
- Plugin hooks into what is displayed in each slot and which slot is clicked
- This is reminiscent of the âtable layoutâ that used to be done on the web.
- Hack to use the table tag for tabular layouts by removing all the rules and making it not look like a table, since HTML did not have the functionality to allow flexible layouts at that time.
-
-
Plug-in development
- Spigot carefully explains how to make one from scratch.
- Nishio never built from scratch, but modifying existing plug-ins was easy.
- Clone source code from Github
- Install Maven
- Fix source code
- build
- Put it in the server plugin folder and restart the server
- Slimefunâs Programmable Android has been
- It was just a matter of repeating and executing a specified sequence of instructions.
- Enabled Python to run w
- It was just a matter of repeating and executing a specified sequence of instructions.
-
protocol
-
Already analyzed.
-
The chest hack I mentioned earlier would
- What kind of ID each slot in the chest has.
- What packets fly when you click on a slot?
- is known
-
RCON
- Protocol for executing administrative commands
- Can throw packets from another process to execute in-game commands
- https://wiki.vg/RCON
- Some commands are provided by vanilla, others are added by plug-ins
- Examples of vanilla commands:.
- Places a specific block on a rectangle at specified coordinates
/fill <x> <y> <z> <x> <y> <z> <block>
- https://minecraft.fandom.com/wiki/Commands/fill
- In the Java version, the destroy option performs itemization equivalent to mining with a pickaxe.
- Examples of vanilla commands:.
- There is already a small program that throws RCON packets, so it is easy to control the server by throwing packets with cron.
-
-
Bot Development
- PrismarineJS/mineflayer
- GitHub - PrismarineJS/mineflayer: Create Minecraft bots with a powerful, stable, and high level JavaScript API.
- Can write client side in Node.js
- Example of Nishioâs work
- Bots to harvest grown crops and plant new ones
- https://scrapbox.io/files/61517e27f11b61001db4a93b.mp4 js
- PrismarineJS/mineflayer
js
-
Building Export
- Server file format is also known so it can be read or generated programmatically
- Even vanilla actually implements reading and writing to files.
- Using âStructural Blocksâ
-
What Nishio hasnât tried yet
- It should be possible to copy a part of a world and paste it into another world
- Added: Copy&Paste between Worlds.
- It seems that the Java version and the Bedrock version (the version that runs on Switch, etc.) can be connected to the same server.
- https://github.com/GeyserMC/Geyser
- However, the Switch version does not have the ability to connect by specifying an IP address.
-
On Minecraft Bedrock Edition, players on Xbox One, Nintendo Switch, and PS4 are limited to playing on âFeatured Serversâ approved by Mojang/Microsoft. https://github.com/Pugmatt/BedrockConnect
- BedrockConnect Solution
- Server administrator sets up a DNS server
- People who play on Switch will have to tweak their network settings to use that DNS server.
- Thatâs⊠not a way Iâd recommend to anyone for a minuteâŠ
- Added: Connect to Minecraft Java server from Switch.
- I was able to connect, but it was slow.
- It should be possible to copy a part of a world and paste it into another world
Virtualization of physical offices
- A lot of people have moved to remote areas assuming they donât come to work in the after-corona.
- Physical offices became less usable as a place for employee collaboration.
- Many people think about creating a virtual place.
- Related services are myriad, but a few examples will be discussed
- Oculus Room
- Well-built model
- Voice presentation utilizing device features
- But customization is only a small option provided by the app
- VRChat
- Both worlds and avatars are overwhelmingly customizable.
- But if you try to create a world?
- First, install Unity.â
- Many people drop out here.
- Creating your own avatar is even more difficult than modeling, such as making sure the joints do not break down during animation.
- Most people choose from what is available.
- No sense of âbeing myself.â
- Minecraft
- The world is composed of a combination of larger boxes.
- Human-sized buildings are relatively easy to build by stacking blocks.
- Anyone can make small tweaks, such as decorating with flowers.
- Avatar is also a combination of square boxes
- Paint is also coarse pixelated.
- Easy to make by coloring in the browser.
- Example: https://minecraft.novaskin.me/#
- It looks like a complex shape that doesnât look like just a square box painted with color.
- In fact, thereâs one more layer to each body part, and itâs used well for clothing and hair.
- It looks like a complex shape that doesnât look like just a square box painted with color.
- I made one too.
- I donât have a particular idea of what I want to do, so I tried on clothes that I would normally wear. w
- This is basically without layers, only the pupils of the eyes are layered and placed in a non-pixel-like position.
- The world is composed of a combination of larger boxes.
- Not being able to customize it doesnât give it a âfeel of our ownâ.
- Outsourcing customization is expensive, and even if the financial cost is solved, it is a burden to translate requests into language.
- This is the same approach as the popular âemployees create their own business systems using kintoneâ approach.
- Business systems that cannot be customized cannot be fixed even if dissatisfied.
- If you donât like it and outsource the system, itâs expensive, and modifications are also expensive, so in the end you canât fix it even if you are dissatisfied with it.
- Shortfalls in the current Minecraft
- No voice chat
- We need voice chat with only those who have entered a certain distance or only those in the same room.
- Technically, it should be possible to control the Discord audio channel from a pluginâŠ
- Letâs have a party where all employees can get together on the micra!
- This is a technical challenge, although it is easy to anticipate that the idea of
- Limited to 20 simultaneous connections by default
- It is easy to loosen the limit with options, but not easy to test how many people the server can withstand
- No voice chat
Support for IT club activities
-
If you already have a clear idea of what you want to do, then support it.
-
People who do not have a clear idea of what they want to do.
- While games are an incentive, we donât want them to just end up playing games.
-
Thatâs where Micra comes in.
-
It is better to build an automated device than to have a human being repeat a simple task.
- In fact, in an unexplored junior server full of players who can think programmaticallyâŠ
-
Itâs better for a human to learn commands than to repeat simple tasks.
-
Add plug-ins to add useful tools, commands, and new game features
- To do that, you basically need to read the English documentation on Spigot and Github.
-
Plug-ins are open source
- If you donât understand something from the documentation, you need to read the source code.
- Or put an issue on Github.
- Or consult with us in English on our Discord channel.
-
If youâre not happy with the pluginâs functionality, you need to tweak the implementation.
-
and creates an incentive for a seamless modern programming experience from the game.
-
-
In China, they fight with tank robots that eject gel bullets.
- Writing a program that compensates for manual control and creating an incentive to âlearn programming to get stronger and winâ.
- Learn to winâ is the catchphrase.
- To win, there will be an incentive to learn image recognition, etc.
- Learn to winâ is the catchphrase.
- But this approach would be difficult to adopt in Japan because of the strong allergic reaction to anything that reminds them of weapons.
- Peaceful incentives are needed.
- Writing a program that compensates for manual control and creating an incentive to âlearn programming to get stronger and winâ.
-
cost
- Server costs are a bottleneck for Minecraft multiplayer.
- Roughly this kind of cost with Conoha VPS
- Iâm not sure this time, so Iâm trying the middle one for now for 3 months.
- 40,000 a year would be a heavy burden for elementary, middle, and high school students.
- (I thought it would be convenient to have it installed as a template, but it was a vanilla server and I had to stop and re-install it on the first day of the program.)
- Iâm not sure this time, so Iâm trying the middle one for now for 3 months.
- If Cybozu were to provide this?
- Looks good with lower SLAs than business system infrastructure.
- How to avoid simply playing?
- The same scheme as Cybozuâs club support for employees could be used.
- In other words, instead of providing funding, they ask for a report in a shared forum.
- I want you to experience being on the side of disseminating technical information.
- On the other hand, many teacher-parents have negative feelings about posting on the public Internet.
- For example, how about using kintone as a closed social networking service?
This page is auto-translated from /nishio/MinecraftććŒ·äŒ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. Iâm very happy to spread my thought to non-Japanese readers.