Minecraft Mods

Case study: Blueprint Strings – jak powstał mod, który zamienia budowle Minecrafta w tekst

Share:
Case study: Blueprint Strings

Problem

Budowanie w Minecraft potrafi pochłonąć dziesiątki godzin. Gdy konstrukcja jest gotowa, pojawia się kolejny problem.

Jak przenieść ją do innego świata?

Jak wysłać znajomemu?

Jak zrobić kopię zapasową?

Dotychczas odpowiedzią były ciężkie pliki świata, schematy zależne od innych modów albo narzędzia zewnętrzne. Wszystkie działały dobrze, dopóki każdy korzystał z tej samej wersji gry i tych samych dodatków.

Chciałem stworzyć coś znacznie prostszego.

https://modrinth.com/mod/blueprint-strings

Pomysł

Inspiracją były klasyczne “blueprint strings” znane z gier takich jak Factorio, gdzie cała fabryka może zostać zapisana jako pojedynczy ciąg znaków i przesłana w wiadomości tekstowej. (Factorio Forums)

Pomyślałem:

A gdyby dokładnie tak samo działało to w Minecraft?

Nie plik.

Nie schemat.

Nie zapis świata.

Po prostu tekst.

Jak działa Blueprint Strings

Gracz zaznacza dwa przeciwległe narożniki dowolnego obszaru.

Mod odczytuje wszystkie bloki znajdujące się wewnątrz zaznaczenia i zapisuje ich:

  • typ,
  • położenie,
  • orientację,
  • dodatkowe właściwości.

Całość zamieniana jest na pojedynczy zapis JSON.

Efekt wygląda jak zwykły tekst, który można:

  • skopiować,
  • wysłać przez Discord,
  • wkleić do wiadomości,
  • opublikować na stronie internetowej,
  • przechowywać w bazie danych.

Drugi gracz wkleja kod do gry.

Minecraft odtwarza konstrukcję w identycznym układzie.

Bez przesyłania świata.

Bez archiwów ZIP.

Bez dodatkowych plików.

Dlaczego tekst zamiast plików?

To właśnie tutaj pojawia się największa przewaga.

Kod tekstowy można wykorzystać praktycznie wszędzie.

Można:

  • publikować gotowe projekty na stronie internetowej,
  • tworzyć biblioteki budowli,
  • dodawać blueprinty do artykułów,
  • wysyłać je przez komunikatory,
  • przechowywać w bazach danych,
  • indeksować przez wyszukiwarki.

To zupełnie inne podejście niż klasyczne pliki schematów.

Powstanie bs.one.pl

Już podczas projektowania moda pojawił się kolejny pomysł.

Skoro każda budowla jest zwykłym tekstem, można stworzyć serwis www działający podobnie do GitHuba, ale dla konstrukcji Minecrafta.

Tak powstał projekt bs.one.pl.

Każdy blueprint posiada własną stronę z:

  • opisem,
  • kategorią,
  • autorem,
  • podglądem,
  • kodem do skopiowania.

Użytkownik nie pobiera żadnych plików.

Kopiuje tekst.

Uruchamia Minecraft.

Wkleja blueprint.

Gotowe.

Wyzwania techniczne

Największym wyzwaniem nie było zapisanie bloków.

Znacznie trudniejsze okazało się zachowanie wszystkich informacji potrzebnych do wiernego odtworzenia konstrukcji.

Każdy blok może posiadać własne właściwości, takie jak kierunek, stan czy wariant. Dodatkowo należało zachować względne współrzędne, aby blueprint można było umieścić w dowolnym miejscu świata.

Drugim problemem była wydajność.

Duże budowle mogą zawierać dziesiątki tysięcy bloków, dlatego zapis musiał być możliwie lekki i szybki do przetwarzania.

Efekt

Blueprint Strings zamienia każdą budowlę Minecrafta w przenośny fragment tekstu.

To rozwiązanie otwiera drogę do tworzenia internetowych bibliotek konstrukcji, prostego udostępniania projektów oraz automatycznego archiwizowania budowli.

Zamiast wymieniać się plikami świata, gracze wymieniają się kodem.

Tak samo, jak programiści od lat wymieniają się fragmentami kodu źródłowego.

Podsumowanie

To projekt, który powstał z bardzo prostego pytania:

Czy budowlę w Minecraft można wysłać tak samo łatwo jak wiadomość na Discordzie?

Okazało się, że tak.

Wystarczy zamienić tysiące bloków w jeden tekstowy blueprint.

Zobacz także: Minecart Chain Train.

Share:

1 Comments On „Case study: Blueprint Strings – jak powstał mod, który zamienia budowle Minecrafta w tekst”

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *