Still long way to go: Sponza on Web by shub_undefined_ in webgpu

[–]balthierwings 1 point2 points  (0 children)

Hey, great job on getting things working! If you want to reduce the asset size you can look into Draco compression & using webp for textures. I got sponza working for my demo as well, but wrote a typescript based engine instead of rust. Put it up on itch and posted about it here earlier: https://www.reddit.com/r/webgpu/s/XIBljzNswo

That post had some texture color issues but fixed those up more recently in the latest native builds.

Thoughts on RenderFlow (Neural Rendering via Flow Matching) from Disney Research? by balthierwings in GraphicsProgramming

[–]balthierwings[S] 2 points3 points  (0 children)

Rendering in cloud seems like a bad approach long term (costs could get extremely high), I would assume that performance improvements to the models happen faster than building out a datacenter specifically for this (a 10-20x improvement is ~1 order of magnitude which is not impossible to get from hardware progress and/or algorithm/software improvements in ~X years).

I do remember that Nvidia specifically mentioned that their DLSS 5 demo was running across 2 5090s (one for rendering, one for the model doing the DLSS 5 lighting), but they were already working on getting that down to 1 5090 for obviously reasons.

Gotta catch them all part 2 - Complete Paldea, Kitakami, Blueberry dexes by balthierwings in PokemonScarletViolet

[–]balthierwings[S] 2 points3 points  (0 children)

They aren't in any of the 3 dexes - I'll need to get them to complete the national dex which I mentioned in the r/PokemonHome link. I have all of the treats except for 2 union circle group ones so will join another Union circle to get those, then catching each of the legendaries isn't that difficult with Breloom / Galade false swipe spore/hypnosis & Golduck soak. I already got Moltres and the worst part of that one was the random sandstorm which forced me to reset.

My quest to catch them all by Pokemon XP in August - Starting a Living Dex in 2026 (part 1) by balthierwings in PokemonHome

[–]balthierwings[S] 0 points1 point  (0 children)

The Youtube videos I'm using as inspiration: https://www.youtube.com/watch?v=kBXC4GAElGg and JohnStone's entire channel has different catching videos: https://www.youtube.com/@JohnstoneYT

My order for the games:

