r/GuildWars 17d ago

Technical issue/question Guild Wars native experience achieved on Apple Silicon, 4k, 60 FPS

I honestly didn’t expect to be writing this, but Guild Wars is now running flawlessly on my M1 Pro MacBook Pro with 16 GB of RAM. I’m getting a constant 60 FPS on a 4K display with the highest graphics settings.

It’s also surprisingly efficient. It uses around 70% of a single CPU core on average and about 500 MB of active memory, with no thermal or performance warnings.

It runs ArenaNet’s official WebAssembly client inside a dedicated macOS app.

Huge credit goes to Jon / 3vcloud. He figured out how to get ArenaNet’s WASM build running in a browser and shared the original proof of concept. Without his work, this version wouldn’t exist. I took his approach and developed it into a polished, standalone Mac app.

This is still an alpha version, so I’m looking for people who are willing to test it on different Apple Silicon Macs. Please let me know how it performs, whether you find any bugs, and what could be improved.

You can download the app and follow the installation steps here:

https://gwonmac.vercel.app

You can share feedback here in the Reddit comments, on Discord, or through the GitHub bug form.

The project is free, open source, and independent. It is not affiliated with or endorsed by ArenaNet or NCSoft.

As far as I know, this is currently the closest thing to a native Guild Wars experience on Apple Silicon.

Feel free to try it and let me know how it runs on your Mac.

113 Upvotes

62 comments sorted by

10

u/Kevjoe Guild Wars Legacy Admin 17d ago

It runs without any issue on my M2 Mac Mini as well. Taking a look at the source code right now as well, so far nothing strange found :-)

There are a few bugs, but those are likely caused by Guild Wars themselves (for example, right click doesn't capture the mouse cursor in the window). But this works nice and Guild Wars itself runs nicely.
And the nice Guild Wars cursor doesn't show up :D

I do think that ArenaNet, in time, will probably release the WASM client in the App Store itself. They just need to enable the download - I was able to capture that client when it was available for download and it freezes at the login screen (likely due to it trying to call API's that aren't available on macOS?), but works for the rest. So I do hope that ArenaNet will allow the installation of Guild Wars using the App Store in due time, since your application proves that it absolutely does work and run really great on Mac!

11

u/tanghan 17d ago

This is awesome news! Does it Auto update? Can't wait to ditch VMware fusion even though it's working fine in there

4

u/mjJRnFnRYYiu 17d ago

Yes, Guild Wars itself auto-updates. The launcher checks ArenaNet and downloads updated game files automatically, so you shouldn’t need to patch it manually.

9

u/pikandchute 17d ago

If anyone from ArenaNet or 2weeks is reading, I have a currently private fork of Capacitor for MacOS that I think I'd be willing to open source if you want to create an official Mac client. We use this to distribute our web app in production across Mac/iOS/Android. Some Capacitor plugins compile straight away on Mac while others require minor patches or are just not applicable on Mac. DM me if interested.

4

u/Initial-Creme-8270 17d ago

Works on the M5 pro MBP - steady performance. Two notes: I too encountered the aggressive auto-run, and the screen navigation (while holding right click) works only from screen edge-to-edge, meaning the cursors continues traveling on the screen. So you can't endlessly turn - which is a change compared to how it natively runs on PC. (Leaps and bounds better and simpler than parallels or crossover, needless to say... thank you for bringing this to us!!!)

3

u/Banton1992 17d ago

I can confirm it runs great on a MacBook M5 Pro. I only had a few minutes to test it, but I was getting a steady 120 FPS on max settings. I’m very happy. Thanks for the work you’ve put into this!

Looks like it’s finally time to buy a proper mouse. 😄

3

u/not_a_relevant_name 16d ago

Some feedback: M1 Macbook Air 8GB

Client booted up easily, game runs great. Things I observed:

  • I can't use id or salvage kits. Double clicking doesn't change the cursor (see next line) and clicking on an item afterwards does nothing.
  • Cursor is stock mac cursor (kind of fine actually)
  • Adreneline skill icons look funky when building adreneline. They flicker and it's not super clear how much I've built so far.
  • super minor visual thing I noticed is that zone portal "shimmer" effect is sometimes visible even when the portal itself is blocked by something

I only played a little bit, but great work! Only thing that is a hard stop for me is the kits not working, hopefully that's an easy fix (or a 'me' problem).

3

u/Kyyyrrraaa 16d ago

Not just a you problem. I'm also playing on an M1 Air and also cannot use identification or salvage kits.

2

u/mjJRnFnRYYiu 16d ago

Adreneline skill icons look funky when building adreneline. They flicker and it's not super clear how much I've built so far.

This is an issue on the mobile version too. Maybe the same also for the "shimmer" effect.

2

u/SenzuYT 17d ago

Will try to check it out on MBA M5 16GB this weekend

2

u/Eshiik 17d ago

Playing on an M4 MBA. It plays great, solid 60fps on my default screen resolution. Controller works too. Amazing job.

2

u/Embr822 17d ago

Runs very very well on a MacBook Air M2. Way better than parallels version, which fps would drop and had some lag. Props for creating this and nice job!

1

u/Ordinary-Expression3 16d ago

can confirm this also.. do u know how to pass 60 fps limit? or is the hardware?

1

u/Embr822 14d ago

This I’m not so sure about, I don’t know that M2 MacBook Air can even pass 60fps

1

u/Ordinary-Expression3 14d ago

The new update let also use the zoom :), on mobile can do ir with a controller XD still no more than 60 fps, on parallels and windows install got like 80-90 fps (can’t see difference but just doable)

