Five minutes ago I thought it was OK to model horses, camels and elephants as Mounts, where the particular type of flavour was decided by which ecological zone the unit was created. In a way this is would be similar to what in the tech model has been called Template Techs (Techs that are exactly alike, but have different names, depending on which civ gets it (muslims: mosque, christians: cathedral etc).
Now I am not so sure. Horses, camels, and elephants would act exactly the same. Thus mounted units consisting of elephants would for instance be capable of entering any square that horses could enter.
It would add flavour to the game to have the three types of mounts, but at the cost of some rather unrealistic results.
Then there is the possibility that rodrigo mentioned, where there must be a class for each type of mount. This would allow restriction of movement of elephants into unsuitable terrain or climate zones. Basically we could have a mount interface that is implemented in three different ways, unique properties and methods overriding the default ones from the interface. The question is: Is the more complex modelling worth it in order to add a little flavour? In my opinion camels and elephants have not made a great impact on history - at least nothing compared to the horse.
I would therefore recommend having three classes but without the template tech approach. We loose camels and elephants, but gain relative simplicity, and retain the allimportant horses as a class in itself.
Horses (I prefer this to 'mounts'. 'I am going to create a mount unit in province X' reeks programming compromise)
Draft animals
Food animals
Now I am not so sure. Horses, camels, and elephants would act exactly the same. Thus mounted units consisting of elephants would for instance be capable of entering any square that horses could enter.
It would add flavour to the game to have the three types of mounts, but at the cost of some rather unrealistic results.
Then there is the possibility that rodrigo mentioned, where there must be a class for each type of mount. This would allow restriction of movement of elephants into unsuitable terrain or climate zones. Basically we could have a mount interface that is implemented in three different ways, unique properties and methods overriding the default ones from the interface. The question is: Is the more complex modelling worth it in order to add a little flavour? In my opinion camels and elephants have not made a great impact on history - at least nothing compared to the horse.
I would therefore recommend having three classes but without the template tech approach. We loose camels and elephants, but gain relative simplicity, and retain the allimportant horses as a class in itself.
Horses (I prefer this to 'mounts'. 'I am going to create a mount unit in province X' reeks programming compromise)
Draft animals
Food animals
Comment