Mengembangkan Mesin Game
Saya merencanakan permainan komputer dan mesinnya. Akan ada dunia 3 dimensi dengan tampilan orang pertama dan itu akan menjadi pemain tunggal untuk saat ini. Bahasa pemrogramannya adalah C ++ dan menggunakan OpenGL.
Keputusan Desain Pusat Data
Keputusan desain saya adalah menggunakan arsitektur berpusat data di mana ada manajer acara global dan manajer data global . Ada banyak komponen seperti fisika, input, suara, renderer, ai, ... Setiap komponen dapat memicu dan mendengarkan acara . Selain itu, setiap komponen dapat membaca, mengedit, membuat, dan menghapus data .
Pertanyaannya adalah tentang pengelola data.
Apakah akan menggunakan Database Relasional
Haruskah saya menggunakan Database SQL, misalnya SQLite atau MySQL, untuk menyimpan data game? Ini berisi hampir semua konten game seperti item, karakter, inventaris, ... Kecuali jerat dan tekstur yang bahkan lebih terkait dengan kinerja, jadi saya akan menyimpannya dalam memori.
Apakah database SQL cukup cepat untuk menggunakannya untuk membaca realtime dan menulis informasi game, seperti posisi karakter yang bergerak? Saya juga perlu peduli tentang kompatibilitas lintas platform. Selain menyimpan semua dalam ingatan, alternatif apa yang saya miliki?
Keuntungan Akan Menjadi
Keuntungan menggunakan database relasional seperti MySQL adalah struktur berorientasi data yang memungkinkan komputasi cepat. Saya tidak perlu objek untuk mewakili entitas. Saya dapat dengan mudah meminta data objek di dekat pemain yang diperlukan untuk rendering. Dan saya tidak perlu berhati-hati dengan data objek yang jauh. Selain itu tidak perlu savegames karena status hole game disimpan dalam database. Last but not least, memperluas game ke game online akan relatif mudah karena sudah ada tempat di mana status hole game disimpan.