Dolphin - Product Vision and Problem Analysis
The GameCube (GC) and Wii made by Nintendo are two popular video game consoles with over 122 million sold units worldwide1. Because the production of the GC, Wii and even the Wii U (which is backward-compatible with Wii games) stopped years ago, it has become harder to find such a console and play their games. This is where Dolphin comes in. Dolphin is a free, open-source emulator which was originally released as a sole GC emulator in September 2003. Nowadays it enables users to play their favorite GC and Wii games from their PC and since 2013 even from their smartphone2.
As stated, the main capability of Dolphin is that it allows users to play GC and Wii games on their PCs and Android devices by emulating the GC and Wii hardware. The only difference between the PC and Android versions is the user interface, but they use the same code for emulation. Another capability of Dolphin is that users can connect many different controllers to play these games and individually map the inputs of these controllers. Because of this, users are not obligated to use GC or Wii controllers to play the games but can use any controller accessible to them. Furthermore, Dolphin allows users to connect to the internet to play their games online. This creates the possibility to play online multiplayer games with other people3, which is especially valuable since the original hardware’s online functionality has been discontinued. Another capability of Dolphin is that it runs games independent of the system region as opposed to the original hardware, which has a region-lock built into the system. Finally, Dolphin features tool-assisted speedrun (TAS) technologies4. With this, the users can define exact inputs on every frame and have the games all planned out. This allows users to execute precise gameplay which human players are incapable of.
The stakeholders of Dolphin
There are several stakeholders involved in the Dolphin project. The first of them being the Dolphin developers, who spend their free time developing the emulator and creating a better version of the software. Their original motivation was their passion for the GC and Wii systems and wanting people to be able to play those games any way they like. Since Dolphin is free and has no donation system in place, the developers can only afford to work on Dolphin in their free time. Maintaining a system of this scope with only the original developers would have been too demanding of a project, which is why it is important that Dolphin is an open-source project.
Second, the end-users, who download and run the software to be able to play the GC and Wii games, are also involved in the project. They need the software to be able to run the games they want to play without crashes and other issues. As long as everything works, they are satisfied. However, a small group of users wants more than that. Thinking of YouTubers, Twitch streamers, e-sporters and speedrunners, they want more than just working games. For them, it is essential that the emulation is as close to the original hardware as possible to be able to create content from it or set the fastest speedrun on certain games. For example, a lot of speedruns heavily depend on glitchy behavior that would not occur during normal gameplay, like floating-point rounding errors, memory buffer overflows or undefined behavior. Therefore Dolphin needs to have the games running the same way as the original ones.
Nintendo as a company is also a stakeholder since they are the owners of GC and Wii and are therefore affected by emulators of those consoles. But in contrast to the Dolphin developers and the end-users, Nintendo is not interested in Dolphin at all. Nintendo is not approving any unauthorized form of distributing or playing their games5. So, although not on the positive side, Nintendo is a stakeholder nonetheless.
The last stakeholders are third-party game developers. Their GC and Wii games are bought and played which makes them somewhat involved in Dolphin. Although their games for the GC and Wii are not in production anymore and therefore not sold, having people play the game can create interest in other games of these third-party game developers.
Functionality and Operation
Since Dolphin’s main capability is being able to play GC and Wii games, the key quality attributes of the system are mostly focused on functionality and operation attributes. Correctness and completeness, for example, are two main key quality attributes as these indicate that the user should be able to play the games to their full potential. Correctness, in this case, points to the fact that the game runs exactly as it does on real GC and Wii hardware and completeness makes sure that users can play the full game and use all its functionalities instead of playing only a partial game.
An attribute closely related to this is reliability. Reliability is important when playing games since you do not want Dolphin to crash while playing. Games from the GC and Wii era usually do not have an autosave feature, so if Dolphin crashes, players would lose all their progress after their last manual save.
Two other key attributes that can be identified for Dolphin are usability and performance. As mentioned before, users must be able to play the complete game. Games in general should run with minimal input lag and high frame rates to be enjoyable. However, GC and Wii games usually run at a locked framerate6. Running these games at a lower frame rate slows down the game speed as well. It is therefore important for Dolphin to perform well enough to consistently meet the target framerate. Having to cope with input delays and frame-drops makes a game unplayable, which is why, next to completeness, the games also need to run smoothly for them to be usable and enjoyable.
Last, aesthetics play a big role for Dolphin as the graphics of a game can impact playability. Dolphin strives to make games look as accurate as possible to the games on original hardware, but it also has optional settings to make them look even better, such as increased internal resolution, widescreen hacks, and support for HD textures.
External dependencies
A large part of the external context of Dolphin consists of application programming interfaces (APIs) that handle the graphics of the games. The users of Dolphin can choose which API they want to use for their game. The options for this are Vulkan, OpenGL and DirectX, with none of these being necessarily better than the others7. For these graphic APIs, the best choice all depends on the combination of graphics card, processor etc.
Another external context for Dolphin is the Google Play Store. Since Dolphin can be run on Android devices, the Google Play Store is the way to get Dolphin on such an Android device. This, therefore, makes it an external context for the usage of Dolphin. In contrast to this, the Apple App Store does not have the option to download Dolphin as it is forbidden to distribute emulators in the App Store.
The last part of the external context of Dolphin includes the GC and Wii games that can be played with Dolphin. Since these are not part of Dolphin but are required to be able to do something with Dolphin, they are part of the external context.
Ethical considerations of Dolphin
With an emulator, people are less likely to buy the actual console if they can play the games on their PC. However, since the GC and Wii are already out of production, this may not be that big of a problem. Also, emulators like Dolphin provide a possibility to play games people bought while the dedicated consoles are no longer available. In that way, Dolphin is quite ethical.
However, as game developers often use the strategy of remastering a game to get a lot of sales for a low investment8, being able to play that same game on an emulator might disrupt that strategy. When players can just use their old version of the game on their already owned PC, there is no need to buy the new game and perhaps a new console. In that sense, Dolphin may not be as ethical because it possibly drops sales for future releases of the games. Another unethical part of Dolphin is that users may be more likely to download games illegally to play. Although Dolphin states on their website that they do not condone piracy, if some games are not being sold anymore, people have to download them illegally in order to play them. Especially since Nintendo does not offer good alternatives for playing older games on modern hardware.
These considerations created a discussion of whether emulators should be legal or not which is still going on to this day. Juridically seen, Dolphin, and emulation in general, is perfectly legal in and of itself, and only the methods to obtain game ROMs are in a gray area.
To conclude, Dolphin being open source gives a lot of developers the opportunity to work together on software that a lot of people enjoy which is why it is such a great project. In the future Dolphin aims to get even more games running smooth and bug-free, but this remains difficult since perfectly emulating the CPU of the GC and Wii is a big challenge. Since still only 36% of all GC and Wii games run perfectly3, there is more than enough to do in the future. Because Dolphin does not have a specific roadmap, it is unknown in what timespan these changes will roll out.
-
VGChartz. (March, 2022). Retrieved from: https://www.vgchartz.com/analysis/platform_totals/ ↩︎
-
Ryan Whitwam. (April, 2013). Retrieved from: https://www.androidpolice.com/2013/04/09/new-app-dolphin-gamecube-and-wii-emulator-arrives-in-google-play-as-a-very-buggy-pre-alpha/ ↩︎
-
Dolphin. (March, 2022). Retrieved from: https://dolphin-emu.org ↩︎
-
kevjm19. (March, 2018). Retrieved from: https://www.instructables.com/Make-a-Tool-Assisted-SpeedrunSuperplay-TAS-Dolphin/ ↩︎
-
Nintendo. (March, 2022) Retrieved from: https://www.nintendo.co.uk/Legal-information/Nintendo-s-Anti-Piracy-Programme/Nintendo-s-Anti-Piracy-Programme-732261.html ↩︎
-
Gaming Section. (March, 2022). Retrieved from: https://gamingsection.net/news/what-fps-does-gamecube-run-2/ ↩︎
-
Dolphin Wiki. (March, 2022). Retrieved from: https://wiki.dolphin-emu.org/index.php?title=Configuration_Guide ↩︎
-
James Brightman. (August, 2017). Retrieved from: https://www.gamesindustry.biz/articles/2017-08-07-video-game-remastering-is-a-win-win-for-publishers ↩︎