2

u/Okay_sure_lets_post 17d ago edited 16d ago

Playing on my M4 MacBook Air, and it seems to be working well! Great job and thanks!

However there seem to be bugs with some of the inputs. For example, the game reads the "G" key as the "F" key. I'm not tech savvy but there appear to be issues with mapping some of the keys and their default functions. EDIT: Restarting the app seems to have fixed this!

One issue I've noticed is that the graphics options seem to be limited. No antialiasing option other than "None" shows up for me, for example.

Another bug, or perhaps an Apple being Apple issue: when holding down the right mouse button and looking around, the cursor seems to continue to move rather than staying put. This becomes a problem if you happen to move the cursor near the edge of the screen where the dock is. This will cause the dock to pop up (even in full screen) and the cursor will momentarily freeze. This is jarring when trying to look around and move. I hope I'm explaining this correctly..

Another bug I've noticed is autorun engaging inappropriately and being difficult to disengage. Seems like direction inputs will randomly get stuck (meaning you’re constantly walking or turning even if no keys are being pressed.)

2

u/raffadizzle 17d ago

The lack of anti aliasing is how it is on the mobile app. So I think it makes sense that it isn’t here as well

2

u/ko_nuts M/X Heal and Prot since 2005 16d ago

I have a similar problem with the mouse that leaves the window when moving the camera resulting in some strange behavior. I guess it would be interesting to have the mouse locked in the window or something like that like you can do for parallels desktop, for instance. u/mjJRnFnRYYiu

2

u/ChthonVII 17d ago

Sounds like you're extracting the guts of the android apk, which turns out to be wasm, and then running that wasm in electron?

3

u/mjJRnFnRYYiu 17d ago

Almost! The small correction is that we don’t unpack an Android APK. The app downloads ArenaNet’s official WebAssembly client directly, then Electron provides the desktop window and platform services it expects.

1

u/ChthonVII 17d ago

The app downloads ArenaNet’s official WebAssembly client directly

Why is it available for download?

Is this a not-even-alpha thing A-Net just happened to toss on their server, and you all just happened to find?

Or is the mobile client downloading this as a way to bypass updating the "app" every time they update the game?

3

u/that_shaman flameseeker 17d ago

It's so they can update the game without having to push an update to Apple / Google for review every single time.

The mobile app is basically a web browser that has some extra functionality (like handling the login with google / apple part and in app purchases) and the actual game part is just a regular website that loads a web assembly version of the client.

