Arquivos da etiqueta: Netplay

Dolphin Progress Report: August 2018

One of the most interesting challenges of developing an emulator is that both the target hardware and most of the target software start out as black boxes. As often mentioned within emulation circles, the first step to developing an emulator for a console is getting unsigned code running on real hardware. While running unsigned code on the GameCube can be a bit of a pain, requiring custom hardware or a mixture of the broadband adapter and certain games, the Wii has one of the most robust homebrew environments of any console. Just about anyone can download devkitpro, write their own homebrew, and run it on the Wii.

The truth is that Dolphin is mostly used as an emulator for retail games, but it can also be a useful step for testing homebrew and hacks. After all, when running in Dolphin, users can pause execution, dump RAM, and poke memory without the need for a USB Gecko. While the golden age of Wii homebrew has long passed, several game hacks are still under active development and the Wii remains one of the easiest game consoles to jump into and develop software. Because homebrew can rely on behaviors that games wouldn't ever want to do, even the simplest of projects can stumble into emulator bugs.

Developers kind enough to make their homebrew open source give Dolphin developers an interesting way of debugging issues. It's one of the rare cases where the software being debugged isn't a black box! This greatly cuts down how much effort and expertise is needed to debug what is happening in an issue - instead of mapping out what a game is doing through assembly, we can just look at the source code! Users who write tests that break Dolphin and provide source code give us a much easier look than trying to reverse-engineer what closed source software is doing.

This month, two bugs were discovered that, to our knowledge, do not affect any retail software! Thanks to homebrew projects, these bugs are now a thing of the past. In addition to that, Dolphin on Android has seen a myriad of improvements since our article earlier this month, and netplay saw some new features to make setting up games easier along with a new mode to reduce latency in three/four player matches!

Seguir lendo

Dolphin Progress Report: July 2018

On July 13th, 2008, Dolphin went open source, now just over ten years ago. While it could be easy to drift off into how much things have changed... there's one particular feature that has never quite lived up to the hype despite debuting that very same year - netplay.

As surprising as it may sound Dolphin Netplay has been around since the emulator went open source. For roughly a decade, users have tried their hand at taming the beast of synchronizing multiple instances of a GameCube and Wii despite their relative complexities. Netplay allows users to run the same instance of game on multiple computers by having two or more emulators in the exact same state, only transferring inputs between one another. By staying in lockstep like this, theoretically the emulators' states will never diverge assuming perfect determinism. This would allow people across the world to play a game together, even if it only featured local multiplayer on the console.

The problem has always been attaining that determinism. Back in the early days of netplay, it didn't especially matter what settings were used; Dolphin wasn't deterministic enough to stay in lockstep for very long. Then in the early days of the 3.0 era, it was finally possible to stay synced - if you were willing to sacrifice audio and performance. Early netplayers would hack up Dolphin to reduce requirements with 30 FPS hacks to Super Smash Bros. Melee, hacks to LLE audio to make it slow down less during attacks, and much more.

Despite the stutters and desyncs, some serious Melee players saw the potential and kept with the project. It wasn't until New-AX-HLE Audio (part 2) hit Dolphin that audio was both performant and deterministic enough to use in netplay. By the time Dolphin 4.0 rolled around, netplay had become a staple for Melee users and could be used by advanced users willing to suffer through some annoying quirks.

In the last few years, a focus has gone toward adding highly requested features to make netplay easier to use. Dolphin's STUN service allows some users who cannot port-forward play on netplay without issues, saves can be disabled to make synchronizing party games easier. But the one constant is that despite all these advances, simply getting netplay to work was a chore and crashes were common even if you did everything right.

Getting netplay into a more user-friendly state has been quite the process. In July, we saw some of the most drastic changes to netplay that we've seen in the past couple of years! Emulated Wii Remotes also saw huge usability improvements and some non-NVIDIA Android devices will finally be able to use Dolphin's Vulkan backend. If that wasn't enough, spycrab0 delivered some very big improvements to the DolphinQt GUI to give a new way to display your favorite games in the gamelist. Let's not delay any longer, please enjoy this month's Dolphin Progress Report.

Seguir lendo

Podes continuar a discusión en o fío do foro deste artigo.

Dolphin Progress Report: September 2017

While an emulator's primary job is to emulate, there's usually a lot more that goes into a good emulator. For Dolphin, it may feel like a lot of work has gone toward luxury features and optimizations rather than improving accuracy and compatibility. For example, Ubershaders is a wonderful, game-changing feature, but it can't fix any bugs in emulation. With another of those huge features on the brink, it's important to highlight that no one has forgotten about Dolphin's weaknesses - it's just getting harder to fix them. Most of the games that no longer work in Dolphin either require better timings (which slow emulation and need to be hardware tested,) or rely on undocumented behaviors that have to be painstakingly sought out, rather than stumbled upon.

Case in point, fixing one of those cases could require weeks of devotion and every development tool in our arsenal just to locate the bug. With Red Steel, developers ended up having to reverse engineer why an engine bug affected Dolphin but not the Wii.

Seguir lendo

Podes continuar a discusión en o fío do foro deste artigo.

Dolphin Mega Progress Report: July and August 2017

July and August have been busy on the blog. On top of working on this Mega Progress Report, two feature length articles had to be made after developers selfishly merged several huge, highly anticipated features without considering that it makes work for us here at the blog! Well, the extra work-load is well worth having the incredible Ubershaders and support for Dragon Quest X!

But even beyond those two massive articles, we've been hard at work keeping up with everything else going on because this is going to be a big one. Adding to that someone on the blog staff thought this month of all months would be a good idea to try and harness the power of the blog to get extra testing on some old issues. So buckle up, this is going to be a long read!

Seguir lendo

Podes continuar a discusión en o fío do foro deste artigo.

Dolphin Progress Report: June 2015


As the twilight of the Dolphin 4.0 era approaches, code cleanup and regression hunting have become a high priority, fixing the serious and minor issues that have cropped up over the past year and a half that remain unaddressed. From remedial problems such as INI issues to Real Wiimotes issues on OS X, a lot of those important minor issues have been tackled. As if that wasn't enough, there are still exciting developments within several core features to keep users satiated in this month's Progress Report.

Seguir lendo

Podes continuar a discusión en o fío do foro deste artigo.