Of course, everyone is entitled to his/her own opinion. I joined the ScummVM project because it provides a very structured, clean and organized infrastructure. It has been successfully been ported on a vast number of platforms, far more than SDL itself supports. Yes, ScummVM is in C++, and no, it does not use STL, because of the overhead. Most of the needed functionality from STL has been implemented. You can, of course, write in whatever platform or language you desire. As a project, ScummVM has rewritten engines of several games, and we currently support over 200 official games, fan made games and demos, ported to several platforms, which classifies it as a highly successful project, and it does have an active programmer and user community. There are code styling conventions, so the overall code is formatted in a similar manner across all engines. As for the small footprint of your design... ScummVM runs on a DS, which is VERY limited concerning resources and memory (about 2MB of RAM I believe?). As for the encapsulation.. yes, you can reuse the libraries without the wrappers that ScummVM provides, but these wrappers are to ease the usage of these libraries under a variety of situations. C++ isn't only about polymorphism or inheritance. It's about objectification and classes. Yes, you can achieve something similar with C, but you're forcing the language to something it was not made for. As for building... did you follow the guidelines in the developer central of the wiki, esp. the MSVC instructions? And NASM... you can find its executable with a Google search, or just get it from the precompiled libraries package in the MSVC page. As for removing the MAME copyright... you realize that this is illegal to do, right? The copyright is there, if you check the correct files: scummvm/trunk/sound/softsynth/opl/mame.cpp and .h I'm not quite sure what you're talking about here... all projects change and keep being updated? As for documentation... that's a problem with all major projects As for rewriting from assembly... that's great, it's called reverse engineering (RE), and it's how we have rewritten most of the engines we support, unless original sources were provided. So, in essence, you are doing what a lot of people have worked on from scratch... Anyway, noone is forcing you to do anything, if you want to program something in your own way, feel free to do so :) That's just my personal opinion, too Also, I'd be glad to share all of the code I got up to now. It's not great, I haven't had time to work on it, but if you need it, feel free to contact me