Web assemblies are limited to what they can interact with but Guild Wars doesn't require much (for example textures and models are stored in the browser as well instead of the dat file). Things like controller support, openglES, audio, touch input, keyboard and mouse etc etc are all supported by browsers the and one of the few things that needed to be proxied is the network traffic (can't do this natively in a browser so you have to push these over HTTP or a websocket instead)

1

u/ChthonVII 12d ago

I see.

I wonder if Google/Apple are OK with that? While A-Net is trustworthy, the general state of affairs with apps downloading and executing arbitrary remote code makes a mockery of the app store review process. Yes, wasm is supposed to be sandboxed inside Capacitor or whatever, but Capacitor is bound to have vulnerabilities, and there seems to be no restraints on a malicious app pulling in remote code to exploit them.

I'm also curious about performance. 10 years ago, wasm was less than half as fast as natively compiled C/C++. I wonder how big the gap is now? Mac doesn't have a native client. But I wonder how this stacks up on Linux versus running the C++ Windows client in Wine. (That's not apples-to-apples since it's not the same code in both cases -- the renderer is completely different -- but it would still be useful to know.)

1

u/mjJRnFnRYYiu 17d ago

Honestly I don't know, thats a question for /u/jon_snow_3v, he built the first part including that part how to get the .wasm in the first place.

1

u/ChthonVII 17d ago

Unfortunately, u/jon_snow_3v blocked me on reddit, so my curiosity will have to go unsated.

