danwinckler.com/programming


First things first: Open Emu v1.0.0b2 is now available, featuring a massively refactored architecture, refined user interface, several new emulator cores (GBA, Genesis and SNES), and the first public release of the Quartz Composer plugins. Go get it at openemu.sf.net. :D Let us know how you like it and please do send us video, screenshots, bug reports, and tag your stuff on other sites with “openemu” so we can find it.

Open Video Conference

Although I missed most of the conference, what I did experience at OVC on Saturday and Sunday was great: met many interesting people, ingested tasty ideas and saw some great demos. More on this soon. :)

Here’s a rough demo video of Open Emu I whipped up for the conference despite intense sleep deprivation.

<br/>

Open Emu demo from Dan Winckler on Vimeo.


Open Emu: video-glitching with unintended consequences from Dan Winckler on Vimeo.

In this brief screencast, I show some of the video-glitching you can do with the Open Emu NES plugin (for Quartz Composer), resulting in some intriguing unintended consequences. In a nutshell, the video glitches can be physical, i.e., Mario and Luigi can step on the random blocks we’re writing to the screen. This opens up interesting possibilities for on-the-fly level-editing, cheats, and tormenting NES sprites.

Sorry about the somewhat crunchy audio — I accidentally captured it at a low sample rate.

Jan
14

Update: June 22, 2009

Open Emu version 1.0.0b2 is now available, featuring a massively refactored architecture and several new emulator cores. Go get it!

the Open Emu logo

Open Emu, an application I helped develop, is now available for download at SourceForge.net. Here’s my part of the story.

image: a screenshot from my visuals

At the first Blip Festival in 2006, I generated some of the visuals with jit.atari2600, a plugin for Max/MSP/Jitter (my platform at the time) that encapsulated an open source Atari emulator. Jit.atari2600 was buggy so I quit using it in performance, but the idea of encapsulating an emulator and ‘bending’ it in software — as my friends noTendo and No Carrier do with hardware — stuck with me. Early last year, I began looking for an open source Nintendo emulator and learning Objective-C/Cocoa in order to try making an emulator plugin myself. I found Open Nestopia, an open source, Cocoa-based port of the fearsomely thorough and accurate Nestopia emulator by Martin Freij, and started work on the plugin during my residency at the Experimental Television Center. I contacted Open Nestopia’s developer Josh Weinberg who generously, patiently and kindly helped me get the app to build and get a sense of his code and what to do with it. Then I got really, really busy with other things and shelved the project until August when, with the help of Josh and Anton, I got the plugin to build and run in QC.

Anton joined the project — which in the meantime Josh had transformed into Open Emu, a framework for multiple emulators (NES, Atari, Sega, Gameboy) — and development really took off. Now, five months later, our first beta release of Open Emu is live on SourceForge and the Quartz Composer plugins are in private beta and soon will be public. I couldn’t have learned this much and brought the plugin this far this quickly without the overwhelmingly generous help of Josh and Anton especially, as well as all the other friends and developers who’ve patiently answered my noob questions these many months. Thank you Josh, Anton, Eric, Ben and everyone else.

Gamers! If you’d like to play your favorite old school games on Mac OS X, download the beta and give it a whirl. It’s still got some bugs so we’d very much appreciate your feedback.

Visualists and hackers! Stay tuned to the Open Emu site for our Quartz Composer plugins, coming soon.

**Oh, and if you’d like to see me use Open Emu in a show, come out to 8static in Philly next month.

p.s. We’re having a private beta on the plugins right now. If you’d like to try them, let me know. Note: you must have the Leopard Developer Tools (and thus Quartz Composer) installed for these to be useful.

Since vade went ahead and spilled (some of) the beans, I might as well post a little teaser of the open source project I mentioned in my last post. Essentially we have wrapped a game emulator in a Quartz Composer plugin, with the goal of enabling virtual console bending, so to speak. Here’s a little video of some of our latest developments in deliberately glitching the graphics of a NES game.

castlevania-nst_rom_glitch (click to watch)

More to come…

Jan
3

Happy New Year! It’s been almost two months since I last posted so I thought I would wrap up 2008 with a quick update of what I’ve been doing lately.

Work. The autumn was tough. Plenty of gigs dropped off my calendar as the economic freakout affected my clients. As a result, I found myself having to hustle for more work and new clients. That sort of business development doesn’t come naturally for me so it was, at times, a painful learning process. Thankfully I had Emily by my side, goading me on when I needed a prod and giving me good advice.

Programming. I invested a lot of my copious free time in professional development by digging into learning Objective-C (and Cocoa), which, for the 98% of the planet that knows nothing about programming, is a programming language that is, basically, the preferred language for writing applications for Mac OS X. I had tons of help from several generous friends — you know who you are and I can’t thank you enough. I got involved in one big open source project that we’ll be announcing fairly soon. For me, 2008 was The Year I Became a Real Programmer. It feels good.

Super++ Family Times FTW. Thanksgiving and Christmas holidays with my family and Emily’s, respectively, were delightful.

This felt like it was shaping up to to be a full Year in Review post but now I can’t think of what else to say and I have stuff to do. Maybe I’ll add to this later.