Recently I've been doing a lot of thinking about making a game engine for my games. Many of the game I will be making will be cookie cutter games. Aka very similar, so similar in fact that I think they could run on a simple game engine. Basically I want to make some shmups or scrolling 2d shooters. I feel that by changing some simple enemy types and their behaviors and fire patterns I can easily create multiple sequels. The nice thing about my current situation is that I actually want the games to play quite similar. Simply put each new sequel does not need to be better than the previous but simply maintain good quality. My question is how do I create a game engine that is completely detached from each new game.
Initially I had this thought:
First make some very generic base classes, these classes will eventually be extended by specific classes for each new game. I was wondering if it would be possible to store the game engine in one file and then have the elements of the game in generic sub folders. Perhaps the game engine just takes a single parameter (the name of the specific game being worked on) and loads all of the media from pre named folders INSIDE the specific game folder.
I would like to do something like the following if possible
(all in one folder)
GameEngine class with maybe a .txt file that names the specific folder that the game to be compiled is in.
In every game folder there would be pre named folders that the GameEngine class looks for, things like a "sprites" and "types" folder. The resource folders will have the same names but each original game folder will have a specific name. This name is simply passed to the GameEngine and it will load all of the proper resources and create the proper game.
so the structure would be a game engine class, and a seperate game folder that contains all of the resources and derived classes. The game engine just loads all of the resources and creates the game.
Is this poor structure or a good idea? Can Blitzmax even load all resources in a folder without knowing specific file names?
Initially I had this thought:
First make some very generic base classes, these classes will eventually be extended by specific classes for each new game. I was wondering if it would be possible to store the game engine in one file and then have the elements of the game in generic sub folders. Perhaps the game engine just takes a single parameter (the name of the specific game being worked on) and loads all of the media from pre named folders INSIDE the specific game folder.
I would like to do something like the following if possible
(all in one folder)
GameEngine class with maybe a .txt file that names the specific folder that the game to be compiled is in.
In every game folder there would be pre named folders that the GameEngine class looks for, things like a "sprites" and "types" folder. The resource folders will have the same names but each original game folder will have a specific name. This name is simply passed to the GameEngine and it will load all of the proper resources and create the proper game.
so the structure would be a game engine class, and a seperate game folder that contains all of the resources and derived classes. The game engine just loads all of the resources and creates the game.
Is this poor structure or a good idea? Can Blitzmax even load all resources in a folder without knowing specific file names?