• New Door/Textmode game

    From NuSkooler@21:1/121 to All on Mon Dec 16 21:55:46 2019
    I've started working on a new textmode RPG that I've been wanting to do for a while. I have a ton of notes, sketeches, etc., and a basic framework I'm hacking together based on the Ranvier MUD engine (https://ranviermud.com/). MUD
    engines (including Ranvier) are often not BBS terminal friendly so one of the first things I've done is replace the Ranvier telnet and basic terminal handling with my own. Some of this work will also trickle into ENiGMA 1/2 - for
    example, I've created a new socket-telnet Node.js module that can be found at https://github.com/nuskooler/telnet-socket. This is a much more thought out Telnet implementation than enig's current telnet.js, so once it has a tad more time to bake it will replace it. Next is probably a ansi-bbs-utils module that will better handle and abstract stuff like low level terminal input, SAUCE utils, so on.

    ...more info on the game will come as I make more progress. Don't want to let out too much info until then :)



    --
    NuSkooler
    Xibalba BBS @ xibalba.l33t.codes / 44510(telnet) 44511(ssh)
    ENiGMA 1/2 BBS WHQ | Phenom | 67 | iMPURE | ACiDic
    --- ENiGMA 1/2 v0.0.11-beta (linux; x64; 12.13.1)
    * Origin: Xibalba -+- xibalba.l33t.codes:44510 (21:1/121)
  • From ryan@21:1/168 to NuSkooler on Tue Dec 17 11:56:18 2019
    I've started working on a new textmode RPG that I've been wanting to do for a while. I have a ton of notes, sketeches, etc., and a basic
    framework I'm hacking together based on the Ranvier MUD engine (https://ranviermud.com/). MUD engines (including Ranvier) are often not BBS terminal friendly so one of the first things I've done is replace
    the Ranvier telnet and basic terminal handling with my own. Some of this work will also trickle into ENiGMA 1/2 - for example, I've created a new socket-telnet Node.js module that can be found at https://github.com/nuskooler/telnet-socket. This is a much more thought out Telnet implementation than enig's current telnet.js, so once it has
    a tad more time to bake it will replace it. Next is probably a ansi-bbs-utils module that will better handle and abstract stuff like
    low level terminal input, SAUCE utils, so on.

    Splendid news. Did I tell you that enigma is what piqued my interest in node? I've been crushing through some online courses and have you to thank. So...thanks! And can't wait to see the door you're writing.

    --- Mystic BBS v1.12 A43 2019/03/02 (Linux/64)
    * Origin: monterey bbs (21:1/168)
  • From Blue White@21:4/134 to NuSkooler on Tue Dec 17 18:32:56 2019
    NuSkooler wrote to All <=-

    ...more info on the game will come as I make more progress. Don't want
    to let out too much info until then :)

    Something for us to look forward to, thanks! :)


    ... "Mmmmmmmm.....doughnuts."
    --- MultiMail
    * Origin: Possum Lodge South * possumso.fsxnet.nz:7636/SSH:2122 (21:4/134)
  • From NuSkooler@21:1/121 to ryan on Tue Dec 17 17:57:22 2019
    On Tuesday, December 17th ryan was heard saying...
    Splendid news. Did I tell you that enigma is what piqued my interest in node? I've been crushing through some online courses and have you to thank. So...thanks! And can't wait to see the door you're writing.

    Hah, I did not know that! Actually, enig was my first Node.js project as well -
    I wanted an excuse to learn Node and why not make a BBS software :) You can certainly tell from the earlier code especially. One of the things I'm hoping to clean up over time is everything ES6+ (e.g. classes vs foo.prototype), and start chopping out a lot of the async.each() and similar in favor of async/await.



    --
    NuSkooler
    Xibalba BBS @ xibalba.l33t.codes / 44510(telnet) 44511(ssh)
    ENiGMA 1/2 BBS WHQ | Phenom | 67 | iMPURE | ACiDic
    --- ENiGMA 1/2 v0.0.11-beta (linux; x64; 12.13.1)
    * Origin: Xibalba -+- xibalba.l33t.codes:44510 (21:1/121)
  • From echicken@21:1/164 to NuSkooler on Tue Dec 17 21:02:02 2019
    Re: Re: New Door/Textmode game
    By: NuSkooler to ryan on Tue Dec 17 2019 17:57:23

    certainly tell from the earlier code especially. One of the things I'm
    hoping
    to clean up over time is everything ES6+ (e.g. classes vs foo.prototype),
    and

    This can actually be a fun and productive exercise with old JS projects. You'll likely find lots of ways to tidy things up, be more efficient, and even introduce some new features.

    start chopping out a lot of the async.each() and similar in favor of async/await.

    Took me a while to get used to async/await but I quite like it now. The old 'async' module was super useful back in the day though.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com
    * Origin: electronic chicken bbs - bbs.electronicchicken.com (21:1/164)
  • From NuSkooler@21:1/121 to echicken on Wed Dec 18 11:16:20 2019
    Twas Tuesday, December 17th when echicken said...
    This can actually be a fun and productive exercise with old JS projects. You'll likely find lots of ways to tidy things up, be more efficient, and even introduce some new features.

    Yeah, I've done it for other projects professionally and the like, but there is
    just so much code to convert that I'll probably just do it targetted and take my time. Ends up reading a lot nicer though.


    Twas Tuesday, December 17th when echicken said...
    Took me a while to get used to async/await but I quite like it now. The old 'async' module was super useful back in the day though.

    I really like the async module. I hate raw promises (e.g. Promises prior to async await sugar) - they were ugly as hell, so I'd generally just keep using the older style. With the sugar though, it's quite sweet :)



    --
    NuSkooler
    Xibalba BBS @ xibalba.l33t.codes / 44510(telnet) 44511(ssh)
    ENiGMA 1/2 BBS WHQ | Phenom | 67 | iMPURE | ACiDic
    --- ENiGMA 1/2 v0.0.11-beta (linux; x64; 12.13.1)
    * Origin: Xibalba -+- xibalba.l33t.codes:44510 (21:1/121)
  • From echicken@21:1/164 to NuSkooler on Wed Dec 18 14:04:38 2019
    Re: Re: New Door/Textmode game
    By: NuSkooler to echicken on Wed Dec 18 2019 11:16:20

    Yeah, I've done it for other projects professionally and the like, but
    there is
    just so much code to convert that I'll probably just do it targetted and
    take
    my time. Ends up reading a lot nicer though.

    When there's a *lot* of code, I usually just wait until I need to go in and fix
    a bug or something, then revise a bunch of stuff while I'm in there. It may look nicer when you're done, but usually isn't hurting anything by just staying
    as-is.

    I really like the async module. I hate raw promises (e.g. Promises prior
    to
    async await sugar) - they were ugly as hell, so I'd generally just keep
    using
    the older style. With the sugar though, it's quite sweet :)

    I found Promises annoying when they first came around. There was so much hype about making code "more readable" and I didn't see it as much of an improvement. I never found callbacks to be confusing, except maybe when I first
    started out. Once I got used to Promises I stopped seeing them as clunky and ugly and learned to like the resolve/reject paradigm and catch(). It took me a
    while to get there, though. async/await was easy to adjust to, and I think they really bring that structure/readability improvement.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com
    * Origin: electronic chicken bbs - bbs.electronicchicken.com (21:1/164)