1. Language
Personally, I think we should either use C, C++ or a mixture of the two. I don't really think we should bring languages like Pascal or Visual Basic into the equation at all. C++ has many advantages as it is object-orientated, and I think we should go with this. What's everybody else's opinions?
2. Portability
I think we should make the game as portable as possible. We should have a system layer, which contains interfaces for graphics, sound and so on, that sits between the host OS (eg, Windows, X Windows or DOS) and the game itself. This way, it would be easy for other platforms to be supported, which is certainly a good thing.
3. Extensibility
In some ways, this isn't a 'fundamental' programming issue, but the game should be as extendable as possible. We should store all data in configuration files of some sort. Someone suggested XML somewhere - that could be quite good actually. For example, we could have a data file called data/vehicles.xml as follows:
Code: Select all
<vehicles>
<trains>
<train>
<name>Collett Pannier Tank</name>
<speed>40</speed>
<power>500</power>
<sprite>collett</sprite>
<!-- this could open, say, data/graphics/trains/train_collett.tmg -->
... and so on ...
</train>
... more trains ...
</trains>
<road>
.....
</road>
...
</vehicles>
I'll probably post more things as I think of it.