Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Poll: Gauging interest for an emulation book
30 points by daeken on May 15, 2010 | hide | past | favorite | 17 comments
I've been working on a book on emulation for some time, in hopes to get a good source of info on how emulators in the real world are structured and developed. However, until I saw "How do emulators work and how are they written" (http://news.ycombinator.com/item?id=1350343) come up here, I figured that the market interest would be slim to nil; it's a very niche field, after all. But now I'm curious as to what you guys have to say on the matter. So here's the question: would you purchase a book on emulation?
Maybe, if the price is right, it gets good reviews, etc
77 points
Yes
41 points
No
22 points
Probably not
16 points
Probably
8 points


I'd love to see you write a book on emulation but can I encourage you as strongly as possible not to waste time working with the dead-trees publishing industry to get it out?

You will make more money running a Kickstarter pledge drive for this book that you ever will off advances and "royalties" (your advance will be calibrated to ensure you don't get any), and more still charging $10-$30 for a PDF download of the book contents.

By the time you finish writing a quality book, the bloom will be even closer to off the rosey idea that a book authorship on your resume is a solid credential; I note also that publishers are very good at selling geeks on the career value of authorship.

Finally, dead trees are just a shitty medium for conveying code-intensive technical details.


Thanks for the feedback. Quite honestly, the only reason I want to work with the dead-tree publishing industry is that they're very good at getting the books in front of as many eyes as possible. I'm not much for marketing, and I care far more about getting the information in front of people than making a bunch of money off of it. Of course, with the buzz around Kickstarter right now due to Diaspora, maybe that's enough as it is.


> but can I encourage you as strongly as possible not to waste time working with the dead-trees publishing industry to get it out?

What about a hemp publisher? ;)


Put me down for a pre-order :) If you can publish something half as interesting as the programming-heavy "Chasing the Beam" (a history of the creative programming techniques and people that stretched the Atari 2600's commercial lifespan well through the 1980s), you'll hook a lot of geeks.

I think you might need some focus though, are you only thinking about video game systems and saving old games from stagnating on dead hardware, or Apple's two processor switches and how they dragged their users with them, or why cranky mainframes run Linux? etc.


The primary focus is on game consoles, if only because it's what I know best. However, the book is platform-agnostic; the goal is that by walking through the book and working along side it, you can go from nothing to a working (for some values of working) emulator for whatever platform it is you choose. Along with this, I'm going to be building at least one emulator along side it, with full source available (marked by chapters) so that at any point in the book, you can flip over to the source and see how I tackled things there. I don't want everyone in the world building Yet Another NES Emulator (TM), as fun as they are, so I'm really trying to make it as flexible as I can.


Minor correction: assuming it's the same book I'm thinking of, it's "Racing the Beam": http://www.bogost.com/books/video_computer_system.shtml


Why don't you make a landing page, publish the first chapter or introduction, then use a pre-order or mailing list sign-up to guage interest?


Minimum Viable Product (MVP) at work for you. Good call.

I'm not very optimistic about the market for a book on emulation... It's beyond geeky.


I quite like this idea. I'll have to consider it more when I'm a bit further along, thanks.


I'd definitely buy it.

Not sure if it's in line with your interests, but for my personal interests, it'd be great if there were both technical content and some sort of coverage of the more conceptual/media issues involved in emulation (which overlap with the technical content). Stuff like fidelity of translation, stuff that's harder/easier to emulate, different layers of hardware, etc. E.g., some console emulators have recently added CRT emulation, because of a feeling that playing games designed for a CRT, especially 1980s CRTs, on an emulator running on an LCD gives an inauthentic effect (the CRTs do a bit of blurring in both the spatial and time domains). Or, how easy/hard is it to emulate something like the Atari's audio chip or the SID? Apart from the display and audio output, are there other things that don't translate well, or are hard to do well? It seems it's often the case that console emulators will choke on a minority of games, which must be doing something weird that isn't quite properly emulated; how common is that, and do they fall into certain kinds of categories?

Again, not sure that's actually in your scope, because it's not at all relevant for some kinds of emulation, e.g. pure CPU emulation, but has more to do specifically with audiovisual media. But I do want such a book. ;-)


Marc-Andé Cournoyer (the creator of Thin) did something similar, I'd check it out: http://news.ycombinator.net/item?id=1159445


ah!!! I've been trying to write an NES emulator. But I couldn't get more than a few docs and a video on how to setup the data structures for the 6502. And never did anything to start my project other than just create a dir for it. Tough job with no resources for amateurs.

Something in detail with working code would be nice. Sort of... step by step building of an emulator. Writing with NES emulator as a case study would be awesome.

If you are releasing it free online, i guess you could just write it chapter by chapter and put it up. Or if you are writing it as a commercial ebook, start accepting pre-orders right now and release chapter by chapter! :) That way you can get feedback slowly on each chapter and write more if required. Then move on to another chapter.

Please write it in some easy-to-use programming language like Ruby or Python. This way you'll find way more audience who'll just pickup the book and read it than just say "ah I'll have to learn C++ before buying this book".

I'll definitely buy it if the reviews are good.


An NES emulator will likely be one of my example emulators, broken down on a chapter-by-chapter basis. It's simple enough (ignoring the more complicated mappers) that it can be described fairly easily, and serves as a good example of implementing an emulator for a 2d console. As for the programming language, I'm having a tough time figuring out how best to present the examples to people; generally I write emulators in languages with heavy metaprogramming, e.g. Nemerle, Boo, Scheme, but these are all fairly tough for a standard programmer to learn along with emulation. For that reason, I'm sort of leaning towards Ruby + the LLVM bindings, but the performance is just dismal there, so I'm torn.


Now that I'm a little older and my focus has narrowed, I wouldn't buy it. But, an insatiable younger version of me surveying the tech field and looking for a place to fit in, might buy it - provided it wasn't so advanced I thought it was a lost cause. Don't know if that's helpful or not to you.


Yes I'm really a huge fan of programmers of ZSNES. Could this one also cover up a few paragraphs each on different popular emulators, something from their creators - like what kind of problems they faced, any very interesting hack they put on to work. etc. etc

Sounds like a nice theme for a book.


I think you'd be better of hosting a blog with some ads, books are just not that profitable according to people I've known that have written them - these were well known semweb subject matter experts.


Asking groups of people if they want something is generally a useless idea. It only tells you that some don't, some do, and others are undecided.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: