HTML5 HTML target not working for 3d game

I'm trying to make (my first GMS) game for the Opera GX Game Jam. One condition of this game jam is that the game must be made using GMS2 and HTML target. But on my machine, this won't work. I've tried several different projects. 2d games seem to work, but everything including 3d just renders a black screen after the splashscreen/loader. The same code works fine in the test environment.

I have one obj_3d with this creation code:

gpu_set_ztestenable(true);
gpu_set_zwriteenable(true);

// Init View
view_enabled=true;
view_set_visible(0,true);

// Init Camera
cam = camera_create();
projMat = matrix_build_projection_perspective_fov(60,view_wport[0]/view_hport[0],1,32000);
camera_set_proj_mat(cam,projMat);
view_set_camera(0,cam);
camera_set_update_script(cam,cam_update);

one cam_update script:

function cam_update(){
matrix=matrix_build_lookat(0,0,-100,room_width,room_height,0,0,0,1);
camera_set_view_mat(view_camera[0],matrix);
}

and one green sprite within a TileSet.

I keep getting this error on any server start (doesn't seem to influence anything, but for the completeness):
[GMWebServer] GMWebServer Starting........
[GMWebServer]
[GMWebServer] Unhandled exception: System.Net.Sockets.SocketException: access to a Socket was restricted because of access rights (translated from German)
[GMWebServer] bei System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
[GMWebServer] bei System.Net.Sockets.Socket.Bind(EndPoint localEP)
[GMWebServer] bei System.Net.Sockets.TcpListener.Start(Int32 backlog)
[GMWebServer] bei GMWebServer.yyWebServer.DoServer()
[GMWebServer] bei GMWebServer.Program.Main(String[] _args)


and the Web Developer Tools console shows these errors:

Uncaught TypeError: this._x72 is not a function
_1j http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:2397
_rW2 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3011
_DZ2 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3066
_1c http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3072
_ne3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3423
_Vd3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3429
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3411
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
GameMaker_Init http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
EventHandlerNonNull* http://127.0.0.1:50102/index.html:83
UFO.js:2397:162
_1j http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:2397
_rW2 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3011
_DZ2 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3066
_1c http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3072
_ne3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3423
_Vd3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3429
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3411
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
_td3 http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: FrameRequestCallback)
GameMaker_Init http://127.0.0.1:50102/html5game/UFO.js?QBGYB=719453825:3410
(Async: EventHandlerNonNull)
<anonymous> http://127.0.0.1:50102/index.html:83


and

Source map error: Error: request failed with status 404 Resource URL: http://127.0.0.1:50498/html5game/UFOattacks.js?DXGZB=174240665 Source Map URL: inflate.min.js.map


Here's the debug console output:
WebGL Enabled!
WebAudio Context state updated to: running
WebGL Enabled!
Max Texture Size=16384
Windows Detected(0)
Firefox detected
Browser CAN play MP3
Browser CAN play OGG
Loading: html5game/UFOattacks_texture_0.png
Loading: html5game/UFOattacks_texture_1.png
Loading: html5game/UFOattacks_texture_2.png
Loading: html5game/particles/IDR_GIF2.png
Loading: html5game/particles/IDR_GIF3.png
Loading: html5game/particles/IDR_GIF4.png
Loading: html5game/particles/IDR_GIF5.png
Loading: html5game/particles/IDR_GIF6.png
Loading: html5game/particles/IDR_GIF7.png
Loading: html5game/particles/IDR_GIF8.png
Loading: html5game/particles/IDR_GIF9.png
Loading: html5game/particles/IDR_GIF10.png
Loading: html5game/particles/IDR_GIF11.png
Loading: html5game/particles/IDR_GIF12.png
Loading: html5game/particles/IDR_GIF13.png
Loading: html5game/particles/IDR_GIF14.png
Loading: html5game/particles/IDR_GIF15.png
WebAudio Context state updated to: running
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_0.png
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_1.png
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_2.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF2.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF3.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF4.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF5.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF6.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF7.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF8.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF9.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF10.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF11.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF12.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF13.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF14.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF15.png
Entering main loop...
Application Surface created: w=1920, h=1080
Unhandled Exception - TypeError: this.__i2 is not a function in file undefined at line undefined
###game_end###-1
WebAudio Context unlocked.
WebGL Enabled!
Max Texture Size=16384
Windows Detected(0)
Firefox detected
Browser CAN play MP3
Browser CAN play OGG
Loading: html5game/UFOattacks_texture_0.png
Loading: html5game/UFOattacks_texture_1.png
Loading: html5game/UFOattacks_texture_2.png
Loading: html5game/particles/IDR_GIF2.png
Loading: html5game/particles/IDR_GIF3.png
Loading: html5game/particles/IDR_GIF4.png
Loading: html5game/particles/IDR_GIF5.png
Loading: html5game/particles/IDR_GIF6.png
Loading: html5game/particles/IDR_GIF7.png
Loading: html5game/particles/IDR_GIF8.png
Loading: html5game/particles/IDR_GIF9.png
Loading: html5game/particles/IDR_GIF10.png
Loading: html5game/particles/IDR_GIF11.png
Loading: html5game/particles/IDR_GIF12.png
Loading: html5game/particles/IDR_GIF13.png
Loading: html5game/particles/IDR_GIF14.png
Loading: html5game/particles/IDR_GIF15.png
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_0.png
WebAudio Context state updated to: running
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_1.png
ImageLoaded: http://127.0.0.1:50498/html5game/UFOattacks_texture_2.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF2.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF3.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF4.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF5.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF6.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF7.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF8.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF9.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF10.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF11.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF12.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF13.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF14.png
ImageLoaded: http://127.0.0.1:50498/html5game/particles/IDR_GIF15.png
Entering main loop...
Application Surface created: w=1920, h=1080
Unhandled Exception - TypeError: this.__i2 is not a function in file undefined at line undefined
###game_end###-1
WebAudio Context unlocked.


Any help would be greatly appreciated. This is my first project using GMS2 and it's super frustrating, nothing works.
 
Last edited:
Sorry if I posted this in the wrong forum but to me this appears clearly as a technical problem / bug and not a programming-related issue, since the code works in the test environment and ANY 3d-related content won't run in HTML mode.
 
Top