On 4/2/2019 at 1:26 PM, wintertime said:Btw., DOS programming is an outdated skill.
True, but I'll say a few things in defense of it. Apparently there is a thriving DOS game scene here with brand new games coming out every few weeks. DOS games can run on almost anything thanks to Dosbox. It's probably one of the only ways I can think of to write something and have it function 100% identically on all platforms (except iOS I think), with zero porting. I buy old DOS games on Steam regularly, so who's to say that you couldn't make a brand new DOS game today and sell it?
Also, at least as of today, it seems that anything written for DOS will run forever, without modification, as long as Dosbox keeps being updated. This cannot be said for iOS, Android, Windows or Mac OS apps, which have to be constantly upgraded to work (new security restrictions keep coming up, the switch to 64 bit, new languages replace old ones, Microsoft wanting to kill Win32, Apple phasing out OpenGL, etc). Any app written for modern OS's seems to break within a couple of years due to the constant OS updates. Therefore, if you want your game to live/play forever, oddly enough, DOS may not be a bad choice. Granted, this may change in the future, as something like "Winbox" or some kind of other "Oldbox" may be developed to emulate older environments.
I started out programming games for DOS, so I may be biased here, but there is a certain charm to working with video memory directly. I felt a lot more in control working with pixels in memory, as opposed to with modern graphics hardware, where much of how pixels end up on the screen is obscured by various layers of hardware and software.
The two weaknesses of DOS are networking and lack of modern controller support, but maybe these can be remedied with time.
Also, how about this fun idea: make a C or C++ engine codebase that runs on both Dosbox and modern OS's? It wouldn't be very practical, but kind of awesome nonetheless. Tempting, no? ?