• 3 Posts
  • 1.26K Comments
Joined 3 years ago
cake
Cake day: June 4th, 2023

help-circle


  • Yay, that’s awesome!

    I needed to do a dotnet dnx 2dog again after your commands to regenerate the build assets but after that the build worked fine, thanks!

    The asterisk: the loading performance of certain scenes and textures isn’t great at all

    To cheer you up: The performance of the regular Godot web version is not all that great either for 3D stuff. It loaded quite quickly on my PC. Throws an error on level load but still works, might just be the shady level loading we did under time pressure.

    PS: Super adorable game idea. That angry beach ball can get bent, though… sheesh. Ey, I’m walkin’ crawlin’ here!

    Glad you liked it! We put a lot of work into this one. :)

    Shame I didn’t see 2dog during the jam but for next time we are equipped to finally ship a web version. Thanks!



  • We started in Forward+ rendering so it is definitely possible that something went wrong when switching to Compatibility renderer. I did a blank test project and everything went fine so it must be something related to the project.

    do you have a public repo with the game jam entry somewhere?

    Yes! It’s open source and I made a branch with the renderer switched to Compatibility and our water shader removed (incompatible with Compatibility renderer). Should be able to just add 2dog right away and run it. (The regular desktop build runs fine)

    You can find it here: https://gitlab.com/gmtk26zbandco/gmtk26-godot-game/-/tree/web-build

    You could also try to create a source map: dotnet publish -c Release -p:WasmEmitSymbolMap=true -p:WasmNativeStrip=false

    I added the source map and the stack trace looks more usable now:

    Full error
    [MONO] /__w/1/s/src/runtime/src/mono/mono/mini/aot-runtime-wasm.c:188 <disabled>
    Mc<@wasm_native_to_interp_GodotSharp_Godot_Bridge_ScriptManagerBridge_CreateManagedForGodotObjectScriptInstance (http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:172284
    dotnet.native.wasm.wasm_trace_logger@:wasm-function[161353]:0x283a3f9
    dotnet.native.wasm.eglib_log_adapter@:wasm-function[148375]:0x2640662
    dotnet.native.wasm.monoeg_g_logv_nofree@:wasm-function[148280]:0x263e7bf
    dotnet.native.wasm.monoeg_g_log@:wasm-function[148282]:0x263e88f
    dotnet.native.wasm.monoeg_g_log_disabled@:wasm-function[148283]:0x263e8c4
    dotnet.native.wasm.mono_wasm_get_interp_to_native_trampoline@:wasm-function[151868]:0x26f0907
    dotnet.native.wasm.ves_pinvoke_method@:wasm-function[147551]:0x261556b
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x260893b
    dotnet.native.wasm.mono_thread_info_current@:wasm-function[148504]:0x26446fb
    dotnet.native.wasm.interp_throw_ex_general@:wasm-function[147541]:0x26149c6
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x2608867
    dotnet.native.wasm.interp_runtime_invoke@:wasm-function[147589]:0x261680e
    dotnet.native.wasm.mono_jit_runtime_invoke@:wasm-function[151658]:0x26e159e
    dotnet.native.wasm.do_runtime_invoke@:wasm-function[150592]:0x26aff97
    dotnet.native.wasm.mono_runtime_invoke_checked@:wasm-function[150591]:0x26aff53
    dotnet.native.wasm.mono_runtime_try_invoke_byrefs@:wasm-function[150687]:0x26b5306
    dotnet.native.wasm.ves_icall_InternalInvoke@:wasm-function[149718]:0x268592e
    dotnet.native.wasm.ves_icall_InternalInvoke_raw@:wasm-function[149814]:0x2689e7b
    dotnet.native.wasm.do_icall@:wasm-function[147637]:0x26189f1
    dotnet.native.wasm.do_icall_wrapper@:wasm-function[147549]:0x261538f
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x2608835
    dotnet.native.wasm.mono_assertion_message_disabled@:wasm-function[148285]:0x263e908
    dotnet.native.wasm.ftnptr_to_imethod@:wasm-function[147548]:0x2615271
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x2608764
    dotnet.native.wasm.interp_entry@:wasm-function[147626]:0x261817a
    dotnet.native.wasm.interp_entry_static_ret_4@:wasm-function[147665]:0x26198f5
    dotnet.native.wasm.wasm_native_to_interp_GodotSharp_Godot_Bridge_ScriptManagerBridge_CreateManagedForGodotObjectScriptInstance@:wasm-function[161284]:0x2838975)
    dotnet.native.wasm.CSharpScript::_create_instance(Variant const**, int, Object*, bool, Callable::CallError&)@:wasm-function[105210]:0x1bfe612
    dotnet.native.wasm.CSharpScript::instance_create(Object*)@:wasm-function[105221]:0x1c012a3
    dotnet.native.wasm.Object::set_script(Variant const&)@:wasm-function[137662]:0x2419e21
    dotnet.native.wasm.SceneState::instantiate(SceneState::GenEditState) const@:wasm-function[42805]:0xa44c80
    dotnet.native.wasm.PackedScene::instantiate(PackedScene::GenEditState) const@:wasm-function[42808]:0xa46e43
    dotnet.native.wasm.Main::start()@:wasm-function[133508]:0x230c7e8
    dotnet.native.wasm.GodotInstance::start()@:wasm-function[134260]:0x232b9bc
    dotnet.native.wasm.MethodBindTR<bool>::ptrcall(Object*, void const**, void*) const@:wasm-function[137157]:0x23ff93a
    dotnet.native.wasm.gdextension_object_method_bind_ptrcall(void const*, void*, void const* const*, void*)@:wasm-function[87320]:0x14f1f59
    dotnet.native.wasm.do_icall@:wasm-function[147637]:0x26189d3
    dotnet.native.wasm.do_icall_wrapper@:wasm-function[147549]:0x261538f
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x2608835
    dotnet.native.wasm.interp_runtime_invoke@:wasm-function[147589]:0x261680e
    dotnet.native.wasm.mono_jit_runtime_invoke@:wasm-function[151658]:0x26e159e
    dotnet.native.wasm.do_runtime_invoke@:wasm-function[150592]:0x26aff97
    dotnet.native.wasm.mono_runtime_invoke_checked@:wasm-function[150591]:0x26aff53
    dotnet.native.wasm.mono_runtime_try_invoke_byrefs@:wasm-function[150687]:0x26b5306
    dotnet.native.wasm.ves_icall_InternalInvoke@:wasm-function[149718]:0x268592e
    dotnet.native.wasm.ves_icall_InternalInvoke_raw@:wasm-function[149814]:0x2689e7b
    dotnet.native.wasm.do_icall@:wasm-function[147637]:0x26189f1
    dotnet.native.wasm.do_icall_wrapper@:wasm-function[147549]:0x261538f
    dotnet.native.wasm.mono_interp_exec_method@:wasm-function[147539]:0x2608835
    dotnet.native.wasm.interp_runtime_invoke@:wasm-function[147589]:0x261680e
    dotnet.native.wasm.mono_jit_runtime_invoke@:wasm-function[151658]:0x26e159e
    dotnet.native.wasm.do_runtime_invoke@:wasm-function[150592]:0x26aff97
    dotnet.native.wasm.mono_runtime_try_invoke@:wasm-function[150601]:0x26b0803
    dotnet.native.wasm.mono_runtime_invoke@:wasm-function[150637]:0x26b2ce0
    dotnet.native.wasm.mono_wasm_invoke_jsexport@:wasm-function[161345]:0x2839f50
    createDotnetRuntime/Module._mono_wasm_invoke_jsexport@http://127.0.0.1:8000/_framework/dotnet.native.js:14520:195
    wn@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:29440
    Vc/<@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:178845
    Vc@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:178996
    async*Godot/Module.callMain@http://127.0.0.1:8000/godot.js:70:37
    SafeEngine/start/Engine</</<@http://127.0.0.1:8000/godot.js:894:24
    promise callback*SafeEngine/start/Engine</<@http://127.0.0.1:8000/godot.js:893:25
    SafeEngine/start/Engine<@http://127.0.0.1:8000/godot.js:886:13
    promise callback*start@http://127.0.0.1:8000/godot.js:865:22
    SafeEngine/startGame/Engine<@http://127.0.0.1:8000/godot.js:932:22
    promise callback*startGame@http://127.0.0.1:8000/godot.js:931:8
    @http://127.0.0.1:8000/:146:24
    @http://127.0.0.1:8000/:161:10
    logging.ts:129:25
    

    Thanks for taking the time!


  • I tried exporting our GMTK game jam project but there’s an error when running it in browser:

    Want me to create an issue for it or is this a known issue?

    Full error
    [MONO] /__w/1/s/src/runtime/src/mono/mono/mini/aot-runtime-wasm.c:188 <disabled>
    Mc<@mono_wasm_invoke_jsexport (http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:172284
    @:wasm-function[161353]:0x27db323
    @:wasm-function[148375]:0x25e923b
    @:wasm-function[148280]:0x25e743d
    @:wasm-function[148282]:0x25e750b
    @:wasm-function[148283]:0x25e7540
    @:wasm-function[151868]:0x26965df
    @:wasm-function[147551]:0x25be71a
    @:wasm-function[147539]:0x25b1b0d
    @:wasm-function[148504]:0x25ed1d9
    @:wasm-function[147541]:0x25bdb91
    @:wasm-function[147539]:0x25b1a39
    @:wasm-function[147589]:0x25bf98f
    @:wasm-function[151658]:0x26875df
    @:wasm-function[150592]:0x2656cb5
    @:wasm-function[150591]:0x2656c71
    @:wasm-function[150687]:0x265bea9
    @:wasm-function[149718]:0x262d509
    @:wasm-function[149814]:0x263183c
    @:wasm-function[147637]:0x25c1ae8
    @:wasm-function[147549]:0x25be542
    @:wasm-function[147539]:0x25b1a07
    @:wasm-function[148285]:0x25e7584
    @:wasm-function[147548]:0x25be424
    @:wasm-function[147539]:0x25b1936
    @:wasm-function[147626]:0x25c127f
    @:wasm-function[147665]:0x25c29d2
    @:wasm-function[161284]:0x27d98bf
    @:wasm-function[105210]:0x1bc1a8b
    @:wasm-function[105221]:0x1bc46ba
    @:wasm-function[137662]:0x23c7ae1
    @:wasm-function[42805]:0xa2ed8c
    @:wasm-function[42808]:0xa30f39
    @:wasm-function[133508]:0x22bbe6f
    @:wasm-function[134260]:0x22daeb9
    @:wasm-function[137157]:0x23adb33
    @:wasm-function[87320]:0x14c7cdb
    @:wasm-function[147637]:0x25c1aca
    @:wasm-function[147549]:0x25be542
    @:wasm-function[147539]:0x25b1a07
    @:wasm-function[147589]:0x25bf98f
    @:wasm-function[151658]:0x26875df
    @:wasm-function[150592]:0x2656cb5
    @:wasm-function[150591]:0x2656c71
    @:wasm-function[150687]:0x265bea9
    @:wasm-function[149718]:0x262d509
    @:wasm-function[149814]:0x263183c
    @:wasm-function[147637]:0x25c1ae8
    @:wasm-function[147549]:0x25be542
    @:wasm-function[147539]:0x25b1a07
    @:wasm-function[147589]:0x25bf98f
    @:wasm-function[151658]:0x26875df
    @:wasm-function[150592]:0x2656cb5
    @:wasm-function[150601]:0x26574fc
    @:wasm-function[150637]:0x265991d
    @:wasm-function[161345]:0x27dae8c)
    createDotnetRuntime/Module._mono_wasm_invoke_jsexport@http://127.0.0.1:8000/_framework/dotnet.native.js:14520:195
    wn@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:29440
    Vc/<@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:178845
    Vc@http://127.0.0.1:8000/_framework/dotnet.runtime.js:3:178996
    async*Godot/Module.callMain@http://127.0.0.1:8000/godot.js:70:37
    SafeEngine/start/Engine</</<@http://127.0.0.1:8000/godot.js:894:24
    promise callback*SafeEngine/start/Engine</<@http://127.0.0.1:8000/godot.js:893:25
    SafeEngine/start/Engine<@http://127.0.0.1:8000/godot.js:886:13
    promise callback*start@http://127.0.0.1:8000/godot.js:865:22
    SafeEngine/startGame/Engine<@http://127.0.0.1:8000/godot.js:932:22
    promise callback*startGame@http://127.0.0.1:8000/godot.js:931:8
    @http://127.0.0.1:8000/:146:24
    @http://127.0.0.1:8000/:161:10
    logging.ts:129:25
        Mc logging.ts:129
        <anonymous> source47:41792291
        <anonymous> source47:39752251
        <anonymous> source47:39744573
        <anonymous> source47:39744779
        <anonymous> source47:39744832
        <anonymous> source47:40461791
        <anonymous> source47:39577370
        <anonymous> source47:39525133
        <anonymous> source47:39768537
        <anonymous> source47:39574417
        <anonymous> source47:39524921
        <anonymous> source47:39582095
        <anonymous> source47:40400351
        <anonymous> source47:40201397
        <anonymous> source47:40201329
        <anonymous> source47:40222377
        <anonymous> source47:40031497
        <anonymous> source47:40048700
        <anonymous> source47:39590632
        <anonymous> source47:39576898
        <anonymous> source47:39524871
        <anonymous> source47:39744900
        <anonymous> source47:39576612
        <anonymous> source47:39524662
        <anonymous> source47:39588479
        <anonymous> source47:39594450
        <anonymous> source47:41785535
        <anonymous> source47:29104779
        <anonymous> source47:29116090
        <anonymous> source47:37518049
        <anonymous> source47:10677644
        <anonymous> source47:10686265
        <anonymous> source47:36421231
        <anonymous> source48:36548281
        <anonymous> source48:37411635
        <anonymous> source48:21789915
        <anonymous> source48:39590602
        <anonymous> source48:39576898
        <anonymous> source48:39524871
        <anonymous> source48:39582095
        <anonymous> source48:40400351
        <anonymous> source48:40201397
        <anonymous> source48:40201329
        <anonymous> source48:40222377
        <anonymous> source48:40031497
        <anonymous> source48:40048700
        <anonymous> source48:39590632
        <anonymous> source48:39576898
        <anonymous> source48:39524871
        <anonymous> source48:39582095
        <anonymous> source48:40400351
        <anonymous> source48:40201397
        <anonymous> source48:40203516
        <anonymous> source48:40212765
        <anonymous> source48:41791116
        _mono_wasm_invoke_jsexport dotnet.native.js:14520
        wn managed-exports.ts:287
        Vc managed-exports.ts:65
        Vc run.ts:71
        callMain godot.js:70
        Engine godot.js:894
        (Async: promise callback)
        Engine godot.js:893
        Engine godot.js:886
        (Async: promise callback)
        start godot.js:865
        Engine godot.js:932
        (Async: promise callback)
        startGame godot.js:931
        <anonymous> (index):146
        <anonymous> (index):161
    





  • Got my mail:

    You’re officially in the reservation queue for Steam Machine 512GB with Controller

    When your Steam Machine 512GB with Controller becomes available, we will send you a separate email with the option to purchase. You’ll then have 3 days to complete the purchase before we cancel your reservation and move on to the next person in the queue.

    This is the only email you will receive about the results of the randomization. If you ended up with a reservation queue spot for more than one model, you were allocated a reservation for the highest end model, and were removed from all the others.





  • Yes, I got a Strix Halo machine before the RAM price hike and use it to run all my ML stuff on it.

    Currently using llama-swap with llama.cpp/ComfyUI and opencode/Open WebUI as frontend.

    I’m running Qwen3.6-27b, Voxtral Mini 4b, Piper and Qwen Image. Also, some embedding and reranking models.

    I use them for:

    • Tagging and classification of my documents in Paperless
    • Home Assistant (voice assistant)
    • Translations (both text and image)
    • Transcriptions
    • Some light coding and debugging
    • Avatar/Backdrop generation for DnD sessions





  • If you have trouble with outgoing mails, you can use a hybrid approach.

    Receive mails directly to your server but use a mail service to relay your outgoing mails. Configuration for that is very simple in mailcow and there are a few dozen (free) transactional email providers (e.g. Scaleway).

    That way you can keep receiving your mails privately and only have to give up some privacy when sending mails.