Writing my own door game? reddit / bbs ---------------------------------------------------------------------- HBaguette · 2020-09-23 04:25 Been wanting to write my own BBS door for a while now, and while I do have experience with things like Python, I... genuinely have no idea where to start with this. *Anything* that could help me get started would be appreciated, really. ---------------------------------------------------------------------- Valdebrick · 2020-09-23 06:19 Traditional door games were basically just normal 16-bit binary executables that were passed parameters from the BBS to let it know things like where the drop file was and how it should handle input/output. Modern BBS' support a variety of ways to create the same effect with much less foundational knowledge. With Mystic BBS, for example, you can actually pass a connected user into a Python script as a "door". And with Synchronet almost everything is handled with javascript, even doors potentially. A good starting point would be to investigate the documentation of a BBS you are wanting to write a door game for. In the case of a modern BBS you will likely find detailed information about how to go about creating a door interface in a variety of ways. If you are intent on going the traditional method and writing your own binary executable, there still exists many many different guides, libraries and "door kits" for classic compilers that you can find on your favorite BBS file archive. Many door game developers used Pascal, if I remember correctly. You might look into learning that language as well, since there is likely to be a greater amount of door-game related information centered around Pascal. Good luck! ---------------------------------------------------------------------- dmine45 · 2020-09-23 09:50 The biggest thing is to understand how the BBS to Door communications work. There are door toolkits out there, but most date back to the time of 16-bit DOS applications. However modern BBSes such as Synchronet and Mystic are able to run 32-bit BBS doors (console apps, basically) and use the new DOOR32.SYS drop file. Synchronet takes this a step further with the use of Javascript so it can run in either Windows or Linux with no changes to the program and runs as a native app in either OS. I assume you can do something similar in Python. I know Python comes with Linux, but would a Windows BBS require you to install Python? Or can it be compiled into an EXE and run that way? ---------------------------------------------------------------------- nevarro · 2020-09-23 14:20 Unless you're choosing to be faithful to specific BBS software, I don't think it's a good idea to program the door in, say, Javascript so that it only works with Synchronet BBSes or Python 2 so it only works with Mystic BBSes. A friend of mine is developing a door game using NodeJS and is outputting to standard IO I'm pretty sure. The BBS just needs to be configured to know that is how the door is outputting. So, virtually any cross platform language will work that can output text to the screen... C, C++, NodeJS, Pascal, PHP, etc. Choose one you like. Make something really basic and play with getting it to work in the BBS. Though door kits offer tools for getting the software to work in a BBS, using a door kit isn't necessary. The door kit would parse the supported drop file types such as door.sys, door32.sys, etc. Those can easily be parsed manually. Also, door kits, I believe, are language specific. So, if you wanted to use, for example, MannDoor, you would be locked into developing the door in Pascal. Hope this helps. ---------------------------------------------------------------------- redbrickchimney · 2020-09-23 19:00 what kind of door game? if you want to experiment on my BBS i can help with that =) it's Flee the Planet ---------------------------------------------------------------------- HBaguette · 2020-09-23 19:06 Oh, I'm already on there, you might recognize my username. And, honestly, I don't have much of an idea yet. Was just hoping to get /something/ working and go from there. ---------------------------------------------------------------------- redbrickchimney · 2020-09-24 07:49 i get a lot of useful programs from bbsarchives maybe these will help http://archives.thebbs.org/ra102a.htm ---------------------------------------------------------------------- Public_Possibility_5 · 2020-12-19 21:40 Exactly what I've been wondering about... Lately I've been interested in functional programming languages (Haskell, OCaml, Reason) and been mulling the idea of writing a door that would be able to work with different BBS software (as I'm not sure yet which one I will settle on for my own BBS...) SO, I guess just read & write to console, and the rest can be worked out? ---------------------------------------------------------------------- VisualNoiz · 2023-06-11 15:22 how did this end up? I find myself in a similar situation, I want to launch a door game by July 20th ---------------------------------------------------------------------- [deleted] · 2023-10-09 05:39 [removed] ---------------------------------------------------------------------- sysopbbs · 2023-10-13 04:04 I would say setting up the development environment is the hardest part. And I would go with a DoorKit, something like DDPlus version 7.1. It's Pascal and runs under Tubro Pascal 7.0. For my own game, I created an environment under Windows XP, and I'm using DosBox to run the 16-bit executable that Turbo Pascal is producing. Setting up Turbo Pascal is easy. Just make sure you add it to the Path. Then, you need to compile all the programs ddplus.tpu uses. Things like comio.tpu, ddscott.tpu, ddansi2.tpu, ect. You can find all of them in the root of the DDPlus71 folder. Make sure you have the compiler set up correctly. Once you have the ddplus.tpu and a helloworld program working, you'll want to look into using ELOG to handle any errors with logging out of the Door Program and saving the game. ELOG can be found in the root of the DDPlus71 folder. \- Good luck