proton:html5_setup
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
proton:html5_setup [2015/09/09 05:16] – seth | proton:html5_setup [2015/09/09 07:15] – seth | ||
---|---|---|---|
Line 5: | Line 5: | ||
Well, we all know by now that Flash is dead. HTML5 (which is really Javascript and WebGL) is the new way to get your games and apps onto the web in way that is safe for players. Nobody wants to download .exe files and get viruses anymore, so this is a good way to go. | Well, we all know by now that Flash is dead. HTML5 (which is really Javascript and WebGL) is the new way to get your games and apps onto the web in way that is safe for players. Nobody wants to download .exe files and get viruses anymore, so this is a good way to go. | ||
- | You will take a speed hit and you don't get full access to the user's hardware and networking, but that's the price you pay. You can't do direct socket/UDP access like you used to (there is a new thing called websockets but they can't be used to communicate with standard sockets), but it is still possible to do networked games with some work arounds. If you need to read files/data (you CAN post/get data) from a web page, you need to setup the server itself to allow access if the original app wasn't downloaded from the same domain. Annoying, but without this people could basically DDOS any site by getting a lot of people to simply open a webpage. | + | {{: |
+ | |||
+ | You will take a speed hit and you don't get full access to the user's hardware and networking, but that's the price you pay. | ||
+ | |||
+ | You can't do direct socket/UDP access like you used to (there is a new thing called websockets but they can't be used to communicate with standard sockets), but it is still possible to do networked games with some work arounds. If you need to read files/data (you CAN post/get data) from a web page, you need to setup the server itself to allow access if the original app wasn't downloaded from the same domain. Annoying, but without this people could basically DDOS any site by getting a lot of people to simply open a webpage. | ||
The good news is getting your Proton SDK based games to export to HTML5 is very easy and only requires setting up the makefile and maybe a couple lines in your App.cpp file. | The good news is getting your Proton SDK based games to export to HTML5 is very easy and only requires setting up the makefile and maybe a couple lines in your App.cpp file. | ||
Line 74: | Line 78: | ||
=== Tips and gotchas === | === Tips and gotchas === | ||
- | GL emulation is handled by emscripten with the -s LEGACY_GL_EMULATION=1. It's not that great. It works fine for 2D games but expect features to be missing for any 3d stuff you're porting. My game Mindwall is playable, but the lighting and color is wrong. | + | GL Limitations: |
+ | |||
+ | Networking: if you run the .html locally but try to read/write highscores to scores.php on your webserver it's going to fail. You'll have to actually upload your files then run it from the actual domain name for it to work, or [[http:// | ||
+ | |||
+ | Proton' | ||
+ | |||
+ | Screen size: This can be overridden in App:: | ||
+ | |||
+ | < | ||
+ | g_winVideoScreenY = 320;</ | ||
+ | |||
+ | |||
+ | There is some weirdness to work out with screen scaling and mouse click locations turning wonky when sizes are changed in realtime. Right now I'm using enterSoftFullscreen(EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT, | ||
+ | |||
+ | Size: There is also the issue of a 102 kb default .html file that is generated that is doing stuff we probably don't need, I've looked in there and it is possible to remove a lot of it (the emscripten logo is in there for instance), hopefully emscripten html generator will have more options in the future, otherwise you can hand edit it and adjust your batch files I guess. | ||
- | Networking | + | Compression |
+ | What is this witchcraft? The server is compressing it! You can [[http:// |
proton/html5_setup.txt · Last modified: 2024/01/13 04:55 by seth