What is out there? Hard and soft codebases of choice.


  • Coder

    Personally, I think Rhost, TinyMUX, and (to an extent) TinyMUSH are good. Penn is also good but one I will never use personally. The reason behind this is because of familiarity. People can go to games built on these platforms and expect a familiarity and ease of use (due to that familiarity) that they won't really find with other platforms.

    Case in point, Evennia, it may be a coders dream to those who know Python, but as a player I just felt really confused by it all. Of course I feel the same way on MOO or MUCK for the most part as well.

    It's sort of like when I was MUD'ding back in the early 90's, I prefered DIKU/ROM because I was most familiar with it. LP and Circle were similar but enough was different I never really got into them as well.

    Considering how small this particular hobby is right now, I'm all about reducing barriers to entry. I used to hate FATE for example because it wasn't a crunchy enough ruleset for me, but it is really easy to get into compared to, say, Anima or Hero System etc.

    So I agree with what others before me have said when it comes to ease of use and familiarity of control schemes.


  • Coder

    @Lithium said in What is out there? Hard and soft codebases of choice.:

    So I agree with what others before me have said when it comes to ease of use and familiarity of control schemes.

    ^^ - this.

    This is the primary reason we want to add stock ontop of Rhost where possible for extensions like our API interfaces and so forth.

    It does cause us to hit ceilings and limitations that other codebases will be able to get around having grown from scratch in other directions with multi-processing in mind.

    Things we likely will never be able to achieve short of a complete rewrite:

    • Multi-Threaded parser/queue
    • Multi-Threaded db handler
    • Full on DB log transactions and roll back capability
    • Multiple mush processes accessing the same database, allowing mutiple mushes across several servers to access the same database (like WoW, Runescape, etc).
    • Weighted processing of processes with built in wait/pause/continue based on conditionals on processing times of the threaded processes
    • Many other things.

    All of the above are, while not easy, well in the scope of doable. Anyone who's done advanced programming knows how possible it is.

    The problem you run into is for pretty much any major mud engine you're on a single threaded engine. The db is non-locking, it's under a single core, under a single thread, and the interpreted language is a GIGO (garbage in/garbage out) destructive parser that does not lead well to advanced features like in-game debugging, pausing, rollback/rollforward, and various other things I would love to be able to do with a mud engine, but without a complete rewrite can not happen.

    We have been able to make some crude approximations of the points above in Rhost. We have allowed some threading by allowing a shared slice of of processing with @doors that work interactively (like BBS Doors), we have allowed a way to have some half-baked debugging in our TRACE output like grepping, label/break points, and such things to make debugging MUCH easier, we allowed in-game alignment for code evaluation including in-game pretty printing, we allowed being able to load in all db's (minus the main mush db) in-game, we even have methods to call external applications in-game, allowing fun things like patching, compiling and rebuilding the mush from inside the mush. So we have worked around a lot of the limitations, but they still remain limitations.

    Then you run into the big issue, if you rewrite the engine from the bottom up to allow a lot of that multi-processing capabilities, you lose the backward compatibility that a lot of users wish to happen.

    It's a walk on the tightrope. How much do you alter, and what can you alter, while still keeping compatibility the same.

    I've chosen to do the 100% backward compatible model with Rhost. So people who used it back in the 90's who use it today see things work just the same as it did back then, just with a lot more added fun happy toys. That's my goal with this. To expand on a known quantity and bring it to the absolute ceiling of capability.

    What happens when we finally hit the limit? Well, I guess then we do something else, but like any good mechanic, I can say we still have quite a bit to squeeze out of this baby. :)


  • Coder

    @Ashen-Shugar said in What is out there? Hard and soft codebases of choice.:

    like any good mechanic, I can say we still have quite a bit to squeeze out of this baby. :)

    Or electrical engineers.

    Or, well, programmers.

    I still don't know Django. Installing Evennia, more than just getting the raw code on my computer, is still daunting as hell. I strongly support @faraday's notion that it's a rough toolkit, maybe a framework, and little else.

    Compare to, e.g., the Mushlikes, where once installed you can log in, and roll up your sleeves and get immediately to work. Look at nearly every web-based service that you can try for free, too. Sure, none of these may do much, but you can monkey around and build monstrosities on your way to build more complex monstrosities.

    They also try to keep the metaphors simple. Here are CONTACTS. You can MESSAGE one. You can MESSAGE many; we call this a CHAT. Here's a PLAYER, here's a ROOM, here's a THING, these are all OBJECTS. You link rooms using EXITS. Before you know it, you have learned some basic hierarchical object-lists.

    I'll strongly agree with @WTFE (since he's finally singing my "it's stupid but at least it's easy" tune about Mush) that this might make a programmer grit her teeth, but it's relatable. The way Python and other moderately high level languages are taught is similar.

    The Mudlike mentality went the other way. "Oh, you know C and C++, just mess around with the server until it does what you want." Evennia is very much like this. "You don't need to know Django, but run it and do this and this to set it up." Okay, what do I do once it's set up? "The same thing but don't install it." Um, what?

    I've seen many "um, what?" moments for people in Mush softcode, and it's the PHP of our hobby. Anyone can code a shitty web board in PHP; it's practically what PHP is for. Hopefully it's a gateway drug to more structured languages which opens things even further.

    What I'm getting at here is Evennia has no middle ground. There's no playground for it, no toys, and while it's easier to follow than Mush server code it's still not terribly, oh, what I'd call simple. It's an end-point, by design.

    What I'm also getting at here is that Mushlikes have no higher ground. They're getting there; Muck started it, Penn dabbled, Rhost is making a stronger push, but building a web-side interface is... okay, Muck has been able to do that for a decade, but I'm not learning Fortran.

    There is no bridge between "just want to do this thing" and "professional-level goals". It seems much more likely that Evennia becomes more accessible to hobby coders, but they haven't reached strongly in that direction yet. Both Mudlikes and Mushlikes are learn-by-word-of-mouth creation platforms. Pick whichever one you want to learn.

    That's the complex answer, to the original poster.


  • Pitcrew

    @Griatch said in What is out there? Hard and soft codebases of choice.:

    It is the first time I hear that much vitriol against the install process so it's worth to consider.

    This is because the typical reaction of people when faced with (to them) crap software is to not bother with it. You're not going to get feedback from the people who tried and gave up. It takes a special breed of asshole to tell you at length why he gave up on your "crap" software.


  • Coder

    @Thenomain said in What is out there? Hard and soft codebases of choice.:

    I still don't know Django. Installing Evennia, more than just getting the raw code on my computer, is still daunting as hell. I strongly support @faraday's notion that it's a rough toolkit, maybe a framework, and little else.

    We often refer to it as a framework too, although Evennia is pretty fleshed out for a framework, with a lot of resources and a full server+webclient+website out of the box. Could you elaborate more on what you feel is "daunting as hell"? Are you referring to how to start doing stuff in general or how to install with this particular statement?

    Compare to, e.g., the Mushlikes, where once installed you can log in, and roll up your sleeves and get immediately to work. Look at nearly every web-based service that you can try for free, too. Sure, none of these may do much, but you can monkey around and build monstrosities on your way to build more complex monstrosities.

    This concept of "being able to just jump in" appears to be a common notion here. For a person who wants to create a text-mmo but is not knowing any programming (or those that do but never saw mushcode before), is a mush server really that much easier as a starting point? Learning a new system is never easy. In Evennia's case you need to read documentation and if you are wise you ask questions in our community. In Mush world you likewise need to read docs and talk to people in the community for help. For a beginner there is still a language to learn and idiosyncrasies to get used to, either way.

    They also try to keep the metaphors simple. Here are CONTACTS. You can MESSAGE one. You can MESSAGE many; we call this a CHAT. Here's a PLAYER, here's a ROOM, here's a THING, these are all OBJECTS. You link rooms using EXITS. Before you know it, you have learned some basic hierarchical object-lists.

    I don't really know if this is a general observation or something I should reply to. All those concepts are almost verbatim present in Evennia at any rate.

    The Mudlike mentality went the other way. "Oh, you know C and C++, just mess around with the server until it does what you want." Evennia is very much like this.

    I don't see a difference between your two examples. One says "mess around in mush code" , the other says "mess around in these other languages". If you previously know one and not the other, obviously that one will be easier. Plus hardcode allows you to use a real text editor rather than being locked to the telnet command line (depending on your bias that last sentence could be written as "hardcode forces you to use a text editor instead of being able to modify the code in-game", I guess.).

    "You don't need to know Django, but run it and do this and this to set it up."
    Okay, what do I do once it's set up? "The same thing but don't install it." Um, what?

    I'm not sure exactly what you referring to here; A wild guess is the use of the virtualenv (correct me if that's not it). Brief tutorial-mode voice: You start a "virtualenv" when you install. This is a virtual python environment containing all dependencies of Evennia in a separate folder. This allows you to install everything Evennia needs also on a remote computer/server without root access. It also makes it easy to update requirements without affecting the version of the same libraries installed globally on your system (those are often older). This means that when you start Evennia in the future you must make sure this virtualenv is active first, but you obviously don't need to reinstall everything anew every time - that may be the source of the "same thing but don't install it"-comment.

    What I'm getting at here is Evennia has no middle ground. There's no playground for it, no toys, and while it's easier to follow than Mush server code it's still not terribly, oh, what I'd call simple. It's an end-point, by design.

    It's not simple, no. Evennia's a full-fledged development "framework", to borrow your term from above. Making a multiplayer online game will never be truly "simple" I think. We do offer contribs with pre-made code to build from. This library is slowly growing but could certainly be more comprehensive.

    I disagree with Evennia having no toys though. It's all toys. Toys you put together with great freedom to create your own game. Python is very good for creating cool stuff with little code. But yes, if Python is completely new to you, you will likely start by following tutorials and copying examples or code snippets handed to you by the old-timers. I can't imagine this being any different from how most learn in a mush environment either.

    What I'm also getting at here is that Mushlikes have no higher ground. They're getting there; Muck started it, Penn dabbled, Rhost is making a stronger push, but building a web-side interface is... okay, Muck has been able to do that for a decade, but I'm not learning Fortran.

    As someone using Fortran professionally on a daily basis, I would agree that noone should have to use it for recreational coding ... ;)
    .
    Griatch


  • Coder

    @Griatch said in What is out there? Hard and soft codebases of choice.:

    @Thenomain said in What is out there? Hard and soft codebases of choice.:

    I still don't know Django. Installing Evennia, more than just getting the raw code on my computer, is still daunting as hell. I strongly support @faraday's notion that it's a rough toolkit, maybe a framework, and little else.

    I am a programmer. I am not a system administrator. When you tell me: "Oh, you 'just' need to install SQL, and install Django, and install Python, and do this, and do that, and configure the web server, and get a DNS name if you want one, and oh by the way don't forget about all the security updates..." I just want to run screaming in the other direction. (I know how to do these things, but they're not my forte and thus very un-fun.)

    Contrast that with a typical MU* host where you go to genesismuds, click on a few things, and now you have a shell account for mymush.genesismuds.com where all you have to do is install the game itself with a couple make commands.

    (This is not a problem unique to Evennia, btw... I'm struggling with the same thing on AresMUSH. Trying to make the install/config as painless as possible is my #1 goal.)


  • Coder

    @faraday said in [What is out there? Hard and soft codebases of choice.](/post

    I am a programmer. I am not a system administrator. When you tell me: "Oh, you 'just' need to install SQL, and install Django, and install Python, and do this, and do that, and configure the web server, and get a DNS name if you want one, and oh by the way don't forget about all the security updates..." I just want to run screaming in the other direction.

    Contrast that with a typical MU* host where you go to genesismuds, click on a few things, and now you have a shell account for mymush.genesismuds.com where all you have to do is install the game itself with a couple make commands.

    (This is not a problem unique to Evennia, btw... I'm struggling with the same thing on AresMUSH. Trying to make the install/config as painless as possible is my #1 goal.)

    Well, genesismuds could be used for Evennia (and Ares, I presume) too, it's not like that has anything to do with MUSH per se - it's just a shell account marketed to mu*ers.
    Presumably they have Python (and Ruby) installed on their servers or one could ask for it to be. And you don't need to install SQL, nor Django for Evennia yourself. At that point of the install you do pip install -e evennia and it fetches all the dependencies and install them for you.
    .
    Griatch


  • Coder

    @Griatch

    I'm on my iPad, so this will be choppy with no quotation, but I feel a timely response is warranted.

    • Being able to jump right in

    There is a common document written very long ago that teaches you the four base objects you need to make a Mush. It helps you find the resources you need if you want to do more intermediate things. It explains the passed variables (%0, etc., which I know aren't called variables). It eventually tells you how to make a user defined command.

    This is all you need to build a Mush. If you want to be more modern, TinyMUX allows you to have a pre configured database with something called the "Sandbox Globals Project". I make fun of the SGP for being horrible code, but it is clear and simple and is a fantastic learning aid. (I know the other Mushlikes have similar, but not the point.)

    Mushes also have built-in help organized in several ways: By command and by topic. You may not remember that the function "iter()" is the functional "for each", but you can see it under "list functions" in help, and that mental trigger is invaluable. The Oracle web site does the same thing. The PHP web site does the same thing.

    Sure, you get a little bit of that with Python, but we're not dealing with just Python here, we're dealing with to some of us an entirely new framework that just happens to use Python. Mind you, there are a ton of Python coding sites, which brings me to my conclusion to this part:

    You have to learn Python to have any chance with Evennia. You don't have to learn Mushcode to have any chance with Mush.

    • Time to Project

    Both Oracle and PHP are insanely detailed to make it easy to set up. (I mean, that doesn't help in Oracle's case, but you take what you can get.) You can experiment within the environment and immediately see your results. Same with Python. Same with Mush. Install, run prompt, play.

    I have no idea what's going on with Django or Virtualenv. Now that you mention the word, this was what I meant with "what do I do now?" I didn't see instructions on how to re-start the game. Yes, Mushcode involves a lot of word-of-mouth learning, but I'll tell you that everything I knew about Mushes were learned by reading. I now know things I never thought I would, and the non-Euclidean world of Mushcode has made my mind a breeding ground for the Elder Ones, but that's the problem with becoming a specialist in any field.

    Those Elder Ones aren't helping when I run into the issues caused by the two of three frameworks that Evennia uses. Mush uses: one.

    Making Mushes--sorry, an online multiplayer game--is simple. Evennia can have that middle ground. Here's how: Hire @Volund to write your installation and initial help documents. I don't know if he has the temperament(I don't!), but he's self-taught and taking off with the hobby possibilities and I keep hearing his name come up in the sentence "Volund helped me set up..."

    If you're going for just the professional set, fine, but MySQL manages fine with the middle ground PHP manages fine, there's no reason Evennia can't except that the current project lead designer pushes back every time it's mentioned. That's fine, your project and all, but do accept that some of us are going to point out that it's not a hobby tool.


  • Coder

    @Griatch said in What is out there? Hard and soft codebases of choice.:

    @faraday said in [What is out there? Hard and soft codebases of choice.](/post

    I am a programmer. I am not a system administrator. When you tell me: "Oh, you 'just' need to install SQL, and install Django, and install Python, and do this, and do that, and configure the web server, and get a DNS name if you want one, and oh by the way don't forget about all the security updates..." I just want to run screaming in the other direction.

    Contrast that with a typical MU* host where you go to genesismuds, click on a few things, and now you have a shell account for mymush.genesismuds.com where all you have to do is install the game itself with a couple make commands.

    (This is not a problem unique to Evennia, btw... I'm struggling with the same thing on AresMUSH. Trying to make the install/config as painless as possible is my #1 goal.)

    Well, genesismuds could be used for Evennia (and Ares, I presume) too, it's not like that has anything to do with MUSH per se - it's just a shell account marketed to mu*ers.
    Presumably they have Python (and Ruby) installed on their servers or one could ask for it to be. And you don't need to install SQL, nor Django for Evennia yourself. At that point of the install you do pip install -e evennia and it fetches all the dependencies and install them for you
    m

    Have you tried it? I am seriously doubtful given that you don't have root and there are serious memory and processing constraints. And I didn't think it came with stuff to run a web app but that may have changed. Been awhile since I used them or any other mush host.

    Maybe they'd help you set it up, I dunno. My point was that you can't just hit the ground running the way you can with penn or tiny or rhost.


  • Coder

    Sorry for the double post, but I did the first one on my phone and missed @Thenomain's reply. I agree that having a low "time to project" / "time to playing around" threshold is important. I think @WTFE brought up a great point earlier about bridging the gap from player to MUSH developer.

    But I don't think that having the ability to edit code 'live' from inside the game itself is essential for either of these things. I believe that you just need to have an easy setup for a sandbox environment and a clear set of "Hello World" style tutorials ala Amberyl's old MUSHcode tutorial.

    Look at FPS/MMO games for a good example of this. You can't design an AddOn or a new level from inside the game itself, but there are toolkits and tutorials to get you going. And you don't need to be a professional programmer to use them.

    That's all you really need IMHO.


  • Coder

    @Thenomain

    Making Mushes--sorry, an online multiplayer game--is simple. Evennia can have that middle ground. Here's how: Hire @Volund to write your installation and initial help documents. I don't know if he has the temperament(I don't!), but he's self-taught and taking off with the hobby possibilities and I keep hearing his name come up in the sentence "Volund helped me set up..."

    @Volund is a great guy. He is also very knowledgeable about Evennia. And he originally learned to use Evennia from zero Python knowledge (he only knew mushcode) by reading our documentation and by asking questions in the community. I don't know if this has granted him the magical touch to make everything easy to use for "hobbyists", but I'll ask him.

    If you're going for just the professional set, fine, but MySQL manages fine with the middle ground PHP manages fine, there's no reason Evennia can't except that the current project lead designer pushes back every time it's mentioned.

    I find it a little bit unfair to say that "the lead designer pushes back", when I'm just asking for clarification on what you mean. It's not easy to know what others find hard so discussions like this is invaluable. People's backgrounds and experiences are very different between the different branches of MU*-dom.

    @faraday

    Have you tried it? I am seriously doubtful given that you don't have root and there are serious memory
    and processing constraints. And I didn't think it came with stuff to run a web app but that may have changed. Been awhile since I used them or any othe mush host.

    Maybe they'd help you set it up, I dunno. My point was that you can't just hit the ground running the way you can with penn or tiny or rhost.

    I have not personally tried it, no. But from the description it seems like a pretty standard host. I'd agree it's likely not the cheapest or best option, considering you'd likely need at least the "Deluxe" option memory-wise (more for a large production game). Python and GIT are standard packages for any server though and one should reasonably be able to expect them to be available, or ask them to be. As for web services, Evennia is its own web server and runs its own SQLite3 database-as-a-file (unless you want to use MySQL/PostGreSQL/Oracle you don't have to), so it needs no other programs server side and no further root access.

    I see your point though, sure. It's great to have an obvious place to go to host and start your game, no denying that.
    .
    Griatch


  • Coder

    @Griatch said in What is out there? Hard and soft codebases of choice.:

    I have not personally tried it, no. But from the description it seems like a pretty standard host. I'd agree it's likely not the cheapest or best option, considering you'd likely need at least the "Deluxe" option memory-wise (more for a large production game). Python and GIT are standard packages for any server though and one should reasonably be able to expect them to be available, or ask them to be. As for web services, Evennia is its own web server and runs its own SQLite3 database-as-a-file (unless you want to use MySQL/PostGreSQL/Oracle you don't have to), so it needs no other programs server side and no further root access.

    I see your point though, sure. It's great to have an obvious place to go to host and start your game, no denying that.

    I think you and I have had very different experiences with what one can reasonably expect to have available on a "standard host". :)

    I feel like I'm straying way off-topic of the OP's original question, but I'll ask anyway: Evennia can run with a web server in 50MB of RAM (the GM deluxe package)? Also I believe you'd have to have a custom port for the web server, since :80 would be taken.

    At any rate, if it'll run on a standard MU host like genesismuds or dreamhost or whatnot, groovy. I went down that road with Ares and found it wasn't going to work, which is why I'm skeptical.


  • Coder

    @faraday

    Evennia runs within about 40MB from the onset, but yeah, it will scale up considerably for a production game so you are probably right that the deluxe package is still too low in practice. Most users run on AWS or DigitalOcean or other on-demand services. As for the web port, sure it's rare for port 80 to be available on anything but your own self-hosted server so most often it runs on something higher. We default to port 8000.
    .
    Griatch


  • Coder

    @faraday said in What is out there? Hard and soft codebases of choice.:

    Sorry for the double post, but I did the first one on my phone and missed @Thenomain's reply. I agree that having a low "time to project" / "time to playing around" threshold is important. I think @WTFE brought up a great point earlier about bridging the gap from player to MUSH developer.

    But I don't think that having the ability to edit code 'live' from inside the game itself is essential for either of these things.

    In spite of my meandering thoughts, I was trying to, as you say and @WTFE says, talk about bridging the gap between player and developer. People like you and I can do some amazingly complex things in Mushcode, but it takes a level of effort that oustrips Mushcode's standard use case.

    However, for that bridge, Mushcode is far more capable than Evennia, at present. A huge reason is because Mush has immediate feedback tools.

    The documentation available for Mush is also, although ancient, creating and building on foundations. The documentation I've seen for Evennia is instructive but my small peeve that "how to start an existing game" was missing is exactly the kind of thing that frustrates me about it.

    I also started by talking about things like Slack. I do not expect anyone to code in or for Slack, but if you want to set up a small to medium business communications mesh, Slack has a really good set of tools to do that with. They're not the first, not by a long shot, but they're one of the few that focuses on the user and not the product, which makes the product more usable.


    @Griatch said in What is out there? Hard and soft codebases of choice.:

    @Volund is a great guy. He is also very knowledgeable about Evennia. And he originally learned to use Evennia from zero Python knowledge (he only knew mushcode) by reading our documentation and by asking questions in the community.

    Emphasis mine. He's one of two people I know who've gone this route, but I see a difference between training coders (Evennia) and enabling end-users (Mush). The start of Mush's history was a game system that you could code your own Zork or Adventure; by coders for coders. But also for the college friends of coders. It colors everything done in the platform.

    (See, I am trying to keep it somewhat on-topic. Unlike that @faraday person who is easily distracted by a shiny bit of -- oo, code!)


  • Coder

    @Thenomain I'm curious how you define "immediate feedback tools". Is changing code in a text editor in the server shell and typing @reload in the game not immediate?

    I grant that neither Evennia nor Ares can compete with the old MU servers in allowing any old player to fiddle with the code. But for actual game devs, I don't quite see the distinction that you seem to be alluding to.


  • Coder

    @Ashen-Shugar said in What is out there? Hard and soft codebases of choice.:

    One big thing we do have with Rhost is we have a built in execscript. This is a built in function that allows you to interactively execute external script/binaries/other as a local built-in function and be able to scrape the results off it.

    This sounds amazing. How fluid is it between in and out of game? Would it be possible to have it interact with a chatbot in a meaningful way, then? That was something I was always interested in. I mean, you can sort of do it already by having a bot connect to a bit flagged ROBOT I guess.


  • Coder

    @Thenomain said in What is out there? Hard and soft codebases of choice.:

    I make fun of the SGP for being horrible code, but it is clear and simple and is a fantastic learning aid.

    This is why I like the SGP. I think I've rewritten every one of them at some point, and taking apart the code and making my own probably taught me more about mushcode than anything else.

    The more I work on MU type games, the more I realize that I've been interacting with the game as an abstraction. A lot of the commands I use frequently are someone else's commands, whether something like the common +finger and +watch, or something more specialized like non-wizard targeted build tools, character creation, +accolades, and so on.


  • Coder

    @faraday said in What is out there? Hard and soft codebases of choice.:

    I agree that having a low "time to project" / "time to playing around" threshold is important. I think @WTFE brought up a great point earlier about bridging the gap from player to MUSH developer.

    I'm not sure that it will ever be a low time to project, just a "lower" time to project. A low time to project would be literal step-by-step in the shell or the game with a bundle of documents intended to directly copied and pasted, or auto-said into the game. That doesn't bridge the gap, but that's probably the absolute floor. The only way to do it easier might be a DigitalOcean droplet already configured, or something.

    There's two sides though, right? I like actually playing with the code, even if I'm really impatient and would sometimes just like to fork my own copy of the @Whirl / @Cheesegrater Tenebrae code to revive my college D&D group. I don't learn anything that way, but sometimes I don't want to learn. I've noticed many coders don't play so much anymore. I wonder if that's the temperament that makes them good coders or if they can't get on a game without seeing it as work.


  • Coder

    @Thenomain said in What is out there? Hard and soft codebases of choice.:

    However, for that bridge, Mushcode is far more capable than Evennia, at present. A huge reason is because Mush has immediate feedback tools.
    The documentation available for Mush is also, although ancient, creating and building on foundations. The documentation I've seen for Evennia is instructive but my small peeve that "how to start an existing game" was missing is exactly the kind of thing that frustrates me about it.

    It's also been around a lot longer. You do amazing and complex things, but even having access to your Github repository still means a fair bit of sanitizing and testing before things are up and running. I do love the way you format the code, though. It's much easier to read conceptually.


  • Coder

    @faraday said in What is out there? Hard and soft codebases of choice.:

    @Thenomain I'm curious how you define "immediate feedback tools". Is changing code in a text editor in the server shell and typing @reload in the game not immediate?

    I've had to think about this a bit, and here's what I think.

    • You can't do the old trick of testing your code in development in that bizarre but delightful way Mushes allow you to localize code. If you make a change, it's to the server. (New tactic: Lock the code until it's tested.)
    • You have to have server access to test code. You can't test concepts on someone else's server ("how does Penn do this, again?"), and you can't do it without your own complete server installation.

    The problem with my communications here is that I'm talking in what sounds like absolutes, but is a matter of degrees. I don't have the language to explain what I'm thinking of, only examples. As you and @Griatch are taking those examples as specific issues and/or complaints, cross-purposes are being attained.

    Let me give one more example.

    Yes, I have to install the entirety of Python to play around with it (let's ignore online tools for a moment), but I can get into a limited development shell to, well, I could create a whole Python program in it, but it's not designed for that. It's designed to "play".

    This is not about toys, this is about exploration, about learning, and about accessibility.

    This is the specific part I was talking about earlier that I think needs help to make Evennia more accessible. (does not say to run vitualenv first, nor how)

    This is my idea about what "accessibility" is about.

    But for actual game devs [...]

    What is an "Actual Game Dev"? A Cobalt who wants to build a quick, loose game about supernatural life in Forks, Washington and knows how to build but little else? Castle D'Image, which had no code systems to speak of? I know you don't mean this term negatively, and don't even imagine you would use it that way if you did, but this is a limiting statement. "Evennia and Ares are only for Actual Game Devs."

    I do feel bad about stating it that way, but couldn't think of another way to get across that point. My inner editor is a jerk.


Log in to reply
 

Looks like your connection to MU Soapbox was lost, please wait while we try to reconnect.