Visit pygame-web.github.io page (this is the documentation for pygbag the ready made tool you want to try first)
Porting binary module (eg c/c++) is possible too, but is not documented at the moment and requires github CI (or a Linux based operating system) see https://github.com/pygame-web/pkg-porting-wasm/issues for more.
Pygbag C runtime uses libpython WebAssembly from:
and contains code adapted from :
Panda3D and WebGLport support modules doc
Please note that though pygame-web hosts a Panda3D wasm wheel it is not production ready (but worth trying !).
But really, how does it work ?
Witchcraft of course !
But better read the Real Answer
Special Thanks apply to our sponsors :
https://www.browserstack.com : for ability to test iOS/Safari
Please note that thanks to some recent money donations we will be able to provide a hub+api for multiplayer games for at least one year. Of course donors are granted as much applications ID they need as long the service costs can be splitted amongst them.
For others please apply on pygame-web channel of Pygame Community Discord for temporary free access (all developpers IP addresses will be required in case of teams).
No adult content whatsoever will be tolerated and lobbies/chats/ingame will be monitored for abuse or ill behaviour on the standard network (websockets). Please adopt self moderation behaviour.
WebRTC should not be monitored, you are welcome to implement your bootstrap as long as you do not advertise for it and do not ask for it. Be smart and use friend-to-friend topology.
I (pmp-p, lead dev.) would like to be able to sponsor :
- Panda3D
- AFPY
- Eric IDE
- Framasoft
- Pygame Community
- Invididuals that helped in and/or maintain various parts of pygbag future.
- (I'll extend this list when i have time, and issues about that are ok too )
So if you fund pygame-web you will know where part of the flow is going.