VOGONS


First post, by Uhfgood

User metadata
Rank Newbie
Rank
Newbie

I'm curious, anyone try to develop new dos games to run on dosbox?

I know this isn't strictly a dosbox development question, but I figured it would best be here, because it is about developing 😀

I almost have half a mind to do a new game in dos, using dosbox since I have a ton of old dos programming books, and can readily find compilers.

Really just curious, cuz I was thinking, the sierra compilations use it officially to run their old programs (as i have KQ and SQ collections), and thinking you know I could actually take all of that junk I have and learn to program in dos with dosbox in mind, and possibly produce some games for it. As dos would never change (except dosbox being compatible with more dos programs), then I wouldn't have to constantly learn new stuff to stay on top.

Anyways just an idea
Keith Weatherby II

Reply 1 of 6, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Only new DOS games I know of are that are still maintained are the roguelikes that are still being developed with ports for DOS. There's also the ports of Doom that run in DosBox.

I know there was some talk on the ScummVM forums about developing original games for scummvm. Don't know if anything came out of it tho.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 6, by Uhfgood

User metadata
Rank Newbie
Rank
Newbie

I'm still considering it. I did a bit of turob pascal stuff back in the olden days, and then of course a bit of c stuff later.

Just wonder with the fact that there are alot of platforms dosbox runs and people using it, if there's an actual market... maybe only freeware games but it would prove interesting

btw I like your avatar 😉

Keith

Reply 3 of 6, by Srecko

User metadata
Rank Member
Rank
Member

Better choice IMO is SDL. It runs wherever dosbox runs (dosbox is built on top of it), so your game will probably be cross-platform. (except if you want native DOS port, then you should go with Allegro).

If you have time to spend and want to practice before you go to write something linux kernel drivers (i.e. learn how PC hardware works and deal with archaic API calls), then making a DOS app from scratch isn't a bad start 😀

Reply 4 of 6, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

I second that. Having used SDL in a variety of setups (including commercial apps thanks to the LGPL and dynamic linking), I think it is really great for anything that should be portable and doesn't need GUI widgets (i.e., that draws it's output itself). A bit minimal at times, but that's also an advantage.

Reply 5 of 6, by Uhfgood

User metadata
Rank Newbie
Rank
Newbie

Yes, I understand you can use sdl. But there are a number of reasons i'm interested in developing for dos.

For one, I never really learned much when I used to use dos primarily. So this gives me a chance to do what i've always wanted, which is really learn some hardcore bare-metal programming.

For another, I could simply write for one configuration of dos computer, ie my development computer. So like a console, the configuration never changes.

For another, you can pretty much keep the specifics of dosbox hidden with installers and stuff, so that the person that's playing the game, doesn't have to deal with anything other than playing the game.

Programming dos is a bit simpler. This is not to say it's easier, in some cases can be harder. But instead of dealing with other api's I just can write for dos.

While it's true sdl is cross platform it's also lgpl'd. My own game doesn't have to be under any license like that as it's abstracted, which means I don't need to give my source away.

I also have a number of dos programming related books. And also I can learn the fine art of program optimization, what with dosbox sitting on top of sdl, and then sitting on top of whatever operating system is doing the emulation.

Dosbox should also have some very fine restrictions as it doesn't emulate 100% of every game (although it sure is close).

I mean there are lots of reasons to develop for it.

Reply 6 of 6, by `Moe`

User metadata
Rank Oldbie
Rank
Oldbie

Well, LGPL is actually a quite nice license, since it even allows you to do commercial development with it, as long as you link to it dynamically (i.e., using a DLL).

By the way, you should always, always, always give your source away, unless you want to sell software. Sooner or later someone will help you out and you learn new tricks, get to know new platforms and get helped at difficult problems on other systems. The GPL (no "L") protects your sorce from being exploited, you always stay in control.

Bare-metal programming may seem fascinating, but it serves only one purpose: optimization. Doing that on an emulator is quite pointless for optimization, don't you think? Of course, learning about program optimization is interesting and important, but it's as easy to learn to optimizie algorithms in portable C, and it is more relevant for today's computers. Many DOS tricks simply serve no purpose anymore, so a lot of the information you can gain from your books is simply outdated and not needed anymore. DOS is dead, and rightfully so. Not even modern embedded systems use it or anything like it. It is still around, and will be so for a long time, for legacy reasons, and that's it.

Finally, about the APIs: why learn an ancient and bug-ridden API when you can learn a simple and easy-to-use portable API (=SDL)? That way, your program can work across a wide range of devices, including ones dosbox doesn't even exist on.