Description
zNes is a Cinema 4D plugin that allows you to play NES games directly within your favorite 3D modeling software. It does not aim to replace existing NES emulators or provide a complete emulation solution. Instead, zNes is more of a prototype that explores new creative possibilities by repurposing Cinema 4D from its primary role. This plugin was developed in C++ by using only the tools built into Cinema 4D, without relying on external libraries.
Disclaimer
This software is provided "as-is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
Please note :
- No games are provided with this emulator. Users are responsible for obtaining and installing their own games.
- This emulator was created for educational and learning purposes only.
Features
- Compatible with most NES games.
- Offers a variety of image filters : (HiRes, GrayScale, CRT)
- Frame rate control.
- Customizable keyboard commands.
Compatibility
This plugin has been developed and tested exclusively on Cinema 4D 2024.0.0. No guarantee is provided regarding its compatibility with earlier or future versions of Cinema 4D.
Limitations
- Sound is not supported in this version.
- Gamepad support is currently unavailable.
- There is no save system in place at this time.
NOTE
The Mac version is not yet notarized (I do not have an Apple developer account). Therefore, a warning message will appear when you first use the plugin on a Mac, and you will need to manually authorize it through the security panel.
Credits
This plugin is the result of a previous project aimed at creating a NES emulator in Cinema 4D, where I used particles (Thinking Particles) to display the pixels of the game screen (you can consult this project here). Unfortunately, the source code of the initial project was lost. Therefore, I decided to resume the project, but due to lack of time, I opted for an approach based on an existing project. Thus, this project is somewhat a fork of the initial project by @ocfbnj for the core part of the project. I would like to thank him for his great work👍🏼.