[quote=“weitjong”]I can confirm that building the amalgamated SQLite library is a non-issue. I can also confirm that building the nanodbc (an ODBC library with MIT license) could be done easily as well. After some research, this is what I plan to do. Add new build option(s) to enable database subsystem support. The SQLite library will be built-in for both game engine deployment on the client and server side. On the server side, however, there is another option to use ODBC for database connection. This way individual application could integrate with any back-end database products with their own ODBC drivers. Of course, the game server is not mandatory as the client could just use REST to connect to any RESTful web service to get data from a central database (and this is beyond the scope of this discussion).
The devil is in the implementation details. Note that now the engine will have to deal with two kinds of API (SQLite native and ODBC), but I don’t want the engine user to deal with two APIs as well for doing simple db query. The idea is to create yet another wrapper API similar to how Urho3D currently wraps other thirdparty libraries. However, it would probably be a good idea to still expose the underlying APIs by making the headers of SQLite and nanodbc available to library user so that user could still do more advanced things by invoking the underlying API directly if necessary. I hope the performance is still acceptable after adding this wrapper “layer”, I reckon the db query performance will be determined more by how performant the db itself.
Back to my Android project I am currently working on, I realize that I could just use the SDK provided SQLiteDatabase class to connect to a SQLite database and be done with it. End of story. However, this won’t be of any use to other platforms though. So, I am avoiding this at the moment until I am running out of time.
Any other thought and feedback are welcome before I am too far in the implementation.[/quote]
If you need help testing this. I wouldn’t mind. Someone some integration into the event system would be nice. Once I can figure out while the drone in my code goes nuts (Left a message in the support.) I might be focusing on creating some form of game based economic system and someone might help me be a multi-game compatible network API which I might integrate the event system with.