Slides, movies and thoughts from my GIC 2022 presentation

Posted on

GIC 2022

Last Sunday, I gave a presentation about Castle Game Engine at the Game Industry Conference. I think it went really well — a lot of people came, I had a lot of positive feedback and good questions. I felt that a lot of work we put lately into making the engine not only packed with features, but also really easy to use, paid off!

The slides from the presentation are available here, and embedded in them are 4 short movies (physics, 3D game, 2D game, code). Enjoy!

Note that I used physics branch to demonstrate the physics components (not yet merged to master, just due to my obsession to review everything perfectly 🙂 ). Everything else you see there is available on CGE master already.

I also bring back some thoughts and conclusions:

  • Confirmed TODO: The hierarchy on the left is getting a little overcrowded when we put lots of behaviors (like rigid bodies and colliders) together with transformations. The current state may be acceptable at start, but eventually we should improve this. This is a UI thing — we can organize it better and we will, we already talked with Andrzej Kilijański about it.

  • Confirmed TODO: WebGL port is important 🙂

  • My new idea (this one is not from feedback to my CGE talk, but it is a combination of 2 ideas from 2 talks I had at GIC):

    We should have a demo in CGE showing a huge city and loading neighboring pieces of the city asynchronously. This idea came to me during “Open World Streaming in Dying Light 2” talk — I believe the core idea is something completely doable in CGE (and testable on a 3D big city generated from ready buildings (with interiors) in CGE example).

    This idea clicked with something I learned thanks to meeting Grzegorz Wojciechowski also at GIC. He’s doing amazing things with OpenGL, among them — spreading work into multiple processes and threads at the engine layer. He made me aware that you can load things asynchronously, in another thread, into OpenGL!, if you do this in another OpenGL context that is shared with your main (rendering) context. And in CGE our TCastleWindow and TCastleControl already always do sharing (because it makes caching natural for multi-window applications), so we got this!

    This is a very possible and within-reach solution to a promise “Asynchronous loading will be possible some day” made in our Threads usage manual chapter.

Notable Replies

  1. I missed my chance to sign up for the live stream, and have been curious how this went. I’m glad to see it was so productive! Is there any place we can get a video or transcript of your presentation?

    I am glad to know optimizing and empowering ‘city-like scenes’ is on your agenda. The design I am planning to produce for my first project is about 50% city-like scenes.

  2. Hm, I don’t know. The talks are not available publicly.

    All the talks have been recorded though – I know for sure that owners of online tickets ( ) could watch them. But I am not sure if buying the online ticket now will still give you access to the past talks.

    Hm, if you are interested – I suggest you just try. You can just buy an online ticket on for free and see what it gives you at this point. (Let here know too, I’m curious what is the answer.) And if you will later decide it was worth the money, you can buy another ticket :slight_smile:

  3. It looks like they have put it up on their twitch page:

    I’m not certain these videos are the full coverage, but it totals around 18 hours of footage so I assume it is probably complete for a three-day conference.

  4. From what I see, Twitch is only 1 “track” of the conference – talks that happened in the “Ten Square Games Room”. The conference had 7 parallel “tracks” :slight_smile: So this is not everything.

    My talk was on Sunday, 11:30 (in Polish timezone, i.e. conference timezone) in the “Google Hall” room.

    Oh! And by clicking on table headers on GIC, OCT 6th-8th 2023, Poznań » Agenda 2023 I can find more Twitch accounts. So, it looks like “Google Hall” recordings are in this account: Twitch . (“przegrani” is a Polish word-joke, it may mean “losers” or it can be interpreted as “those who play games too much”).

    And I managed to find my talk: Twitch ! It was the first talk of that day, it starts at around 0:07:50 of that video.

    Great! So you can watch it there. And I will post about it everywhere :slight_smile:

Continue the discussion at Castle Game Engine Forum


Avatar for AveryCTF Avatar for michalis