Poll: Gauging interest for an emulation book
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?
19 comments
[ 3.1 ms ] story [ 52.6 ms ] threadI 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.
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.
What about a hemp publisher? ;)
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. ;-)
I'm not very optimistic about the market for a book on emulation... It's beyond geeky.
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.
You could create another poll about the language to use? Or maybe choose some language in which it is easy to implement? Anyway since your target audience is going to read this book and because they love what they do - write code - you could just write it in any language. Maybe even Clojure if possible. Yes, that sounds contrast to my earlier comment, but I gave it another thought (People would be happy to learn a new awesome language if it's going to be something like Clojure or Io).
Sorry, my understand of CPU emulation is nil. Will implementing this in Ruby result in slow output? Example, you are going to try and emulate a small pong game written for NES, IMHO, the FPS for these NES games/software is very slow right? Shouldn't that fit into Ruby well?
Sounds like a nice theme for a book.