Hacker News

Zejście, przeniesione do sieci

Zejście, przeniesione do sieci Ta wszechstronna analiza pochodzenia oferuje szczegółowe badanie jego podstawowych komponentów i szerszego systemu operacyjnego Mewayz Business.

5 min. przeczytaj

Mewayz Team

Editorial Team

Hacker News

Descent, legendarna kosmiczna strzelanka o sześciu stopniach swobody z 1994 roku, została pomyślnie przeniesiona do Internetu przy użyciu nowoczesnych technologii przeglądarkowych, a konsekwencje dla tego, jak budujemy i wdrażamy potężne oprogramowanie, wykraczają daleko poza gry. Ten kamień milowy pokazuje, że nawet najbardziej wymagające, złożone starsze aplikacje można przeprojektować pod kątem przeglądarki. Tę zasadę przyjęły przyszłościowe platformy, takie jak Mewayz, aby dostarczać narzędzia biznesowe klasy korporacyjnej całkowicie online.

Czym właściwie jest Descent i jak zostało przeniesione do sieci?

Descent to przełomowa strzelanka 3D wydana przez Parallax Software w 1994 roku, słynąca z dezorientującego ruchu w sześciu osiach przez szyby kopalniane i korytarze statków kosmicznych. W przeciwieństwie do większości strzelanek swojej epoki, Descent oferował prawdziwą trójwymiarową swobodę — obrót, nachylenie, odchylenie — co czyniło grę technicznie złożoną nawet jak na współczesne standardy. Przeniesienie go do Internetu wymagało od inżynierów wykorzystania WebAssembly (Wasm), formatu instrukcji binarnych, który umożliwia uruchamianie kodu C i C++ w przeglądarce z szybkościami bliskimi natywnymi. Narzędzia takie jak Emscripten kompilują oryginalną bazę kodu C w moduły Wasm, podczas gdy WebGL obsługuje potok renderowania 3D w czasie rzeczywistym, którego wymaga silnik Descent. Rezultatem jest w pełni grywalna gra Descent, dostępna z poziomu dowolnej nowoczesnej przeglądarki, bez konieczności instalacji.

Jakie wyzwania techniczne musiał pokonać port sieciowy?

Tłumaczenie silnika gry z ery DOS-u na potrzeby przeglądarki jest zwodniczo trudne. Zespół inżynierów musiał zająć się kilkoma warstwami kompatybilności i wydajności, zanim gracze mogli pilotować swój statek Pyro-GX w jednym korytarzu:

Zarządzanie pamięcią: Oryginalny silnik Descent ze względów bezpieczeństwa bezpośrednio wywoływał pamięć w piaskownicy przeglądarek, co wymagało starannych warstw abstrakcji.

Potok audio: MIDI i cyfrowe systemy audio gry wymagały przemapowania na interfejs Web Audio API, który działa na zupełnie innych modelach wątków.

Obsługa danych wejściowych: Dane wejściowe klawiatury, myszy i joysticka zachowują się inaczej w kontekstach przeglądarki, szczególnie w przypadku zdarzeń blokady wskaźnika i fokusu.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Zacznij za darmo →

Zachowanie trwałości stanu zapisu: Pamięć przeglądarki (IndexedDB lub localStorage) zastąpiła oryginalne wywołania systemu plików służące do zapisywania postępu i konfiguracji gry.

Zasady dotyczące różnych źródeł: zasoby, moduły cieniujące i pliki danych musiały być udostępniane zgodnie ze ścisłą zgodnością z CORS, dodając warstwę infrastruktury, której nie było w oryginalnej wersji.

„Prawdziwym przełomem w przenoszeniu Descent do Internetu nie jest nostalgia — to dowód słuszności koncepcji. Jeśli obciążona fizyką gra 3D czasu rzeczywistego z 1994 r. może działać bezbłędnie w karcie przeglądarki, wówczas praktycznie każde oprogramowanie można przeprojektować na potrzeby Internetu bez poświęcania głębi i wydajności”.

W jaki sposób port Descent odzwierciedla szersze trendy w oprogramowaniu internetowym?

Port internetowy Descent jest częścią znacznie większego ruchu, który na nowo definiuje możliwości przeglądarek. WebAssembly, wprowadzony szeroko około 2017 roku i obecnie obsługiwany we wszystkich głównych przeglądarkach, obalił założenie, że sieć nadaje się tylko do lekkich aplikacji. Obecnie profesjonalne edytory wideo, narzędzia CAD, cyfrowe stacje robocze audio i platformy przypominające pełny system operacyjny działają całkowicie w przeglądarce. Ta zmiana eliminuje problemy z instalacją, zmniejsza zależność od urządzenia i umożliwia programistom natychmiastowe dostarczanie aktualizacji bez konieczności poprawiania lub ponownego instalowania czegokolwiek przez użytkowników. Dla firm oznacza to, że zespoły mogą uzyskać dostęp do w pełni funkcjonalnych narzędzi z dowolnego urządzenia i w dowolnym miejscu — ta sama filozofia napędza platformy typu „wszystko w jednym”, takie jak Mewayz, które dostarcza 207 zintegrowanych modułów biznesowych za pośrednictwem jednego interfejsu opartego na przeglądarce.

Czego firmy mogą się nauczyć z tego, jak Descent został przebudowany na potrzeby Internetu?

Decyzje architektoniczne stojące za portem Descent niosą ze sobą bezpośrednie wnioski dotyczące tego, jak należy budować nowoczesne oprogramowanie biznesowe. Inżynierowie nie próbowali odtworzyć Descent od zera dla przeglądarki — zachowali oryginalną logikę, przetłumaczyli systemy warstwa po warstwie i wykorzystali natywne interfejsy API przeglądarki jako środowisko wykonawcze

All Your Business Tools in One Place

Stop juggling multiple apps. Mewayz combines 207 tools for just $19/month — from inventory to HR, booking to analytics. No credit card required to start.

Try Mewayz Free →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Uznałeś to za przydatne? Udostępnij to.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Rozpocznij darmowy okres próbny →

Gotowy, by podjąć działanie?

Rozpocznij swój darmowy okres próbny Mewayz dziś

Platforma biznesowa wszystko w jednym. Karta kredytowa nie jest wymagana.

Zacznij za darmo →

14-day free trial · No credit card · Cancel anytime