Mojang

Minecraft

nina-photolab-6eL_lMJDwjM-unsplash Scrolla till nästa section

Minecraft

I år fyller Minecraft 10 år – hurra!

Detta ville Mojang fira genom att göra om den första versionen av det klassiska spelet, men nu för webbläsaren med moderna tekniker för webben.

Vi på We made you look fick hjälpa våra kollegor på North Kingdom att från grunden bygga och efterlikna den första, publika versionen av Minecraft. Komplett med samma buggar och konstiga beteenden.

North Kingdom byggde 3d-motorn och själva spelets logik och We made you look byggde flerspelarfunktionaliteten och back-end för spelet. Ett fantastiskt roligt projekt att få vara med i!

Gå in och testa på https://classic.minecraft.net/, obs kräver dator. Precis som förr.

Tekniskt

Spelet byggdes med hjälp av WebGL för 3D-renderingen och WebSockets / WebRTC för nätverkskommunikationen. Den spelare som startar ett spel är också den som agerar ”server” i spelet, inga centraliserade servrar användes för själva spelets logik.

WebSockets användes mot en tredjeparts-tjänst, Xirsys, för att anslutande spelare skulle kunna få kontakt med spelets server. När de väl hade fått kontakt med varandra skedde all kommunikation peer-to-peer via WebRTC.

Vidare sparades hela tiden spelets tillstånd ner i webbläsarens Local Storage, vilket innebar att om man hade byggt något man vill fortsätta på så kunde man starta om webbläsaren och ha kvar sitt arbete, eller om spelaren som agerade server av någon anledning försvann från spelet så kunde en annan spelare ta över som server.

Genom att all nätverkstrafik skedde direkt peer-to-peer mellan spelare minimerades eventuella problem med skalning av arkitekturen.

Back-end hade hand om att generera nya unika koder för spel och tillhandahålla anslutande spelare med viss information om hur de skulle ansluta till varandra och vilken server som hade hand om WebSocket-anslutningarna. Detta implementerades på AWS med hjälp av serverless, vilket gjorde att det krävdes minimalt arbete för att sätta upp driftsmiljön.

Många nya tekniker och ett oerhört lärorikt projekt.

INTRESSERAD AV ETT LIKNANDE PROJEKT?

Kontakta oss och diskutera din idé med oss!

Kontakta oss