~/talk

Crafting Cross-Platform Adventures: Building a Game Engin…

Talkat DroidKaigi 2024 · 2024-09-11..09-13· [kotlin, game-development]
slides:none on file

Built a Kotlin Multiplatform engine using OpenGL/WebGL and hitting iOS’s Metal roadblock that forces rewriting all shaders, so 3D work stalls and focus shifts to 2D. Uses GLSL shaders, Lua scripting via CLua, MIDI parsed to synthesize waveforms, and a palette-index framebuffer. Performance wins: replace Map with Array for palette lookups, reduce two-triangle quads to one giant triangle, and move color-index-to-RGBA conversion into a GPU shader. Several prototype games ship quickly, some made in under 3 hours.

AI-written summary · about

  1. 0:00Introduction
  2. 0:46Game Loop
  3. 2:20C Multiplatform
  4. 6:55Shaders
  5. 8:00LGL
  6. 10:24Matrixes
  7. 14:45iOS
  8. 16:11Game Engine on iOS
  9. 20:08Frame Generation
  10. 23:59Sound
  11. 29:44Performance
  12. 33:33Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.