Skip to content
  • English
  • Polski
Digital Karabela
Digital Karabela
Primary Navigation Menu
Menu
  • Strona główna
  • Produkty
  • DevBlog
  • Castle Engine
  • Kurs bash
  • O firmie

Castle Game Engine wersja stabilna 6.4, czy beta 6.5?

Castle Game Engine Logo

Castle Game Engine to darmowy, otwarty silnik do tworzenia gier napisany w języku Object Pascal. Obsługuje gry 2D i 3D. Dzięki niemu możesz tworzyć gry na komputery stacjonarne (Windows, Linux, macOS), urządzenia mobilne (Android, iOS) i konsole (Nintendo Switch) korzystając z przejrzystego języka Pascal. Którą wersję jednak wybrać?

Jak przekonuje twórca Michalis Kamburelis, lepiej wybrać wersję beta, która jest także wykorzystywana produkcyjnie w jego studiu. Wersja stabilna 6.4 pochodzi z 24 lutego 2018 r. Od tej wersji jest około 1700 zatwierdzeń w repozytorium silnika. Wiele rzeczy zostało zrobionych.

Płynne przejścia między animacjami (Animation Blending)

Dzięki temu unikamy nagłego przeskoku między animacjami, efekt jest o wiele ładniejszy:


Samo użycie jest bardzo proste, aby uruchomić mieszanie (blending) wystarczy zmienić TPlayAnimationParameters.TransitionDuration na wartość różną od zera (zwykle wartości między 0.1 a 0.5 wyglądają najlepiej) i użyć TCastleSceneCore.PlayAnimation z TPlayAnimationParameters.

Przykład dostępny jest w examples/animations/play_animation.

Łatwe odtwarzanie animacji wstecz

Wystarczy ze zmienisz argument Forward funkcji PlayAnimation lub pole o tej samej nazwie w klasie TPlayAnimationParameters na false.

Inne ulepszenia w animacjach

Dodano funkcje:

  • TCastleSceneCore.StopAnimation – zatrzymuje aktualną animacje (tą zapisaną w właściwości CurrentAnimation)
  • TCastleSceneCore.ResetAnimationState – resetuje stan animacji
  • TTimeSensorNode.Start, TTimeSensorNode.Stop – pozwala na jednoczesne uruchamianie wielu animacji w jednej scenie. Przykład użycia dostępny jest w examples/animations/simultaneous_animations_one_scene.

Wizualny edytor

Film prezentujący edytor:


Dodatkowo edytor może być uruchomiony z przebudowaniem dla aktualnego projektu z poziomu narzędzia castle-engine za pomocą polecenia castle-engine editor. Jak dodać własne komponenty można przeczytać w Readme edytora.

Współrzędne interfejsu użytkownika

Wszystkie pozycje i rozmiary są teraz typu Single (w wersji 6.4 były Integer). Właściwości typu TRectangle zostały oznaczone jako deprecated i zastąpione przez TFloatRectangle np. TCastleUserInterface.ScreenRect -> TCastleUserInterface.RenderRect.

Inne ulepszenia w interfejsach użytkownika

W silniku pojawiło się bardzo dużo optymalizacji i poprawek związanych z UI, najważniejsze z nich to:

  • TCastleHorizontalGroup, TCastleVerticalGroup – layouty, dające możliwość łatwego szeregowania kontrolek w poziomie i pionie
  • TCastleCheckbox – kontrolka checkboxa
  • poprawki w TCastleScrollView
  • w TCastleEdit można ustawić Placeholder oraz PasswordChar
  • rozbudowane opcje lokalizacji gry

Ulepszenia renderowania

W silniku pojawiło się wiele zmian m.in.:

  • tryb „SeparateDiffuse” pozwala uzyskać ładniejsze oświetlenie
  • nowa klasa TCastleScreenEffects ułatwiająca nakładanie efektów, przykład użycia dostępny jest w examples/screen_effects_demo
  • poprawki w CommonSurfaceShader
  • obsługa formatu glTF 2.0
  • dodano metody TCastle2DSceneManager.PositionTo2DWorld i TCastleSceneManager.PositionToWorldPlane aby ułatwić konwersję pozycji myszy/dotyku na pozycję w grze
  • clipping planes działają na GLES

