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.
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVMArtur Skowroński
Myślisz, że znalezienie trufli jest trudne? Spróbuj zrozumieć Truffle w GraalVM!
W tej lekkostrawnej prezentacji zamierzam uprościć to, co skomplikowane, i wyjaśnić rolę Truffle w ekosystemie GraalVM. Kontynuując kulinarną analogię, wyobraź sobie Truffle jako tajemniczy składnik, który wyciąga prawdziwy aromat GraalVM – wspiera wiele języków i zwiększa wydajność, tak jak prawdziwe trufle dodają daniu smak.
Przebijemy się przez techniczny żargon i wyjaśnimy, co naprawdę oznacza "framework implementacji języka". Dowiesz się, jak działa Truffle, dlaczego jest ważne, a nawet spróbujemy napisać jakiś kawałek prostego języka – zgodnie z zasadą "słowa są tanie, pokaż mi kod"
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnychPROIDEA
O tym, jak wygląda życie i świat programisty gier mobilnych - z jakimi wyzwaniami można się spotkać, jakie rozwiązania wykorzystywać oraz dlaczego w ogóle warto. Case Study projektu Real Boxing 2 CREED TM, oficjalnej gry mobilnej amerykańskiej superpordukcji “Creed”.
Kopiąc Trufle - Odkrywanie tajemnic najmniej zrozumiałego elementu GraalVMArtur Skowroński
Myślisz, że znalezienie trufli jest trudne? Spróbuj zrozumieć Truffle w GraalVM!
W tej lekkostrawnej prezentacji zamierzam uprościć to, co skomplikowane, i wyjaśnić rolę Truffle w ekosystemie GraalVM. Kontynuując kulinarną analogię, wyobraź sobie Truffle jako tajemniczy składnik, który wyciąga prawdziwy aromat GraalVM – wspiera wiele języków i zwiększa wydajność, tak jak prawdziwe trufle dodają daniu smak.
Przebijemy się przez techniczny żargon i wyjaśnimy, co naprawdę oznacza "framework implementacji języka". Dowiesz się, jak działa Truffle, dlaczego jest ważne, a nawet spróbujemy napisać jakiś kawałek prostego języka – zgodnie z zasadą "słowa są tanie, pokaż mi kod"
4Developers: Jarek Wojczakowski- Technologie w świecie gier mobilnychPROIDEA
O tym, jak wygląda życie i świat programisty gier mobilnych - z jakimi wyzwaniami można się spotkać, jakie rozwiązania wykorzystywać oraz dlaczego w ogóle warto. Case Study projektu Real Boxing 2 CREED TM, oficjalnej gry mobilnej amerykańskiej superpordukcji “Creed”.
Prezentacja do wykładu na temat Direct3D 9. Przegląd biblioteki od inicjalizacji, poprzez renderowanie trójkątów, bufory wierzchołków i indeksów, teksturowanie, oświetlenie aż do shaderów. Ma 96 slajdów.
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03Semihalf
Przedstawiamy firmware UEFI, dzięki któremu możliwe jest coraz śmielsze wkraczanie architektury ARM64 do świata urządzeń serwerowych, czyli królestwa władanego przez Intel. Standardy, ich założenia i realizacja zostałą przybliżona na przykładzie dodawania wsparcia dla n
Łukasz Łuczak
Language: Polish
Klienci lubią zmieniać zdanie, jeśli klient mówi, że dana aplikacja nie będzie równolegle użytkowana przez wielu użytkowników to na pewno będzie. To można przewidzieć ale co w przypadku gdy część z tych użytkowników będzie potrzebowała korzystać z niej offline, synchronizując dane z częścią centralną kiedy powrócą online? A co w przypadku kiedy nagle klient postanawia aplikacje zamówioną do użytku wewnętrznego sprzedawać? Rok developmentu projektu w PHP'ie z wykorzystaniem frameworka Zend Framework 2 oraz biblioteki Doctrine 2 a klient wywraca całkowicie architekturę do góry nogami a do tego neguje słuszność wyboru technologii. Można powiedzieć, że się nie da a można spróbować podjąć wyzwanie.
Chciałbym przedstawić zakres zmian jakie musieliśmy wprowadzić w projekcie, a także przedstawić cały proces modyfikacji aplikacji od rozwiązania gdy jest całkowicie online, przez rozwiązanie wspierające offline, a dalej przez możliwość sprzedaży produktu klientom by wreszcie zrobić z tego rozwiązanie boksowe dystrybuowane na Raspberry Pi.
Wśród poruszonych tematów będą: optymalizacja aplikacji napisanych z wykorzystaniem ZF2, Doctrine 2, audyt logi i synchronizacja danych, live update danych, zabezpieczanie aplikacji PHP'owej, rozdzielanie aplikacji niepodzielnej. przygotowywanie paczki dystrybucyjnej a także przygotowanie całego stosu by działał poprawnie na Raspberry Pi.
Prezentacja będzie zawierała luźne anegdoty i doświadczenia z używania kontenerów dockera w produkcji, również do hostowania aplikacji PHP. Sposoby budowania kontenerów, typowe problemy deploymentu.
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLThe Software House
W ramach tej prezentacji pokażę jak efektywnie wykorzystać GraphQL `codegen` do generowania hooków i typów, które pomogą obsłużyć dowolne query i mutation, czyniąc kod nie tylko czytelniejszym, ale również łatwiejszym w utrzymaniu. W tym celu wspólnie postawimy przykładowy projekt, a także poświęcimy kilka minut na skonfigurowanie IDE. Dzięki temu nasza codzienna praca stanie się przyjemniejsza i efektywniejsza.
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...The Software House
Prezentacja z meetupu grupy "Uszanowanko Programowanko", tematyka AngularJS: http://www.uszanowanko.pl/angular
Autor: Łukasz Bachman
Szybkie prototypowanie aplikacji w AngularJS jest jedną z największych zalet tego narzędzia. Jednakże jako programiści musimy zadbać o to, aby pisane przez nas aplikacje były wydajne zarówno pod względem pamięciowym, jak i czasowym. W mojej krótkiej prezentacji chciałbym przedstawić kilka praktycznych porad, które pomogą to osiągnąć. Całość omówimy na prawdziwym studium przypadku aplikacji przetwarzającej duże zbiory danych.
DCUMCUT to system przeznaczony do sterowania wycinarkami drutowymi. DCUMCUT współpracuje z systemami CAD takimi jak SolidWorks i Autodesk Inventor. Posiada bogatą bibliotekę postprocesorów na większość znanych wycinarek drutowych WireEDM. Więcej na http://premiumsolutions.pl/program/dcamcut/
4Developers: Kacper Kościeński- Walka z MVC i innymi wzorcami projektowymi w ...PROIDEA
Każda branża IT ma swoje rozwiązania, w tym GameDev. Jak ugryźć niektóre wzorce projektowe, żeby korzystać z nich w pełni i nie tracić czasu na boilerplate? Jaką stworzyć architekturę aplikacji, żeby inni członkowie zespołu się w niej odnaleźli? Przedstawię rozwiązania z którymi się spotkałem, z których korzystałem i które wymyśliłem na potrzeby małych i średnich projektów.
More Related Content
Similar to Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish)
Prezentacja do wykładu na temat Direct3D 9. Przegląd biblioteki od inicjalizacji, poprzez renderowanie trójkątów, bufory wierzchołków i indeksów, teksturowanie, oświetlenie aż do shaderów. Ma 96 slajdów.
Skazani na firmware. Serwer na ARM64? Tak, to możliwe! S07E03Semihalf
Przedstawiamy firmware UEFI, dzięki któremu możliwe jest coraz śmielsze wkraczanie architektury ARM64 do świata urządzeń serwerowych, czyli królestwa władanego przez Intel. Standardy, ich założenia i realizacja zostałą przybliżona na przykładzie dodawania wsparcia dla n
Łukasz Łuczak
Language: Polish
Klienci lubią zmieniać zdanie, jeśli klient mówi, że dana aplikacja nie będzie równolegle użytkowana przez wielu użytkowników to na pewno będzie. To można przewidzieć ale co w przypadku gdy część z tych użytkowników będzie potrzebowała korzystać z niej offline, synchronizując dane z częścią centralną kiedy powrócą online? A co w przypadku kiedy nagle klient postanawia aplikacje zamówioną do użytku wewnętrznego sprzedawać? Rok developmentu projektu w PHP'ie z wykorzystaniem frameworka Zend Framework 2 oraz biblioteki Doctrine 2 a klient wywraca całkowicie architekturę do góry nogami a do tego neguje słuszność wyboru technologii. Można powiedzieć, że się nie da a można spróbować podjąć wyzwanie.
Chciałbym przedstawić zakres zmian jakie musieliśmy wprowadzić w projekcie, a także przedstawić cały proces modyfikacji aplikacji od rozwiązania gdy jest całkowicie online, przez rozwiązanie wspierające offline, a dalej przez możliwość sprzedaży produktu klientom by wreszcie zrobić z tego rozwiązanie boksowe dystrybuowane na Raspberry Pi.
Wśród poruszonych tematów będą: optymalizacja aplikacji napisanych z wykorzystaniem ZF2, Doctrine 2, audyt logi i synchronizacja danych, live update danych, zabezpieczanie aplikacji PHP'owej, rozdzielanie aplikacji niepodzielnej. przygotowywanie paczki dystrybucyjnej a także przygotowanie całego stosu by działał poprawnie na Raspberry Pi.
Prezentacja będzie zawierała luźne anegdoty i doświadczenia z używania kontenerów dockera w produkcji, również do hostowania aplikacji PHP. Sposoby budowania kontenerów, typowe problemy deploymentu.
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLThe Software House
W ramach tej prezentacji pokażę jak efektywnie wykorzystać GraphQL `codegen` do generowania hooków i typów, które pomogą obsłużyć dowolne query i mutation, czyniąc kod nie tylko czytelniejszym, ale również łatwiejszym w utrzymaniu. W tym celu wspólnie postawimy przykładowy projekt, a także poświęcimy kilka minut na skonfigurowanie IDE. Dzięki temu nasza codzienna praca stanie się przyjemniejsza i efektywniejsza.
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...The Software House
Prezentacja z meetupu grupy "Uszanowanko Programowanko", tematyka AngularJS: http://www.uszanowanko.pl/angular
Autor: Łukasz Bachman
Szybkie prototypowanie aplikacji w AngularJS jest jedną z największych zalet tego narzędzia. Jednakże jako programiści musimy zadbać o to, aby pisane przez nas aplikacje były wydajne zarówno pod względem pamięciowym, jak i czasowym. W mojej krótkiej prezentacji chciałbym przedstawić kilka praktycznych porad, które pomogą to osiągnąć. Całość omówimy na prawdziwym studium przypadku aplikacji przetwarzającej duże zbiory danych.
DCUMCUT to system przeznaczony do sterowania wycinarkami drutowymi. DCUMCUT współpracuje z systemami CAD takimi jak SolidWorks i Autodesk Inventor. Posiada bogatą bibliotekę postprocesorów na większość znanych wycinarek drutowych WireEDM. Więcej na http://premiumsolutions.pl/program/dcamcut/
4Developers: Kacper Kościeński- Walka z MVC i innymi wzorcami projektowymi w ...PROIDEA
Każda branża IT ma swoje rozwiązania, w tym GameDev. Jak ugryźć niektóre wzorce projektowe, żeby korzystać z nich w pełni i nie tracić czasu na boilerplate? Jaką stworzyć architekturę aplikacji, żeby inni członkowie zespołu się w niej odnaleźli? Przedstawię rozwiązania z którymi się spotkałem, z których korzystałem i które wymyśliłem na potrzeby małych i średnich projektów.
Similar to Castle Game Engine presentation at Zlot Programistów Delphi 2023 (Polish) (20)
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