13Aug
Minecraft upgraden om naar de nieuwste functies te gaan is altijd leuk tenzij het je oude kaarten breekt en grote en lelijke voorwerpen creëert. Lees verder terwijl we je laten zien hoe je een oude Minecraft-kaart kunt nemen en deze in een nieuwe versie van Minecraft kunt brengen zonder echte lelijke fouten in je terrein te riskeren.
Wat is het probleem? De enorme en procedureel gegenereerde kaart van
Minecraft wordt gemaakt met behulp van een terreingeneratoralgoritme gevoed door 's werelds zaad( een alfanumerieke reeks die wordt gegenereerd op het moment dat de wereld wordt gemaakt op basis van het systeemtijdstempel of wordt geleverd door de speler).Dit zaadje fungeert als een pseudo-willekeurig getal dat wordt ingevoerd in een complexe vergelijking die vervolgens de Minecraft-wereld rond de speler genereert, brok voor blok.
Dit systeem werkt erg goed, en het is de magische onderbouwing van het Minecraft-universum, waarin spelers kunnen blijven zwerven en rondzwerven met nieuwe heuvels, bergen, grotten en meer die on-the-fly worden gegenereerd om ze te verkennen.
Waar het uitvalt( en waar we vandaag mee bezig zijn) is wanneer spelers een oude kaart van een vorige versie van Minecraft naar een nieuwe versie van Minecraft brengen. De wereldzaad blijft bij de wereldkaart voor de levensduur van die kaart maar wat het algoritme voor het genereren van terreinen op basis van dat zaad aanzienlijk kan veranderen tussen belangrijke Minecraft-versies.
Dit betekent dat als je een kaart laadt die gemaakt is in Minecraft 1.6. * In Minecraft 1.8. * Dan zijn de overgangsgebieden tussen het gebied dat je al hebt verkend en de nieuwe gebieden die je in de toekomst zult verkennen erg lelijk, omdat de terrein generatorgenereren volledig niet-overeenkomende terrein. Bergen zullen pure gezichten in oceanen duiken, vreemde perfect vierkante stukken bos verschijnen in woestijnen en andere lelijke voorwerpen verschijnen op je kaarten.
Laten we eens kijken hoe lelijk dat kan zijn door het laden van een kaart met Minecraft 1.6.4 te laden en vervolgens in Minecraft 1.8.3 te laden. Ten eerste, hier is een screenshot van onze voorbeeldkaart. Het zaadje voor onze kaart, als je thuis mee wilt spelen, is 1261263041493870342. Voor informatie over het gebruik van zaden, bekijk je onze Minecraft-les Aangepaste kaarten maken.
Laten we eerst onze methodiek benadrukken. We hebben de kaart in de Creatieve modus geladen en recht omhoog vanaf ons startveld gevlogen. De weergaveafstand is ingesteld op "Ver"( vroege versies van Minecraft stonden geen numerieke, op chunk gebaseerde weergaveafstand toe, maar we weten dat ver gelijk is aan een weergaveafstand van 16 chunks).Dit betekent dat er rondom ons spawn-punt een raster van 32 × 32 chunks is gegenereerd door de terreingenerator.
Nadat we deze kaart hebben gemaakt, hebben we gewacht tot alle brokken zijn gegenereerd en onze weergave in alle richtingen. Vervolgens hebben we uitgelogd en dezelfde kaart geladen in Minecraft 1.8.3 en onze kijkafstand ingesteld op 32 chunks. Na te hebben gewacht op de af te leggen afstand vlogen we rond de rand van de oude kaart( ongeveer 16 brokken verwijderd van het midden) en keken we naar waar de randen van de kaart gegenereerd met het oude algoritme samengevoegd met de nieuwe. Ken je het dorp dat je in de verte in de woestijn boven kunt zien? Het heeft nu een nogal eigenaardige kustlijn.
De bovenstaande screenshot werd genomen nadat hij naar de andere kant van het woestijndorp was gevlogen en vanaf het nieuw gegenereerde terrein terugkeerde naar het midden van de kaart. De oude generator las het zaad en zei: "Maak dit gebied een woestijn!" Maar de nieuwe generator zei: "Maak dit gebied een oceaan!" Je ziet de scherpe lijn horizontaal lopen die het oude terrein van het nieuwe afbakent.
Als dat niet glitchy en lelijk genoeg voor je is, overweeg dan deze screenshot vanuit het oerwoudgebied ten noorden van het spawn point en het dorp in de bovenstaande afbeelding.
Daar is het, een groot prachtig bergachtig jungle-bioma. Laten we eens kijken hoe geweldig het er vanaf de andere kant uitziet.
Lovely. Meer oceaan en, dankzij de hoogte van het gegenereerde terrein voordat we de oude kaart in de nieuwere versie van Minecraft hebben geladen, is de daling van de top van de jungleberg naar de oceaan eronder ongeveer 50 blokken. Misschien moeten we dankbaar zijn dat de glitch een oceaan heeft opgewekt en geen veld, want zo'n drop zou ons zeker hebben geholpen.
Voor het geval je er nog steeds niet van overtuigd bent dat het teruggeven van glitches niet helemaal afschuwelijk is, laten we dan de hulp inroepen van onzeoude vriend Mapcrafter geeft een 3D Google Earth-stijlweergave van de kaart die we momenteel aan het verkennen zijn om u te laten zien hoe echt brutaal de botsende terreingeneratoren werkelijk zijn.
Wat we kunnen vaststellen aan de hand van deze topdown-weergave, is dat het zaadje in de 1.6.4-generator een gebied rond het spawn-punt wilde maken dat een kruispunt was tussen jungle, woestijn, vlaktes en taigasneeuwbossen. Wat de 1.8.3-generator op die exact dezelfde plaats wilde creëren, is een enorme oceaan met een spatten van kleine eilanden en een grote( zoals te zien in het lagere gebied) landmassa met bergen en bossen.
Toen de twee tegen elkaar botsten zei Minecraft in wezen: "Ok, deze brokken bestaan al, dus we zullen niet proberen ze opnieuw te genereren, maar de speler heeft nieuwe -brokken nodig, dus we zullen de generator van de huidige versie toepassen." Het resultaat is devreselijke mishmash zie je hierboven.
Nu zijn we de eerste om u te vertellen dat ons perfecte 32 × 32 plein op de juiste plaats een extreem voorbeeld is waarbij de randen pijnlijk duidelijk zijn. We hebben met opzet een kleine vierkante kaart in Minecraft 1.6.4 gemaakt om de extreme veranderingen tussen het oude en nieuwe terrein hyper te accentueren en te lokaliseren om het voor je te laten zien.
Een "geleefde" kaart waar je organisch hebt onderzocht en het spel speelt, heeft niet zo'n perfecte vierkante vorm, maar zal in plaats daarvan allerlei vorken, bochten en dergelijke hebben waar je zonder grondig te zijn verplaatst op de kaart bentelke inch edge-to-edge onderzoeken. Dit soort kaarten zullen uitgebreide glitches hebben langs de uitgebreide randen, evenals zakken met glitches in de binnenkaart waar de speler nooit waagde en dus geen brokken werden gegenereerd. Ook zij, de ontbrekende interne chunks, zullen last hebben van generatiestoringen die vreemde artefacten achterlaten( zoals een perfect vierkant stuk woestijnzand in het midden van een besneeuwde biome).
Gelukkig voor ons allemaal, er is een heel slimme tool die fantastisch werk verricht door de naden glad te strijken tussen het oude terrein gegenereerd door een vorige versie van Minecraft en het nieuwe terrein gegenereerd door de nieuwe versie. Laten we eens kijken hoe we onze kaarten kunnen redden van een leven van lelijk uitgewist terrein.
Terreinovergangen gladstrijken met MCMerge
MCMerge is een open source Minecraft-editor die één ding en één ding heel goed doet: het masseert zorgvuldig de randen tussen oud terrein en nieuw terrein, zodat de overgangsruimte een lichte helling is naar een rivier die verenigtde twee biomen zonder de schokkende en onnatuurlijke overgangen die we in de vorige paragraaf zagen.
U implementeert MCMerge tussen upgrades zodat het de grenzen van uw oude kaart kan leren en in kaart kan brengen, u de kaart in de nieuwe -versie van Minecraft laadt en wat onderzoek uitvoert( of een tool zoals Minecraft Land Generator gebruikt om deop verkenning voor jou met automatische chunk-generatie), en dan loop je MCMerge opnieuw, en het traceert over de naden tussen het oude terrein en het nieuwe terrein, beeldhouwen ze in natuurlijk ogende valleien en spleten met een rivier aan de onderkant, zodat je overgangenniet langer lijken op gebroken porselein, maar natuurlijke landschapsarchitectuur.
Laten we de hierboven beschreven reeks gebeurtenissen opsplitsen en de overgangen illustreren met schermafbeeldingen en renderings om te benadrukken hoe de veranderingen vorm krijgen.
Selecteer uw kaart
Voor de doeleinden van deze tutorial hebben we ervoor gekozen om dezelfde seed en dezelfde voor en na Minecraft-versies te gebruiken als in de vorige sectie: Minecraft 1.6.4 en Minecraft 1.8.3.Het enige verschil is dat we de kaart met hetzelfde zaad hebben gerecupereerd en vervolgens op een meer organische manier rondzwierven in de overlevingsmodus om een natuurlijkere kaartvorm te creëren( en niet het perfecte vierkant dat we eerder hebben getoond).
Zo ziet de instructiekaart er uit in Mapcrafter.
We hebben ingezoomd op de zuidwestelijke rand waar we later gemakkelijk zullen zien waar de nieuwe naad wordt gladgestreken.
Welke van je kaarten je ook kiest, het is belangrijk dat je in geen geval de kaart van je oude versie van Minecraft in de nieuwere versie van Minecraft laadt en exploreert, totdat je de eerste ronde van het MCMerge-proces voltooit, omdat dit onherstelbare gevolgen kan hebbenglitches naar uw kaart.
Ook voordat u verdergaat, is het belangrijk dat u een back-up van uw geselecteerde kaart hebt gemaakt voor bewaring. We hebben geen problemen gehad met MCMerge of wat dan ook met een van de vele bewerkingshulpmiddelen voor de wereld die we in de loop der jaren hebben gebruikt, maar het is altijd beter om veilig te zijn dan sorry.
MCMerge
downloadenU kunt een kopie van de meest recente editie van MCMerge downloaden via het officiële MCMerge-onderwerp op de Minecraft-forums. De download is beschikbaar in twee smaken, de Python-code voor Mac OS X, Linux en andere OS-gebruikers( wat betekent dat je Python moet downloaden en installeren voor je besturingssysteem en een handvol afhankelijkheden die in het readme-bestand staan) of de vooraf gecompileerde Windowsversie die alleen vereist dat u het Microsoft Visual C ++ 2008 Redistributable Package( x86) downloadt als dit nog niet op uw computer is geïnstalleerd.
Opmerking: Voor deze zelfstudie gebruiken we de Windows-versie;voor degenen die samen met de Python-versie volgen, vervang eenvoudig "mcmerge.exe" in alle opdrachten die volgen met "python mcmerge.py" als vervanging. Alle extra opdrachtschakelaars en modifiers blijven op hun plaats.
Kopieer de opslagmap van de wereld waarmee u wilt werken in de /MCMerge/-map voordat u doorgaat.(bijvoorbeeld Als uw wereld "Funland" wordt genoemd, moet er nu een map /MCMerge/Funland/ zijn.)
De initiële MCMerge-pas uitvoeren
Met de opslagmap in de /worlds/-map is het tijd om door te gaan naar het uitvoeren van de eerste doorgang. Dit is de fase van de procedure waarin MCMerge een contourtracé langs de bestaande kaartgrenzen uitvoert en een aantekening maakt van welke delen direct op de rand van de onderzochte wereld liggen.
Voer de volgende opdracht uit om vanuit de /MCMerge/-directory de trace uit te voeren via de opdrachtregel waarbij "world" de naam is van uw world save-directory.
mcmerge.exe trace "world"
Het traceringsproces is behoorlijk pittig, zelfs voor grote werelden, en je krijgt een uitvoer zoals deze.
Bestaande wereldcontouren verkrijgen. ..
Wereldcontour traceren. ..
Wereldtellingsgegevens opnemen. ..
Wereldcontourdetectie voltooid
Op dit moment heeft MCMerge de gegevens die het nodig heeft. U kunt het proces bevestigen door in uw werelddirectory te kijken, er zou nu een nieuwe map moeten zijn met de naam "## MCEDIT.TEMP ##" en bestand genaamd "contour.dat".Als de opdracht tot een fout leidt en / of er geen extra bestanden in de map verschijnen, moet u de opdracht mogelijk als beheerder uitvoeren.
Nieuwe stamgegevens genereren
Als het contourproces is voltooid, laadt u de Minecraft-kaart in de nieuwe -versie van Minecraft. We kunnen niet genoeg benadrukken alsof je het laadt met de originele versie van Minecraft, je zult de nieuwe biomen niet krijgen van de nieuwe terrein generator;je krijgt de oude biome-gegevens die het hele proces waardeloos maken omdat je helemaal opnieuw moet beginnen.
Er zijn twee manieren om de nieuwe chunk-gegevens te genereren. Je kunt het spel echt spelen en rondvliegen in de creatieve modus, de grens van je wereld volgen en nieuwe gegevens laden. Als je een heel kleine kaart hebt zoals die we gebruiken voor deze tutorial, is dat een perfect plausibele methode.
Als u een grotere kaart hebt, kan het proces van het verkennen van de oude wereldgrens variëren van uren tot dagen. Verder kun je de eigenlijke verkenning overslaan uit angst voor het bederven van verrassingen in een kaart van de overlevingsmodus. Daarom is het handig om de Minecraft Land Generator te gebruiken om automatisch kaartgegevens te laden zonder dat je het spel hoeft te spelen en handmatig moet verkennen.
Als u niet alle grenzen wilt verkennen en de Minecraft Land Generator meer aan het veranderen is dan u nu wilt doen, hoeft u zich geen zorgen te maken. De contourgegevens die we in de laatste stap hebben gemaakt, vervallen niet, omdat deze precies de omtrek van uw oude kaart in kaart bracht. U kunt de samenvoegfunctie in de toekomst zo vaak uitvoeren als u wilt, omdat u gebieden blootgeeft die niet goed worden weergegeven.
Na het voltooien van de contourpas, kopieert u uw wereldgegevens terug naar uw Minecraft-map en laadt u de kaart met de nieuwe -versie van Minecraft. Loop rond de randen van de kaart totdat je eindigt met het soort gekartelde en lelijke naden in de afbeelding hierboven.
Als je eenmaal de kaart hebt verkend en de nieuwe chunk-gegevens hebt gegenereerd, is het tijd om de opschoningspas uit te voeren.
Chunk-gegevens samenvoegen
De laatste stap van het proces is het kopiëren van het opslagbestand uit uw Minecraft-opslagmap( nu u de nieuwe gegevens hebt gegenereerd met de nieuwe versie van Minecraft) terug naar de /MCMerge/-map waarin u werkte.
Voer de volgende opdracht uit met het bijgewerkte kaartbestand:
mcmerge.exe "world"
samenvoegenLeun achterover en ontspan. Het proces op een kleine wereld duurt maar een paar minuten, het proces op een hele grote wereld kan het grootste gedeelte van een uur of langer duren. Wanneer het proces is voltooid, kopieert u het opslagbestand uit de MCMerge-map terug naar uw Minecraft-map en slaat u het op. Uw pas bijgewerkte wereld heeft nu radicaal soepeler overgangen tussen biomen zonder gekartelde en schokkende overgangen tussen oud en nieuw terrein.
Weet je nog hoe duidelijk de overgangen in de bovenstaande weergave waren? Laten we kijken naar een nieuwe weergave van de nieuwe kaartgegevens met de samengevoegde randen op zijn plaats.
Helemaal niet slecht. Het is moeilijk te zeggen hoe soepel alles er van boven in de lucht uitziet, dus laten we zoomen en een plek vergelijken vanuit het perspectief van een game. Hier is een locatie waar een duidelijk en lelijk traptredenpatroon was waar het bos het oceaanbiomeer ontmoette en vervolgens, in hetzelfde zicht, een lelijke naad tussen het vlaktesgebied en het berggebied.
In de vaste kaart van MCMerge, die je onder een iets andere hoek ziet, die de veranderingen echt laat zien, wordt de kustlijn gehakt en gevarieerd en wordt de naad tussen de vlaktes en de bergen gefixeerd met een rivier en een hoogteaanpassing aan de rand van debergbiomeer.
Wat een heel duidelijke doorn in het oog was, zou betekenen dat het spel uit het oog was verdwenen en nu in de Minecraft-wereld thuis is, geen vragen gesteld. Zelfs als je een lange en lineaire naad hebt om te verbergen, ziet het er nog steeds natuurlijk uit.
In de onderstaande schermafbeelding ziet u een plek, tientallen brokken lang, waar twee biomen elkaar in een zeer rechte lijn ontmoetten. Hoewel de gegenereerde rivier er een beetje onnatuurlijk uitziet gezien de normaal meanderende aard van de Minecraft-rivieren( en een speler met een scherpe oogopslag zou het ongebruikelijk rechte karakter van een hoog uitkijkpunt opmerken), ziet het er nog veel natuurlijker uit dan een perfect rechte lijn die de grens markeert.tussen de twee biomen.
Bij perfect rechte naden doet MCMerge een taak die zeker goed genoeg is om de naden schoon te vegen en op te romen( zodat ze alleen zichtbaar zijn vanuit de lucht of in een weergave naar de lijnen).Bij het omgaan met meer organische en zwervende randen van de kaart is de schoonmaaktaak vrijwel niet op te sporen.
In de tutorial van vandaag gebruikten we de standaardinstellingen onder minder dan ideale omstandigheden( onze kaart had een mix van zowel scherpe rechte randen als meanderende traptreden) en we hadden nog steeds geweldige resultaten. Als u MCMerge op een grotere, meer organisch onderzochte kaart uitvoert en u zich verder bezighoudt met de samenvoegingsopties( controleer het readme-bestand om te zien hoe u het fuzzing-algoritme, de diepte van de riviervallei en de omringende hoes kunt aanpassen, enzovoort), kunt umaak samengevoegde randen zo natuurlijk van uiterlijk dat ze gemakkelijk te vergeten zijn, zelfs als de persoon die ze heeft ingevoegd, waar ze waren.
Heeft u een dringende Minecraft-vraag groot of klein? Schiet ons een e-mail op [email protected] en we zullen ons best doen om het te beantwoorden!