björn ritzl - world wide web consortium · debugging in a cross platform game engine engine core...
TRANSCRIPT
![Page 1: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/1.jpg)
![Page 3: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/3.jpg)
![Page 4: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/4.jpg)
200
![Page 5: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/5.jpg)
![Page 6: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/6.jpg)
268000000
![Page 7: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/7.jpg)
2
![Page 8: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/8.jpg)
![Page 9: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/9.jpg)
![Page 10: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/10.jpg)
● C/C++ engine● Lua for game logic● 3D with 2D focus● Component based
○ Physics, 2D sprites, Spine models, tilemaps, 3D models, physics, sound, scripts, etc
● Modular○ Remove what you don't need○ Extend with additional native code
● Small○ Google Play Instant○ Facebook Instant Games○ Playable ads
![Page 11: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/11.jpg)
2016
![Page 12: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/12.jpg)
![Page 13: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/13.jpg)
![Page 14: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/14.jpg)
![Page 15: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/15.jpg)
![Page 16: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/16.jpg)
![Page 17: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/17.jpg)
Debugging
![Page 18: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/18.jpg)
Debugging in a cross platform game engine● Engine core in C/C++● Platform specific code on top
○ JS for HTML5○ Objective-C for iOS and macOS○ Java for Android○ More C/C++
● Ratio is somewhere around 20:1● Good debugging tools is a must● Usually enough to debug on host platform
![Page 19: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/19.jpg)
Debugging HTML5 in a cross platform game engine● HTML5 builds using Emscripten
○ With support for WebAssembly
● Emscripten can generate source maps● Browser dev tools support source maps● Debugging can be done in the browser● Even better if you can debug using a debugger of your choice
○ Remote debugging + IDE plugin
● But what about WebAssembly?
![Page 20: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/20.jpg)
Debugging graphics● Inspect textures, shaders, draw calls and frame composition● Open GL ES 2.0 and WebGL● Desktop and mobile has RenderDoc, XCode, GAPID
○ Very powerful tools
● Debugging WebGL○ Spector.js○ Can the browser dev tools provide this?
![Page 21: Björn Ritzl - World Wide Web Consortium · Debugging in a cross platform game engine Engine core in C/C++ Platform specific code on top JS for HTML5 Objective-C for iOS and macOS](https://reader033.vdocuments.site/reader033/viewer/2022050610/5fb1c5b7e6f9fa39b269b9ff/html5/thumbnails/21.jpg)