Presentation of Castle Game Engine ( https://castle-engine.io/ ) at Zlot Programistów Delphi 2023 (Polish Delphi conference).
Castle Game Engine is a 3D and 3D open-source game engine. In this talk, Michalis Kamburelis presents engine features (powerful editor and modern Pascal API) and discusses future plans.
2. O mnie
● Castle Game Engine - https://castle-engine.io/
● PasDoc - https://pasdoc.github.io/
● Modern Object Pascal Introduction - https://castle-engine.io/modern_pascal
● Web3d, Khronos (standardy 3D - glTF, X3D)
● Cat-astrophe Games - https://cat-astrophe-games.com/
3. Castle Game Engine
● Tworzenie gier 3D i 2D
● Edytor
● Potężne API dla programistów (wszystko co można zrobić w edytorze + dużo więcej)
○ Pascal (Delphi, FPC) - elegancki i szybki język
○ do silnika i do gier
● Open-source
○ fork aby dodać feature do konkretnego projektu? Możesz.
● Multi-platform
○ Windows, Linux (Raspberry Pi), FreeBSD, macOS
○ Android, iOS
○ Nintendo Switch
○ Note: Delphi only for Windows for now
6. 3D FPS game template
● Views
● Play view:
○ Viewport, navigate in 3D
○ Left side: hierarchy with components
■ UI
■ viewport is also UI
■ 3D: transform scenes, cameras, lights
○ Right side: properties
○ Bottom: editor files (double click to run view3dscene on scenes)
7. Uruchom
● Z edytora lub z Delphi.
● Przyciśnij F9 gdzie chcesz:)
● Note do Community Edition: tylko z Delphi!
8. ● Silnik fizyki
○ "Rozwiązuje" kolizje - gdzie się zdarzy kolizja, i co z niej wyniknie
● Empty template
● Plane, cubes, spheres
● Lights
○ Ciekawsze kolory
○ Cienie
● Rigid body and colliders
Fizyka, ustawmy od zera
15. Klawisz -> log
● Double click na moduł związany z view
● Metody Start, Update, Press
● Koduj w Delphi, VS Code, gdzie chcesz…
● Uruchamiaj gdzie chcesz
○ Delphi daje debugger, więc często najwygodniej
○ Gdy jesteśmy w Delphi, WritelnLog idzie do event loga Delphi (de facto, Windowsa)
18. Załaduj modele, przesuwaj je
● TCastleScene - najważniejsza klasa w silniku
● Wyświetlanie, animowanie, właściwie cała obsługa 3D
● Dziedziczy z TCastleTransform które pozwala przesuwać, obracać etc.
● Wszystko co widzisz w edytorze to instancje i ich properties - wszystko to możesz zmieniać
19. Zareaguj na model pod myszą
● Viewport.TransformUnderMouse
● Czy ma TCastleRigidBody? Sprawdź przez FindBehavior
● ApplyImpulse aby podrzucić
20. Instancje designu (Unity prefabs)
● TransformLoad aby załadować gotowe komponenty
● Dodaj do viewport
● Ustaw properties, użyj sił - jak poprzednio
22. TCastleControl
● Komponent Castle Game Engine na form Delphi
● FMX i VCL
● Wszystko działa - można załadować design lub skonstruować go z kodu
● Np. 3D viewer
25. Plany
● 7.0 release niedługo - naprawdę w 2023
○ Steam (PR - in review)
○ Nowe komponenty nawigacji (PR - in review)
○ Creature AI
○ Komponenty do materiałów
■ (z efektami - lustra, shaders - w edytorku)
https://castle-engine.io/wp/2023/06/17/planned-steam-integration-and
-engine-available-as-a-download-on-steam/
26. Web platform
● FPC WebAssembly (kompiluje się już!) + pas2js
● WebGL 1.0, optionally use 2.0
● WebAudio or FMOD
● FpWeb for simple deploy
● Stretch goal: edytor także na web!
https://castle-engine.io/wp/2023/04/08/web-target-progress-and-plans/
27. Więcej
● Vulkan
● VR (dostaliśmy Oculusa specjalnie dla CGE)
● Konsole? Mam Xbox i niedługo będę miał PS.
● https://castle-engine.io/roadmap
28. Czas i team
● Nie jestem sam :)
○ Andrzej Kilijański
○ Eugene Loza
○ Community - see nasz GitHub, Discord, forum
● Jak żyć?
○ Community support: https://www.patreon.com/castleengine
○ B2b (konsultacje, dedykowane features i platformy) - zapraszam do
kontaktu