Hacker News

Fluorite – silnik gier klasy konsolowej, w pełni zintegrowany z Flutter

Fluorite – silnik gier klasy konsolowej, w pełni zintegrowany z Flutter Ta wszechstronna analiza fluorytu oferuje szczegółowy ex — Mewayz Business OS.

5 min. przeczytaj

Mewayz Team

Editorial Team

Hacker News

Fluorite to silnik gier klasy konsolowej, stworzony do natywnej i płynnej pracy w środowisku Flutter, umożliwiający programistom tworzenie gier o wysokiej wydajności bez konieczności porzucania znanego im już ekosystemu międzyplatformowego. Wypełniając lukę pomiędzy profesjonalnym renderowaniem a reaktywnym modelem interfejsu użytkownika Fluttera, Fluorite stanowi znaczący krok naprzód dla twórców gier, którzy chcą dostarczać gry na urządzenia mobilne, komputery stacjonarne i Internet z jednej bazy kodu.

Czym dokładnie jest fluoryt i jak integruje się z trzepotaniem?

Fluorite to silnik gier o otwartej architekturze, zaprojektowany od podstaw do działania w drzewie widżetów Fluttera, zamiast go zastępować. W przeciwieństwie do tradycyjnych silników, takich jak Unity czy Unreal, które traktują Fluttera po namyśle lub wymagają hacków na platformie, Fluorite osadza swój potok renderowania bezpośrednio w kompozytorze Fluttera. Oznacza to, że programiści zachowują pełny dostęp do systemu widżetów Fluttera, struktury animacji i narzędzi do zarządzania stanem, jednocześnie uzyskując dostęp do systemów komponentów encji, symulacji fizyki, wykresów scen i renderowania opartego na modułach cieniujących, zwykle zarezerwowanych dla natywnych silników konsolowych.

Integracja jest dwukierunkowa: obiekty gry Fluorite mogą wchodzić w interakcję z widżetami Flutter, a widżety Flutter mogą nakładać się na zdarzenia w grze lub reagować na nie. Ta decyzja dotycząca architektury eliminuje długotrwałe tarcia między „warstwą gry” a „warstwą aplikacji”, które od lat frustrują twórców gier Flutter.

Jakie podstawowe mechanizmy zapewniają wydajność konsolową Fluorite?

Fluorite osiąga wydajność na poziomie konsoli dzięki kilku starannie zaprojektowanym systemom wewnętrznym, które działają w harmonii z potokiem renderowania Flutter:

Niestandardowe obiekty renderujące: Fluorite rozszerza drzewo RenderObject Fluttera o niskopoziomowe grupowanie wywołań rysunkowych i renderowanie instancyjne, co radykalnie zmniejsza obciążenie procesora graficznego w złożonych scenach.

Architektura Entity-Component-System (ECS): Silnik wykorzystuje przyjazny dla pamięci podręcznej ECS, który przetwarza komponenty w sąsiadujących blokach pamięci, poprawiając przewidywanie gałęzi procesora i wykorzystanie pamięci podręcznej.

Kompatybilność Skia i Impeller: Fluorite jest kompatybilny zarówno z backendem renderującym Impeller firmy Skia, jak i nowszym Flutterem, zapewniając programistom przyszłościową wydajność na iOS i Androidzie.

💡 CZY WIESZ?

Mewayz replaces 8+ business tools in one platform

CRM · Fakturowanie · HR · Projekty · Rezerwacje · eCommerce · POS · Analityka. Darmowy plan dostępny na zawsze.

Zacznij za darmo →

Integracja wykresów cieniujących: Wbudowany wykres cieniowania GLSL/WGSL kompiluje się bezpośrednio z interfejsem API modułu cieniującego Flutter, umożliwiając dynamiczne oświetlenie, efekty przetwarzania końcowego i systemy cząstek bez opuszczania ekosystemu Dart.

Pętla fizyki o stałych krokach: oddzielona symulacja fizyki działa w ustalonych krokach czasowych, niezależnie od liczby klatek na sekundę, zapewniając deterministyczne zachowanie krytyczne dla tytułów opartych na rywalizacji i trybie wieloosobowym.

„Fluorite nie prosi Fluttera, aby stał się czymś, czym nie jest — prosi Fluttera, aby stał się wszystkim, czym już mógłby być. Rezultatem jest silnik gry, który wydaje się natywny dla frameworka, a nie przykręcony do niego”.

Jak fluoryt wypada w porównaniu z innymi podejściami do tworzenia gier Flutter?

Przed Fluorite tworzenie gier Flutter w dużej mierze opierało się na Flame, lekkim silniku 2D, który dobrze sprawdza się w prostych grach, ale nie radzi sobie z wymaganiami scen 3D o jakości konsolowej, złożonej fizyki lub dużych otwartych światów. Fluoryt należy do zupełnie innej kategorii. Podczas gdy Flame można porównać do silnika sprite'ów 2D, Fluorite jest bliższy Godotowi lub Bevy'emu - ale z Flutterem jako środowiskiem hosta, a nie niestandardowym systemem okienkowym.

W porównaniu do osadzania Unity poprzez podejście Unity as a Library (UaaL), Fluorite eliminuje narzut związany z przełączaniem kontekstu, nadmierny rozmiar aplikacji i złożoność debugowania, które wynikają z uruchamiania dwóch oddzielnych środowisk wykonawczych w tej samej aplikacji. Wszystko w Fluorite jest natywne dla Dart, co oznacza, że ​​ładowanie działa na gorąco, profiler Dart DevTools przechwytuje dane silnika, a potok kompilacji pozostaje ujednolicony na wszystkich platformach docelowych.

Jakie kwestie związane z implementacją w świecie rzeczywistym powinni wiedzieć programiści?

Deweloperzy wdrażający Fluoryt do projektów produkcyjnych powinni wziąć pod uwagę kilka praktycznych realiów. Najpierw kompilacja shaderów

Ready to Simplify Your Operations?

Whether you need CRM, invoicing, HR, or all 207 modules — Mewayz has you covered. 138K+ businesses already made the switch.

Get Started Free →

Wypróbuj Mewayz za Darmo

Kompleksowa platforma dla CRM, fakturowania, projektów, HR i więcej. Karta kredytowa nie jest wymagana.

Zacznij dziś zarządzać swoją firmą mądrzej.

Dołącz do 30,000+ firm. Plan darmowy na zawsze · Bez karty kredytowej.

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

Gotowy, aby wprowadzić to w życie?

Dołącz do 30,000+ firm korzystających z Mewayz. Darmowy plan forever — karta kredytowa nie jest wymagana.

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-dniowy darmowy okres próbny · Bez karty kredytowej · Anuluj w dowolnym momencie