Congratulations on what looks like a really nice effort - I'm looking forward to trying it out. Out of curiosity, what are your main reasons for not making it a joint effort with RetroArch? I'm a modularity and reusability freak, but I know often there can be quite compelling reasons for not doing it.
OpenEmu has been in development for a really long time, first around 2009 which is before RetroArch came around. Our focus has always been a native OS X application while theirs has been cross-platform. Also, cross-platform UI's are a pain!
The hard part is that once you go cross-platform, there's no such thing as a "native UI". If you target just one single environment, it'll be so much easier to make something that feels like it belongs there.
Reverse engineering is legal. However, check your local laws and as always, use your best judgement when it comes to playing games that you own or some great Homebrew as found on sites like these: http://pdroms.de
Don't forget that you can use some great adapters like Retrode on carts you already own! https://www.retrode.com
Talk about polish. When you map buttons, the controller greys out with a circle that animates its position as you choose the next button to map. Im going to hook up some dual shock 3 controllers when I get home to really test this out.
edit: I assume these little things are the reason why it would be difficult to port to other platforms. From what I understand, Apple has animation built into its core UI framework
Yeah. Core Animation[1] is hardware accelerated too, which makes things nice and slick. Having standardised animations is also good because it ties the the GUIs from different apps together nicely.
That's not exactly an unbiased source. For example:
> Are Game Copying Devices Illegal?
> Yes.
I'm pretty sure that's complete crap. There are substantial non-infringing uses for such devices (e.g. playing your own games on your own computers). Using such devices to make and distribute illegal copies would, of course, be illegal, but the devices themselves aren't.
I think they are correct in the part you quoted, but I wouldn't take them at face value in general.
Yeah, it's definitely fair use to make backups of your own games on the same medium. Tools like the Retrode are great to use with your carts.
Nintendo is attempting to control the message (no one is going to check them on it and they're deliberately being ambiguous) and scare people away who would normally just be pirating their old games.
OpenEmu is a front end for a lot of emulator engines. Porting this to Linux or Windows would require a rewrite since it's written for OS X technologies.
A complete rewrite as this is a native cocoa app. We don't have any plans to do this but I recommend using RetroArch which is a great multi-platform emulator.
I have always wanted an interface like this on Linux. You damn fancy Mac hipsters and your single attractive UI library and your "just works", get offa my lawn! waves ancient GTK+ shotgun
That's partly why so many folks don't use linux. We love our nice UIs. I tried Elementary OS[1], but even that had really rough corners, and poor application integration. It's a real chicken-and-egg problem.
Have you tried it recently? I tried an early beta and it was really rough around the edges. I've been using it in production since beta 2 and it is very very polished.
Oh wow, that actually looks rather nice[1]. The UI is ugly from a purely aesthetic point of view, but the foundations look rather solid. And Objective-C? Nice.
It's OpenStep for 2007... I'm super tempted to get into it more and see if it can't be updated. Big project, but might be fun to hack on. It's architecture is nice, and if you've done OS X programming, its very similar (or Nextstep or Gnustep)
I have always wanted an interface like this on Linux. You damn fancy Mac hipsters and your single attractive UI library and your "just works", get offa my lawn! waves ancient GTK+ shotgun
I'll be sticking to the original emulators used for now. So far I've had several crashes, many games aren't detected, and control configuration has layout errors/doesn't work (keyboard controls don't respond in game). Furthermore many features in the original emulators are not present - rewind and fast forward, quick save/quick load keyboard bindings.
I really appreciate the effort but for now the drawbacks far outweigh the advantages (mainly a nice library interface). I've checked in on OpenEmu over the years and hope to use it in the future.
OpenEmu is meant to remove a lot of the complexity out of emulation. Some more advanced features we'll expose in the future. I'd be interested in knowing which games aren't being 'detected' and your input issues might be specific to a controller you're using.
> rewind and fast forward, quick save/quick load keyboard bindings.
You need to explore the app a little more. In controller prefs, under "Special Keys" at the bottom we have binds for quick save/load and fast forward.
HN threads aren't good for bug reports. Luckily this is open source and we can patch and fix things :)
Edit: By the way, having Google Chrome open with their gamepad API enabled is known to break input for some reason. If one has that open, please close and try input in OpenEmu again.
Grab our 'Experimental' build where we have way more cores including Atari 2600. We'll continue to add more in the future, though not sure how we'll handle the old 8-bit computers just yet.
I hate to nitpick, but I assume you want some feedback, right?
On your screenshot, http://openemu.org/img/controls-prefs.png , you appear to be missing an option for the B button. Also, I know this is hugely a personal preference, but the wood grain makes reading the text quite a bit more difficult for me. Now that Jony Ive's been removing skeuomorphism in OS X and iOS, it might help consistency to remove and/or tone that down, possibly?
The scrollbar to see the starter pack games does not work with my browser (Firefox 17.) I can't click it, use arrow keys, or anything of the sort.
Aside from that, it looks really great! I'll try it out when I boot over to OS X again.
Happy to see another project interested in game libraries and auto-mapping gamepads! This will definitely be my top multi-emulator recommendation going forward.
I would like to ask where you're getting your box art from, and what you do when box art isn't available? (eg no way you have box art for Super Mario World + All-Stars, as it never had a box; and you probably don't have any for obscure Japanese titles, I am guessing.) Also, if you support Japanese boxes, how do you handle the orientation differences between US (horizontal) and JP (mostly vertical, some horizontal)?
Lastly, how do you handle multiple identical controllers plugged in at once? It seems that most USB gamepads lack the serial# field, so the only way to uniquely distinguish them is by USB port# + vendor ID + product ID combined. The downside there is if you move a gamepad to another USB port, the mappings need to be updated again.
That whole field scrolls down, just doesn't appear so from the screenshot. Seems we can polish up a few things on the website still.
I have to drag the slider for that horizontal scrollbar but I'm using Firefox 26.
We're using a database called OpenVGDB that I've co-created. I'll hop on your forums later as I'd like to talk to you about it more. It handles multi-region and "world" roms of all types and depending on your location (operating system supplied), can deliver you the correct cover and metadata.
For input, we're still sorting out cases especially with odd adapters and hubs. We generally go by the port and vendor/product ID.
I generally like this, but it needs to ditch the weird animated background of the first-startup screen and the wood-grain background of the control settings screen.
Ah yes. Cheers and congrats on this, I've been watching you guys since almost the beginning. Have been enjoying OpenEmu on my Air and advocating to as many people I know who are also on OS X and love emulation.
I really want to contribute, but that will have to wait til next year when I'm a bit more acquainted with Obj-C.
65 comments
[ 5.6 ms ] story [ 127 ms ] threadOne has a polished cocoa UI, the other is a cross-platform app. There's no animosity between the two projects here in case anyone is curious.
OSS with polished UI's are rare and desperately needed. Nice work.
Snes one runs fairly well.
Reverse engineering is legal. However, check your local laws and as always, use your best judgement when it comes to playing games that you own or some great Homebrew as found on sites like these: http://pdroms.de
Don't forget that you can use some great adapters like Retrode on carts you already own! https://www.retrode.com
edit: I assume these little things are the reason why it would be difficult to port to other platforms. From what I understand, Apple has animation built into its core UI framework
[1] http://en.wikipedia.org/wiki/Core_Animation
> it is illegal to download and play a Nintendo ROM from the Internet.
Source: http://www.nintendo.com/corp/legal.jsp#download_rom
> Are Game Copying Devices Illegal?
> Yes.
I'm pretty sure that's complete crap. There are substantial non-infringing uses for such devices (e.g. playing your own games on your own computers). Using such devices to make and distribute illegal copies would, of course, be illegal, but the devices themselves aren't.
I think they are correct in the part you quoted, but I wouldn't take them at face value in general.
Nintendo is attempting to control the message (no one is going to check them on it and they're deliberately being ambiguous) and scare people away who would normally just be pirating their old games.
[1] http://elementaryos.org/
[1] http://etoileos.com/
I really appreciate the effort but for now the drawbacks far outweigh the advantages (mainly a nice library interface). I've checked in on OpenEmu over the years and hope to use it in the future.
> rewind and fast forward, quick save/quick load keyboard bindings.
You need to explore the app a little more. In controller prefs, under "Special Keys" at the bottom we have binds for quick save/load and fast forward.
As for "drawbacks" and any other issues you're having, please submit a detailed report: https://github.com/OpenEmu/OpenEmu/issues
HN threads aren't good for bug reports. Luckily this is open source and we can patch and fix things :)
Edit: By the way, having Google Chrome open with their gamepad API enabled is known to break input for some reason. If one has that open, please close and try input in OpenEmu again.
Edit: Dammit, I'm supposed to be doing something productive. Well, it is a holiday week... Umm....
PS yes I am old
I hate to nitpick, but I assume you want some feedback, right?
On your screenshot, http://openemu.org/img/controls-prefs.png , you appear to be missing an option for the B button. Also, I know this is hugely a personal preference, but the wood grain makes reading the text quite a bit more difficult for me. Now that Jony Ive's been removing skeuomorphism in OS X and iOS, it might help consistency to remove and/or tone that down, possibly?
The scrollbar to see the starter pack games does not work with my browser (Firefox 17.) I can't click it, use arrow keys, or anything of the sort.
Aside from that, it looks really great! I'll try it out when I boot over to OS X again.
Happy to see another project interested in game libraries and auto-mapping gamepads! This will definitely be my top multi-emulator recommendation going forward.
I would like to ask where you're getting your box art from, and what you do when box art isn't available? (eg no way you have box art for Super Mario World + All-Stars, as it never had a box; and you probably don't have any for obscure Japanese titles, I am guessing.) Also, if you support Japanese boxes, how do you handle the orientation differences between US (horizontal) and JP (mostly vertical, some horizontal)?
Lastly, how do you handle multiple identical controllers plugged in at once? It seems that most USB gamepads lack the serial# field, so the only way to uniquely distinguish them is by USB port# + vendor ID + product ID combined. The downside there is if you move a gamepad to another USB port, the mappings need to be updated again.
> On your screenshot, http://openemu.org/img/controls-prefs.png , you appear to be missing an option for the B button
That whole field scrolls down, just doesn't appear so from the screenshot. Seems we can polish up a few things on the website still.
I have to drag the slider for that horizontal scrollbar but I'm using Firefox 26.
We're using a database called OpenVGDB that I've co-created. I'll hop on your forums later as I'd like to talk to you about it more. It handles multi-region and "world" roms of all types and depending on your location (operating system supplied), can deliver you the correct cover and metadata.
For input, we're still sorting out cases especially with odd adapters and hubs. We generally go by the port and vendor/product ID.
I really want to contribute, but that will have to wait til next year when I'm a bit more acquainted with Obj-C.
I've just installed OpenEmu on OSX 10.7.5.
It scanned for my PCE roms and then crashed. When I relaunch I get this prompt: "Restore Windows" and two choices "do" or "don't".
Both don't work. It quits. There's not even a crash report.