- When it's implemented for another platform, it usually just works.
- It usually behaves identically on all platforms, as behaviour is separate from system calls. This often surprises me as it's a bit strange at first to see your game run flawlessly on different hardware.
- The easy problem areas are confined to platform-specific files. These problems are often trivial to fix, only seldom hard.
- The hard problems are more often than not bugs that occurs on all platforms, but is usually overlooked on the development platform that for some reason or another is more forgiving.
- In the long run it should be less work.
One obvious drawback is of course that the architecture in the platform-specifics becomes more complex, larger, harder to develop. And I assume it also becomes more boring to maintain in the long run, as it (base of an engine) is further from what you're actually trying to make (a game). The trade-off in time is, I'm guessing, advantageous if you want less total boredom.
If we look at the number of commits over time for SciTE we could either assume the project has become more relevant for Niel, or it takes more to maintain it:
(The contributions by others constitute only 1.1 % of the commits and I consider them neglectable.) My two-penn'orth: go for a portability layer if you're making something that is going to live more than three years.
Btw, this is what I did with SciTE in 5-6 hours: drop all other languages than Python, drop menus and menu alternatives for other languages, place all configuration files in a subfolder, default to a monospaced font, configure syntax highlighting similar to Notepad++, remove syntax check menu command, add buttons in toolbar for running and stopping, build as TrabantIDE.exe, replace program icon, ESC hides the output window, output log shows every time a game prototype is started. Most of this was made in two configuration files in minutes. Thanks again Mr. Neil Mega Awesomeness Hodgson!
If we look at the number of commits over time for SciTE we could either assume the project has become more relevant for Niel, or it takes more to maintain it:
(The contributions by others constitute only 1.1 % of the commits and I consider them neglectable.) My two-penn'orth: go for a portability layer if you're making something that is going to live more than three years.
Btw, this is what I did with SciTE in 5-6 hours: drop all other languages than Python, drop menus and menu alternatives for other languages, place all configuration files in a subfolder, default to a monospaced font, configure syntax highlighting similar to Notepad++, remove syntax check menu command, add buttons in toolbar for running and stopping, build as TrabantIDE.exe, replace program icon, ESC hides the output window, output log shows every time a game prototype is started. Most of this was made in two configuration files in minutes. Thanks again Mr. Neil Mega Awesomeness Hodgson!