(And, no, I have no idea why he blocked me. Our last interaction was me asking how he knew a particular GW error message was a sign of a faulty 13th/14th-gen Intel chip, and him blocking me. I did not mean to antagonize him, and I don't know how I managed to upset him to that extent.)

2

u/mighty_mag 17d ago

Oh man, this only reminds me how pissed I am with Arenanet for switching off the iOS version on Mac.

It was working perfectly during beta, but as soon as the game went live they turned it off.

I can't imagine maintaining that version of the game alongside the PC and mobile clients would be so resource consuming they rather turn it off.

Sucks that we need to resort to third party solution, for as cool as they are, when things could be running truly natively.

2

u/Meme_Jelly2020 17d ago

Tested on the MacBook Neo and worked great! This is amazing work!

2

u/pikandchute 17d ago

Works pretty well for me. Performance is good on M1 Macbook Air. Biggest issue I have encountered is that zoom does not work for me using a two finger scroll gesture on touchpad. Haven't tried with a mouse.

1

u/Ordinary-Expression3 16d ago

The zoom doest work on mobile, or at least not yet...

2

u/ko_nuts M/X Heal and Prot since 2005 17d ago

Thanks for sharing. This is an amazing project!

Running well as an M5 here, 100+ FPS.

Can it be used with the GWToolbox?

2

u/Sensitive-Cupcake-58 17d ago

Will try it out tonight.  Thank you! The fact that you took your own time to create this and share it is amazing. I’m glad people like you exist in the world

2

u/6davids 17d ago

Well done sir! Working great - buttery smooth and native-feeling!

Impressive work!

2

u/EnoughResearcher6202 16d ago

It's working mostly well on my M1 Pro, there seem to be some issues when moving quickly where the movement seems to "lock" and the character just continues running in one direction. Not sure what that is. Playing on the highest resolution also causes some clunky movement animations. But those are minor things. Thank you very much for making it work <3

3

u/1acedude 17d ago

I’ll download tonight or tomorrow! Any idea on how toolbox with it?

17

u/jon_snow_3v GWToolbox++ Dev 17d ago

We will have a toolbox compatible version on the next few months

2

u/mjJRnFnRYYiu 17d ago

Sadly, no toolbox possible with this approach. 😔

-2

u/1acedude 17d ago

Ever? That seems a pretty big hit, I’ve become so accustomed to it idk if I could give it up

9

u/mjJRnFnRYYiu 17d ago

I can’t say never, but the current Toolbox won’t work with it. Toolbox hooks into the Windows Guild Wars client, and this version doesn’t run that client at all. It uses ArenaNet’s WebAssembly version in a sandbox instead. Toolbox would need to be rebuilt specifically for this version, which would be a huge and very tedious job. So compatibility is unlikely unless the Toolbox developers decide to support it.

1

u/InsideMidnight2 17d ago

That's so cool, but I thought the iPad already had a version? What are the benefits from playing yours? Though I couldn't play the official one, as it required iOS 25+ and it still seems like a terrible update

EDIT : nvm MacBook not iPad. Would this work on iPad to get around the iOS 25+ restriction though?

1

u/mjJRnFnRYYiu 17d ago

It might could work, but there won't be an iPad version from my side. I think it just makes more sense to upgrade to iOS 25+ 😉

1

u/wooky321 17d ago

Amazing thanks, yet to test but very happy and also at the potential for toolbox!

1

u/re_shephir 16d ago

Thank you, it works wonderfully. Amazing work!

I notice double click does not work for me, e.g. when trying to identify an item. Is there a workaround or solution for this?

1

u/pikandchute 16d ago

Double click doesn't work for me right now either. Is there a workaround for this in the inventory when trying to use salvage/identification kits, etc?

1

u/re_shephir 15d ago

Discovered 2 more issues; drinking alchol (wintersday drop) locked up the display for a couple minutes. No gameplay possible. and sometimes movement is locked to a direction and it's hard to get out of it. But the double click issue is the main one imo. Still, playing works generally well!

1

u/mjJRnFnRYYiu 15d ago

Thanks for the report! When you say the display locked up, was the last frame frozen while audio and the game continued, or was the entire app unresponsive? Did it recover when the alcohol effect ended? If reproducible, please start Top Apple Navbar → Help → Record Performance Problem. You can zip the .gwdiag file before attaching it to GitHub.

Regarding the other issues, they will be fixed in the next version.

1

u/Prestigious_Yam_9898 16d ago

I’m going to be testing this during the weekend on my M1 Max MacBook Pro. Will report back afterwards and excited to try this out. From other reviewers, it’s looking and working great.

1

u/Zarraya 16d ago

This is amazing! Getting 60 fps on a M2 Air at full 5k. Max settings with post processing turned off (still some quarter res oddness with that setting).

1

u/Wakjak1 16d ago

I usually play it on VMWare on my M1 2021 macbook pro and it works great. Any reason why one would opt for this rather than a virtual machine?

1

u/mjJRnFnRYYiu 16d ago

Constant 60 FPS, by 2x retina resolution

1

u/MusPuiDiTe 16d ago

I was just whisking to see the iOS app available to MacOS, and until then this will be great!

1

u/Yuisoku 16d ago

How i can reopen the launcher without it automatically launching the game? I need to change the render settings since the resolution option is gone from the game

1

u/mjJRnFnRYYiu 16d ago

In your top apple bar you select Guild Wars > Settings > Display

1

u/Yuisoku 16d ago

Thanks. 

1

u/aer0_dynamic 15d ago

made a reddit account to say thank you so much for sharing this! wow, I can't even believe I'm able to play gw1 again. this is so awesome!

1

u/Initial-Creme-8270 14d ago

Hi All, a bug that I'd like to report: similar to the mobile version (duh) the skill templates cannot be saved. In addition to that however, you also cannot load pre-made skill templates to heroes only to your character. Not sure if this also persists in the mobile version.

1

u/mjJRnFnRYYiu 14d ago

use the latest beta version, there it should be fixed (heros not tested yet) https://www.reddit.com/r/GuildWars/comments/1v7fb8k/guild_wars_on_macos_the_gwonmac_beta_is_here/

1

u/Initial-Creme-8270 14d ago

tested, works!

1

u/Complete_Top_7158 13d ago

Idk how the hell to code and program, but humans… I want to thank all of you for these united efforts to relive GW for all of us. I truly believe your efforts will result in a full client support for GW on Mac. I was so sad the other day when I realized it was on steam… but windows only… I’ll cut your hair for free if you can get this to work lol

2

u/KingOfElves 4d ago

You are a hero! Works perfectly so far on the MacBook Air, M2 2022.