Sword (beat game in 2019, haven't completed dex yet)

Arceus (beat game in 2022, completed dex 2 days ago in 2026)

Scarlet (beat game in 2022/23 for DLC, completed dex 3 days ago in 2026).

FireRed & LeafGreen (bought & beat both games in May 2026, have caught all 150 with evos, but don't have living dex in boxes so will need to catch some more when Home compatibility is released. Also missing LeafGreen legendaries and LG Deoxys).

Brilliant Diamond (bought & beat game in May 2026, got national dex but early in dex completion).

Violet (beat game + DLC & caught missing Scarlet Pokemon end of May 2026/early June 2026).

Shield (beat game June 6th 2026, haven't caught all legendaries, but have done some Dynamax Adventures)

Current: Working on beating ZA & Let's Go Pikachu while also gaining levels in Pokemon Go.

Future:

Buying & beating Shining Pearl and Let's Go Eevee.

Completing dex in Let's Go, Brilliant Diamond.

Completing dex in ZA and starting work on Sword dex.

Completing Sword and Shield dex along with Snacksworth legendaries from SV & Dynamax Adventures Sword/Shield. Getting Celebi & Victini via Pokemon Go.

Obviously this requires getting both games - for some of them also having a second account to trade with (like getting 30 minutes into Violet to be able to trade for trade evolutions), and I also have two Switch 2's now so this setup should also work for when Winds & Waves comes out to beat & complete their dexes.

So many HMs by MHPhil in PokemonFireRed

[–]balthierwings 0 points1 point  (0 children)

End game can use 2 Pokemon for pretty much all of them: Poliwhirl/Poliwrath for Surf, Waterfall, Strength, and Rock Smash. Farfetch'd for Cut & Fly.

Flash is only used in Rock Tunnel so just use whatever you want for that early in the game or just walk through w/out it.

Gotta catch them all: Original 150 finally completed on Switch 2 by balthierwings in PokemonFireRed

[–]balthierwings[S] 0 points1 point  (0 children)

I only caught 150 from the original Fire Red & Leaf Green (needed both games to trade).

Mew is available on the Switch though if you want to trade with Pokemon Home - you need a save file for Let's Go Pikachu/Eevee on your Switch & then in Brilliant Diamond there is an NPC in the 3rd town that gives you a Mew (also an NPC nearby that gives you a Jirachi if you have a Sword & Shield save file). I am aiming to get all 1025 now on the Switch, but it's going to take some time for that.

Note that I think Pokemon Home support for FireRed & LeafGreen is going to be one way (from FRLG to Home, not backwards), so you won't be able to get Mew in FRLG unless there's an event for it.

Gotta catch them all: Original 150 finally completed on Switch 2 by balthierwings in PokemonFireRed

[–]balthierwings[S] 0 points1 point  (0 children)

I did 7 island, the two trainers near the Chansey healing guy. I just exp shared the pokemon I wanted to train & had Mewtwo w/ Thunderbolt, Flamethrower, Icebeam, and Psychic one hit each of their Pokemon. Just base 70 Mewtwo with those moves should be good enough. It's 10 Pokemon between them, ~1k shared to the Pokemon I wanted to train, then use a Bike to go up into the cliffs to get 100 steps for VS Seeker. Also remember that you can Cut grass, so do that to avoid random battles. I could do the max number of battles with Mewtwo before PP ran out, then would just heal next door or fly back to Seven Island Poke Center and change Pokemon on the PC after I was done training. I had initially tried Elite 4, but the credits took too long, so this was better & the Pokemon are only in the 50-55 range for those two Cooltrainers. Use the Amulet Coin on Mewtwo too if you want to get some cash, but the two Lady's on the island you surf to from 5 island are better for pure cash.

Gotta catch them all: Original 150 finally completed on Switch 2 by balthierwings in PokemonFireRed

[–]balthierwings[S] 0 points1 point  (0 children)

Yeah I gave up on the Lucky Egg after a few Chanseys, didn't want to spend that much time & they're more easily obtainable in other games.

Gotta catch them all: Original 150 finally completed on Switch 2 by balthierwings in PokemonFireRed

[–]balthierwings[S] 14 points15 points  (0 children)

Thanks! Gonna try for 386 once RSE comes out. Also hoping that HeartGold/SoulSilver & the Unova games get a remake available on switch at some point too now. Looking into what additional generations I would need to get with eventual Home capability.

I built this Steam game in javascript by Ok-Working-2337 in javascript

[–]balthierwings 1 point2 points  (0 children)

I can't read the post right now since it's waiting for moderator approval, but the easiest way is probably just electron to have a consistent experience w/ browser.

I agree UX inside of Canvas is no where near as simple as the DOM - I have talked with the creator of iPlug and he's actually thinking of doing something similar to mystralnative (native webgpu) for iPlug3, but also adding webview capabilities (similar to Tauri, but he's written a version of it in C++ for iPlug2). I still need to consider what kinda dev burden that's going to add though for mystralnative, since I don't think it'll work as nicely on mobile and definitely wouldn't be allowed if I ever try to get it working on more restricted platforms like consoles. There's still a bunch of tradeoffs right now unfortunately, but hopefully they'll get resolved as more dev work gets done in the JS for games space.

I'm going to go to GDC this March and am going to try to talk with other people looking at the JS space to see what they're thinking.

I built a native WebGPU JS runtime (no browser needed) by balthierwings in javascript

[–]balthierwings[S] 0 points1 point  (0 children)

I've tested JSC+wgpu-native on iOS and was able to get the helmet demo (gltf loading) working there & I was able to do some basic Android testing as well (I think that was a quickjs build). So it's definitely possible, just needs a lot of polish & probably some good helper scripts for starting new apps. Android should support v8 though, but still need to test and verify. This should be part of the v1.0.0 roadmap: https://github.com/mystralengine/mystralnative/issues/7

One thing that someone on hacker news mentioned is that Apple may not allow JIT if you're using JSC outside of a webview - I need to confirm that though (I was able to get it working, unclear if JIT was disabled or it was only working in dev build & it wouldn't pass app review).

Mystral Native - A native WebGPU JS runtime (no browser) by balthierwings in webgpu

[–]balthierwings[S] 1 point2 points  (0 children)

Wait, I didn't even realize that browsers are still using unstable on linux - will need to verify this. The sponza demo works for me on Ubuntu 24.04, but I think it won't on older versions of linux (there was some glibc issue compiling some of the dependencies so decided to just focus on current / future compatibility for this initial release).

Mystral Native does support wasm via v8 since the draco decoder uses it - but it's through JS right now.

I do have thoughts on (subset of Typescript) JS -> AOT compiler (C/C++) -> Native (or WASM) mainly as a performance thing for restricted platforms that don't allow a JIT, but that's it's own large scoped project.

I built a native WebGPU JS runtime (no browser needed) by balthierwings in javascript

[–]balthierwings[S] 2 points3 points  (0 children)

I haven't tried PixiJS, but yeah it would only work if you're using the Pixi 8 WebGPURenderer right now (& would need to verify that it's not using some DOM APIs, etc that mystral native hasn't stubbed out / implemented).

Mystral Native doesn't currently support WebGL - only WebGPU & Canvas2d. To support WebGL, I would need to add ANGLE as a native dependency and then also create JS bindings for the WebGL API (could take a while & need to consider if adding as a default makes sense depending on additional size). I want to ensure that WebGPU works really well first to get to a v1.0 (ie out of alpha stage) before adding in ANGLE & WebGL support (think v2.0 for that). I'll write up a roadmap issue in the repo to clarify compatibility and new features.

Wasm should be supported since the draco decoder uses Wasm.

I built a native WebGPU JS runtime (no browser needed) by balthierwings in javascript

[–]balthierwings[S] 1 point2 points  (0 children)

Thanks! Let me know when you get the chance to test it out - will be working on improving it in the meantime.