Programming a modern door game? reddit / bbs ---------------------------------------------------------------------- nahkampf · 2015-09-28 13:00 Inspired by Shooter Jennings new game I'm feeling as though I should revisit my old childhood dream of making my own door game, but the old libs for that (QB45/TP7 stuff etc) is really extremely punishing to use today. Are there any modern options for creating door programs today (supporting the old drop files, like DOOR.SYS, ansi etc)? I took a quick look at the Synchronet JS stuff, but the documentation is terse to say the least. Anybody know of a good resource for getting started in that, or of any other modern equivalent (really, anything would work, like python or node or heck even CLI-PHP or whatever, as long as there's libs in place for door functionality and outputting ansi). ---------------------------------------------------------------------- nolageek · 2015-09-28 14:28 python is definitely an option, but it will mostly be used by sysops that run linux and not windows (which is quite a few of them.) javascript is pretty good, but will more than likely be confined to synchronet boards. ---------------------------------------------------------------------- NuSkooler · 2015-09-28 15:30 FWIW, a soft I'm working on (and very near a release of) called ENiGMA½ is written in Node.js. Mods are easily written in Node.js as well, or executed as a door (most oldschool formats supported such as DOOR.SYS) where things like DOSEMU can come into play for DOS .EXE's and the like. I think most of the softs that run under Linux will support PTY, so really anything that can run and output to character devices Should Just Work™. ---------------------------------------------------------------------- nahkampf · 2015-09-28 19:53 That sounds very interesting. Got a repo somewhere? :) ---------------------------------------------------------------------- PublicEnemaNumberTwo · 2015-09-28 20:25 Rick Parrish has two door kits, one for Pascal (RMDoor) and one for C# (part of RMLib) : https://github.com/rickparrish?tab=repositories Also for pascal, there is demonic's xdoor: http://www.demonic.net/files.php?id=3 I also developed a door kit at one time called FreeDoor, it is available here: https://github.com/mikehodgson/freedoor OpenDoors works if you are into C++, it's maintained by the Synchronet authors. You can get it from their synchronet CVS repository here: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/odoors/ ---------------------------------------------------------------------- Kirkman14 · 2015-09-29 00:15 Big fan of Synchronet JS here. The best way to learn how to use some of the libraries is to look at recent JS games from the synchronet guys. ---------------------------------------------------------------------- RealDeuce · 2015-09-29 01:31 Almost anything that supports standard I/O (ie: effectively everything) can be used to write a door kit. The hard part of them has traditionally been the serial port stuff and the local display. As long as you write so that your input and output go through a well- defined API, you'll be able to retrofit methods in as needed. If you want a local screen output, that'll be trickier, and a classic door kit may be a better fit. A big thing to be aware of is multi-node support. Traditionally, each instance of a door game was a separate process and they would communicate using files and locks. This is a difficult way to do it, and modern games tend to use a client/server model. There's some support for this type of thing using the json-service, but that's Synchronet only (for now). ---------------------------------------------------------------------- nahkampf · 2015-09-29 13:40 Yup, this I'm aware of. I'd rather get down to just doing the game mechanics and not worry about writing my own comm routines and dropfile handling and everything, not to mention ANSI-capabilities. I'd especially like to be able to use some kind of modern data handling, like SQLite or similar, but just being able to easily parse datafiles would suffice. Synchronet JS looks good. Big downside is locking yourself into synchronet I think, since there are still Wildcat! and Mystic out there in the wild. ---------------------------------------------------------------------- NuSkooler · 2015-09-29 16:55 I have a few things to wrap up for a alpha release and will get it up on Github at that time. Going on vacation for a week or so, but I'm hoping only a couple weeks or so after that. ---------------------------------------------------------------------- RealDeuce · 2015-09-29 18:26 Most languages already have a terminal thing available, and door.sys is pretty simple to implement. Ambroshia: The Test of Time used OpenDoors and SQLite in C++. As for JS withOUT Synchronet, there's some work being done on getting stuff split out into jsexec, and making it not rely on a full Synchronet install for many of the games. The biggest holdup is actually the console object (which does the ANSI stuff). I've been pecking away at that for a while now. If/when I get that done, most of us who have JS doors will be happy to port them to support other systems. ---------------------------------------------------------------------- mro_1337 · 2015-10-04 02:55 good recommendations. saved me time writing it myself ---------------------------------------------------------------------- mro_1337 · 2015-10-04 02:56 but then you'd only be able to use it in synchronet. ---------------------------------------------------------------------- nahkampf · 2015-10-21 12:38 No stress, but any news? :) ---------------------------------------------------------------------- tehtaken · 2015-10-24 09:01 there are door kits that use door32 but even those arent modern now lol. it depends on what language u want to use? the big bbses have their own programming. synchronet with javascript and mystic has mpl and python now in the new version? i think the big 2 both have door libs for regular languages and theiro own scripting language. it just depends on if you want c vs pascal or javascript vs python? synchronet is c and java and mystic is mpl pascal and python ---------------------------------------------------------------------- NuSkooler · 2015-10-26 22:14 Not quite yet, but very close! I will likely start pushing to Github this or next week and will post here when it's up. EDIT: Now up on Github @ https://github.com/NuSkooler/enigma-bbs Expect commits daily :) Very alpha stuff here!