Thanks thomas for your reply.
I know Irrlicht and Ogre3D functionality and components. I've made some projects with them and developed classes, functions, etcs. More things in game programming are done in the same way. If I want to program a tetris game, I'm ported to follow the same strategy with Irrlicht, Ogre3D, OpenGL, etc. What changes are methods used by the libraries. All use a Camera, a SceneManager, Node for objects, lights, meshes, material, etc. I know that this is only for the graphics part, but in the same way all of theese engines have integration with SDL, OpenAL, Newton, and so on in order to complete game programming requests.
So I think to develop a GDK that is abstract and can do things like add a camera, move a node, or do stuff in a general way and derive classes for each library that I would to use. In this GDK I'll define some base class such as Game, Player, Object, Sprite, and so on. Theese classes are used pratically in all games. I'll implement a standard game loop with some standard events ( OnCreate, OnKeyXYZ, OnDraw, Etc. ) and actions ( MoveTo, AddCamera, QuitGame, DoSomeStuff, etc. ).
All theese things are coded in c++ and ready to use. Simply the user call and organize them logically in RAD way and eventually hinerits or overrides the standard for his scope. In Game Maker I can't make change to the event loop or other things, but I can make every type of game quikly because simply I derive my particular object from one defined in some way "standard", apply a defined sprite, do some action in particular event, etc., and because the tool has a sofisticated GUI that help to organize projects game resources like texture, sounds, material, sprites.
I know that the difficult part is to implement the GDK, but for now there are some of them ready to use on the Internet that I can use or change ( integrated with Ogre3D or Irrlicht ), or simply, for this time, I can do things with a limited set of library supported by Code::Blocks ( Ogre3D + OpenAL + Newton for ex. ), and later go ahead. For the GUI and tool functionality, I've watched to wxWidget documentation. I think that I can clone Game Maker RAD functionality without any limitation.
I think that other tools ( commercial or not ) do things in the same way. Some of them use Phython ( Blender Game ) or Visual Basic, other are simply GDK without RAD functionality, other convert from own language code to executables ( Dark Basic, Game Studio A6, etc. ). I would like to do it with c++ and leaves user to code in c++ if he wants. If all is RAD and the user can't do things manually, probabilly he can't do good products. Usability for no programming users is not my first objective. First of all I'm searching speed up in prototyping process and automated game skeletal creation functionality. This last is already present in Code::Blocks.
So Game Builder must help user to do stuff, not substitute him. You can also thinks to Code::Blocks. It has template wizard for projects creation, but I can do the same things manually or modify the template result. Simply GUI speed up the creation process. With template wizard plugins you can define your standard settings for a situation and build it immediatly at the end with some predefined results ( predefined c++ code ) or add things and run it later. Game Builder will do the same. It creates a "blank" game that do nothing and helps to add/create classes or group resorces in logical way.
Please, return to me if you have other impressions. I'm very interested in.
Thanks
Alberto