I was pondering the idea of what would make the civ concept 'perfect' and the truth is... there is no one true way.
In designing a mod, I thought how useful it would be to have access to a genuine DB, even an Access or MySQL DB.
I pondered what the essentials for a civ game would be:
* A graphics engine and UI, using DirectX to ensure performance and so as not to reinvent too much of the wheel... including
-> map (multi-layer) support- terrain & overlays. Sprite, 'region' and route (E.G. trade route) support.
* ODBC access to a DB, that comprises all game state. The map table would be duplicated in memory, for rendering concerns.
* A parser, including C basics, plus local numeric, string and database (including recordset) handling.
* An event system (with definable events except for StartTurn & End turn) Uses a priority system: BeginTurn starts at 1000000, and it counts down to EndTurn, at 0. The event system definitions should allow for triggers (UI and game state and event prevention/reenabling.
* Customizable dialogs, somewhat like the definitions in Mirc. Buttons should be able to trigger functions. Triggered functions should have access to dialog state.
* MP functionality from the start, yet including hooks for AI functionality
* Separate AI and diplomacy modules, in a natively compiled language, for speed. Includes heuristic definitions in text files, for flexibility. Its a little blue-sky, but you might want to consider using a genetic-adaptive approach, using a database as a repository. Theoretically, periodically, these db's could be gathered centrally to compete, and ultimate improve the default 'better case' data.
The game engine, including formulas would be defined and run in the parsed event driven shell, and be opaque. There would be a 'default' game world, but any amount of modification would be possible, by the effectively limitless shell.
Modification could be aided by relatively simple CASE tools... allowing for simple 'event scripting'.
Complete modifications would also be possible. If you didn't like the government system, and wanted to simulate SE, then this could obviously be incorporated. If you didn't like how growth was calculated, then, similarly... this could be altered to your purposes too.
MrBaggins
In designing a mod, I thought how useful it would be to have access to a genuine DB, even an Access or MySQL DB.
I pondered what the essentials for a civ game would be:
* A graphics engine and UI, using DirectX to ensure performance and so as not to reinvent too much of the wheel... including
-> map (multi-layer) support- terrain & overlays. Sprite, 'region' and route (E.G. trade route) support.
* ODBC access to a DB, that comprises all game state. The map table would be duplicated in memory, for rendering concerns.
* A parser, including C basics, plus local numeric, string and database (including recordset) handling.
* An event system (with definable events except for StartTurn & End turn) Uses a priority system: BeginTurn starts at 1000000, and it counts down to EndTurn, at 0. The event system definitions should allow for triggers (UI and game state and event prevention/reenabling.
* Customizable dialogs, somewhat like the definitions in Mirc. Buttons should be able to trigger functions. Triggered functions should have access to dialog state.
* MP functionality from the start, yet including hooks for AI functionality
* Separate AI and diplomacy modules, in a natively compiled language, for speed. Includes heuristic definitions in text files, for flexibility. Its a little blue-sky, but you might want to consider using a genetic-adaptive approach, using a database as a repository. Theoretically, periodically, these db's could be gathered centrally to compete, and ultimate improve the default 'better case' data.
The game engine, including formulas would be defined and run in the parsed event driven shell, and be opaque. There would be a 'default' game world, but any amount of modification would be possible, by the effectively limitless shell.
Modification could be aided by relatively simple CASE tools... allowing for simple 'event scripting'.
Complete modifications would also be possible. If you didn't like the government system, and wanted to simulate SE, then this could obviously be incorporated. If you didn't like how growth was calculated, then, similarly... this could be altered to your purposes too.
MrBaggins
Comment