Panda3D [0] (which is what Ursina uses under the hood) and Pygame can both run on the web due to PygBag [1].
Truth be told you can build a game on any tool, obviously the tool you choose will help shape the game you make - but it's more about keeping at it then the underlying technology.
Personally I really like Panda3D and feel like it doesn't get enough attention. It's scene graph [3] is interesting because it splits it into nodes and nodepaths. A node is what gets stored in the graph but you manipulate them using the nodepaths which simplifies programming.
It also has a really amazing aync task manager [2] which makes game programming no problem. You can just pause in a task (or even a event) which sounds simple but you'd be suprised by who many engines won't let you do that.
It also has a multiplayer solution [6] that was battle tested for 2 mmos.
Finally I really like it's interval [4] system which is like Unreal or Unity's timeline but code based.
Truth be told you can build a game on any tool, obviously the tool you choose will help shape the game you make - but it's more about keeping at it then the underlying technology.
Personally I really like Panda3D and feel like it doesn't get enough attention. It's scene graph [3] is interesting because it splits it into nodes and nodepaths. A node is what gets stored in the graph but you manipulate them using the nodepaths which simplifies programming.
It also has a really amazing aync task manager [2] which makes game programming no problem. You can just pause in a task (or even a event) which sounds simple but you'd be suprised by who many engines won't let you do that.
It also has a multiplayer solution [6] that was battle tested for 2 mmos.
Finally I really like it's interval [4] system which is like Unreal or Unity's timeline but code based.
It's also on pypi [5] so super easy to install.
[0] http://panda3d.org/
[1] https://pypi.org/project/pygbag/
[2] https://docs.panda3d.org/1.10/python/programming/tasks-and-e...
[3] https://docs.panda3d.org/1.10/python/more-resources/cheat-sh...
[4] https://docs.panda3d.org/1.10/python/programming/intervals/i...
[5] https://pypi.org/project/Panda3D/
[6] https://docs.panda3d.org/1.10/python/programming/networking/...