Możliwość tymczasowego wyłączenia fizyki

Za pomocą właściwości SceneManager.Items.EnablePhysics można tymczasowo wyłączyć fizykę

Podstawowa obsługa kolizji w fizyce

Kolizje mogą być sprawdzane na dwa sposoby:

  • pobierając listę kolidujących obiektów za pomocą TRigidBody.GetCollidingTransforms; działa to podobnie do get_colliding_bodies() w silniku Godot.
  • używając zdarzeń OnCollisionEnter i OnCollisionExit w TRigidBody – przypomina to Unity.

Przykład dostępny jest tutaj: examples/physics/physics_2d_collisions.

Dźwięk

Dodano LoopingChannel dla łatwego odtwarzania muzyki. Alternatywnie można użyć backendu FMOD, zamiast domyślnego OpenAL.

Android

Projekt jest teraz domyślnie „integrated”, a narzędzie budowania domyślnie kompiluje grę w wersji 32 i 64 bity co będzie wymagane od sierpnia 2019 przez sklep Google Play.

Moduł Admob został zaktualizowany. W nowej wersji dostępne są reklamy rewarded, oraz dokładniejsza informacja zwrotna w przypadku reklam pełnoekranowych.

Podsumowanie

Ta lista przedstawia jedynie najważniejsze (wg mnie) zmiany. Tworząc nowy projekt nie ma sensu używać wersji 6.4, ponieważ przeniesienie się na wersję 6.6 będzie wymagało wiele pracy.

Instalacja wersji beta

Niektóre przedstawione powyżej nowości nie są jeszcze dostępne z paczki bety z głównej strony silnika. Wg mnie o wiele lepiej pobrać gałąź master z repozytorium projektu i być na bieżąco.

Jeżeli używasz linuksa z kartą graficzną NVIDIA pamietaj aby użyć fpc w wersji 3.2 lub kompilacji z trunka, więcej na ten temat pisałem tutaj.

Patreon

Autora silnika można wesprzeć na patreon.

2019-07-23
Poprzedni wpis: Mingw-w64: Jak naprawić błąd „File too big/too many sections”
Następny wpis: Aktualizacja modułu Admob w Castle Game Engine

Wypróbuj moją nową grę! Zupełnie za darmo!

Logo Bricks Color Pick

Bricks Color Pick to zupełnie nowe podejscie do klasycznego arkanoida! Brak dolnej belki! Zasady gry są bardzo proste: Twoim zadaniem jest zmienianie koloru piłki na kolor cegły, z którą piłka się zderzy. Gdy kolor będzie taki sam cegła zostanie zniszczona, w przeciwnym wypadku stracisz życie.

Pobierz z Google Play

Zrzut ekranu pozimu 37/40 5-6 kolorów

Dodatkowo można zmienić kierunek ruchu piłki, przez co nie musimy czekać wieczność aż trafi w ostatni blok.

QR Code Google Play Bricks Color Pick

Zrzut ekranu poziom 62/80 (Tryb relaks)

Ostatnie wpisy

  • Jak skompilować bibliotekę OpenAL z Oboe dla systemu Android
  • Lazarus 2.0.12 wydany
  • Jak naprawić zamrażanie GUI LMMS w systemie Linux?
  • Jak zaktualizować wine do wersji 5.0.0 w Linux Mint 19 / Ubuntu 18
  • Agile Commander 1.2.3 wydany!

Kategorie

  • DevBlog
  • Linux
    • Kurs bash
    • Narzędzie WoeUSB
  • Programowanie
    • Język D (dlang)
      • Kontrolki DlangUI
    • Język Object Pascal
      • Lazarus (pl)
    • Narzędzie make
  • Promocja
  • Tworzenie gier
    • Castle Engine (pl)
    • Godot
  • Windows 10
    • Narzędzie WoeUSB

Produkty:
Agile Commander
Bricks Color Pick

 

 

Digital Karabela – Andrzej Kilijański
76-015 Wyszebórz 32, Poland
https://digitalkarabela.com
Kontakt
Polityka prywatności