What is out there? Hard and soft codebases of choice.
-
@AntiZero said in What is out there? Hard and soft codebases of choice.:
@WTFE well it's probably the only accurate thing you've said on this thread. So kudos.
I'm pretty sure "MUSHcode is a fucking horror of a language" is also accurate.
Son, free clue here before you embarrass yourself too much: there is literally nothing you can say that will bother me. You're a name on a screen. And a pretty fucking idiotic one to boot. (What the fuck kind of moron names himself after someone he despises?)
-
Stop it, Canink. Stop making me agree with you.
@WTFE said in What is out there? Hard and soft codebases of choice.:
You must learn Python. You must learn the Python ecosystem with its myriad of tools to rein in its chaos. (Virtual environments, PIP, etc.) You have to set up a database IIRC. (I may be misremembering here; it's been ages since I looked at Evennia.) And now, apparently, you have to know Git (or Mercurial because, you know, Python).
The db is thankfully set up in the main install. Faraday and I looked briefly at the web template interface, though, and both said "aw hell naw!"
My 'four things' you'd need for complex game development were: Python. Evennia's APIs. Django. Versioning Software. Five if you want to include web interface development. Two of those are pretty handy things to know and be able to use for complex game development (Python, Versioning). One you will have to know regardless the server (Evennia APIs and structure/Mushcode).
To invoke the @faraday again, she is planning on the kind of complaints I have for "easy set-up and maintenance" for AresMUSH that I was complaining about before.
I want to be clear: I don't think that in-game editing is the be-all and end-all, but it's a strong example of what makes a game accessible to non-professional development.
Faraday, I forgot to mention in our chat: Being able to code in-game is also a very helpful real-time collaboration system. Call me when Atom allows you to collaborate on code as easily!
-
@WTFE heh. I can't wait to see the awesome alternative you will unleash on the world. I'm sure we will all flock to it and create our virtual worlds with only you to thank for your tireless efforts.
Oh, wait...
Yeah, it's easier to tear down other people's work than take a chance in looking forward and trying something new. MUSHCode is a system that can work. But so was the telegraph.
Cling to your old way, grandpa. Watch the world pass you by.
-
The db is thankfully set up in the main install. Faraday and I looked briefly at the web template interface, though, and both said "aw hell naw!"
Could you elaborate more on what you refer to by the "web template interface" here?
.
Griatch -
Another dooble poost. Sorry.
@AntiZero said in What is out there? Hard and soft codebases of choice.:
@WTFE Wow, you are kind of a prick.
I'm not a fan of WTFE. Never have been, probably never will, but that doesn't mean I ignore what he says because he's being a jerk about it. It makes it harder to take him seriously, or want to try and engage with those points, but that's partially on me as well. Mostly on him, mind you, but I could be better at not taking everything personally, too.
In other words:
Sometimes
edit:
@AntiZero said in What is out there? Hard and soft codebases of choice.:
@WTFE heh. I can't wait to see the awesome alternative you will unleash on the world. I'm sure we will all flock to it and create our virtual worlds with only you to thank for your tireless efforts.
Oh, wait...
Okay, this is a bullshit argument. Not fixing the problem is not the same as not identifying the problem and certainly not the same as feedback. People don't have to "do things" to contribute.
Now I know you two are going to continue feeding on each other, WTFE trolling you and you acting indignant about it, but I wanted to get this out there first, for the sake of a call for reason.
-
@AntiZero said in What is out there? Hard and soft codebases of choice.:
Cling to your old way, grandpa. Watch the world pass you by.
You really are hard of reading, aren't you?
I have repeatedly called MUSHes "a horror". I have no particular love for MUSHes and MUSH servers and MUSHcode (and indeed the latter I quite despise--you only have to look up a few messages to see me talking about its shitty capacity for modularity, for example).
My "old way" was outlined above too, incidentally. Such "old ways" as being web- (and mobile app-) centric. And being user-focused instead of programmer-focused. But this would require you to get over your fucking butthurt and actually read what the Bad Man has actually written instead of what the Straw Bad Man wrote in your meth-addled mind. (I'm doing you the courtesy of assuming you actually have one. A mind, I mean.)
-
I just want to point out that, as he's talked about it on Arx, which I think is the biggest running Evennia game, @Tehom is not a professional programmer and hadn't tried coding in a number of years before the Arx team started building. So the idea that Evennia can only be handled by professional programmers is demonstrably untrue.
-
@WTFE Ha! I love the Internet. It's so easy to say things that would get you beat in person.
-
@Roz said in What is out there? Hard and soft codebases of choice.:
I just want to point out that, as he's talked about it on Arx, which I think is the biggest running Evennia game, @Tehom is not a professional programmer and hadn't tried coding in a number of years before the Arx team started building. So the idea that Evennia can only be handled by professional programmers is demonstrably untrue.
data n. 1. plural form of anecdote
-- no dictionary everYou're sounding like Haskell enthusiasts here. "No, you don't need to be a mathematician to truly appreciate Haskell! See, here's our single, go-to user who is a humanities major who likes Haskell! We'll just ignore the literally thousands who tried and recoiled from Haskell just last month alone and cling to her because that way we don't have to modify anything!"
-
@AntiZero said in What is out there? Hard and soft codebases of choice.:
@WTFE Ha! I love the Internet. It's so easy to say things that would get you beat in person.
Can someone refresh my memory: is this a "finish your drink" or "finish the bottle" move?
-
@WTFE More of a 'Hold my beer' kind of thing.
-
@Griatch said in What is out there? Hard and soft codebases of choice.:
The db is thankfully set up in the main install. Faraday and I looked briefly at the web template interface, though, and both said "aw hell naw!"
Could you elaborate more on what you refer to by the "web template interface" here?
.
GriatchWhen I'm not late for out the door having an Important Internet Argument, sure.
@Roz said in What is out there? Hard and soft codebases of choice.:
So the idea that Evennia can only be handled by professional programmers is demonstrably untrue.
Can you find someone saying that Evennia can only be handled by professional programmers? I think I know what you're referring to, but it has a look of hyperbole to it and I don't want to respond until I know.
That is, I don't think anyone said it was "for professional programmers only".
edit:
@WTFE said in What is out there? Hard and soft codebases of choice.:
@AntiZero said in What is out there? Hard and soft codebases of choice.:
@WTFE Ha! I love the Internet. It's so easy to say things that would get you beat in person.
Can someone refresh my memory: is this a "finish your drink" or "finish the bottle" move?
It's a "flag for moderation" moment. I think character attacks with no other substance is only allowed in the Hog Pit. Otherwise, posting for one's own amusement is a single drink.
-
@WTFE 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.:
One of the things that makes me call MUSHcode "a fucking horror" is its utter lack of modularity, so kudos here.
This is something we're slowly in the process of handling with Rhost.
With the future adding of the python API, we're going to look to tie in API's of other languages, perl, ruby, etc. They will be a bit like Evennia with how it works by being server-side ran but being able to integrate with the internal code natively. All the while keeping all the backward compatible 'eyesore mush code' there.
We're also looking at the feasibility (some of the backend is already in place) for in-game modular inserting/removing modules like LInux's insmod/rmmod.
Right now, there's back-end server methods to fairly easily add modules to inject new commands and functions into the code without ever having to touch the main code itself. So the infrastructure is there.
We need to add some additional features to make dynamic flag/toggle addition possible as well, which is one thing Ambrosia is looking into.
In a nutshell, we're looking to take the existing Mush infrastructure, then add on top of that and integrate into that new tools and methods for current languages. Eventually we will even allow (hopefully) a web based frontend right into the game and many other things. The API designs should, potentially, make this much easier to do.
We already allow a limited API to read/write to external apps/scripts in a sandboxed environment. We modified in-game where it keeps track of source file and line number of every buffer current allocated to in-game allow finding leaks or buffer overruns, we put in label/breakpoints and greps into trace output to make debugging in-game softcode much easier.
Mush code is, and always will, be a steaming pile interpreted language. How we're addressing that is offering OTHER languages people can code in in addition and inter-actively with the crappy mush code. So we're hoping to walk forward in the future while keeping our feet firmly in the past. It does make things limited, but hopefully we can get around most limitations to provide an environment that will be usable for most people in the future.
And if not, hey, it'll be a hell of a lot of fun making the attempt.
-
@Roz said in What is out there? Hard and soft codebases of choice.:
I just want to point out that, as he's talked about it on Arx, which I think is the biggest running Evennia game, @Tehom is not a professional programmer and hadn't tried coding in a number of years before the Arx team started building. So the idea that Evennia can only be handled by professional programmers is demonstrably untrue.
Maybe he's just smarter than "WTFE" or what the fuck ever his name is. "MAYBE" Bahaha, I crack myself up.
-
@Thenomain said in What is out there? Hard and soft codebases of choice.:
@Roz said in What is out there? Hard and soft codebases of choice.:
So the idea that Evennia can only be handled by professional programmers is demonstrably untrue.
Can you find someone saying that Evennia can only be handled by professional programmers? I think I know what you're referring to, but it has a look of hyperbole to it and I don't want to respond until I know.
That is, I don't think anyone said it was "for professional programmers only".
Sorry, I should have been clearer in my reply. But it was stuff like this:
@WTFE said in What is out there? Hard and soft codebases of choice.:
Now, again, if the target market is professional programmers who want a professional (where "professional" is defined as "senselessly complicated for no good reason: cf. enterprise") development environment for their pretendy-fun-time-text-game hobby, then Evennia probably hits close to a sweet spot.
If, however, the market is broader and includes hobbyists it has, IMO, fallen far short of what's needed to appeal there.
-
@Griatch said in What is out there? Hard and soft codebases of choice.:
Could you elaborate more on what you refer to by the "web template interface" here?
We were just talking about web UIs for MUSHes. I mentioned my painful experiments with Ares' web UI, we both sort of said "I wonder how Evennia does it" and went on a scavenger hunt through the code and docs before finally finding this.
Now I know that nothing in Evennia is stamped "for professionals only" but there's HTML and Javascript stuff, python stuff, Django templates, plus a separate web client and web server, plus SQL... you gotta kinda admit it's a lot to learn, yeah?
And hey, I'm not saying that's a horrible thing or a deal breaker, but compared to Amberyl's tutorial telling you Everything You Need to Know About MUSHCode, I can see where it's kind of daunting.
I've struggled with the same things with Ares, so I completely sympathize. Using modern tools means using a patchwork of stuff. That's just the way modern software tools are. There are pros and cons. I can understand how someone who's never experienced the 'pros' would find the 'cons' pretty off-putting. I can also understand how one person's "pro" is another person's "con", so ... it's all relative. Pick the tool that best fits YOUR job.
-
@Ashen-Shugar said in What is out there? Hard and soft codebases of choice.:
And if not, hey, it'll be a hell of a lot of fun making the attempt.
And that is fine. More than fine, really. If you're not enjoying code you're writing as a hobby I'd seriously question your sanity.
-
@faraday said in What is out there? Hard and soft codebases of choice.:
@Griatch said in What is out there? Hard and soft codebases of choice.:
Could you elaborate more on what you refer to by the "web template interface" here?
We were just talking about web UIs for MUSHes. I mentioned my painful experiments with Ares' web UI, we both sort of said "I wonder how Evennia does it" and went on a scavenger hunt through the code and docs before finally finding this.
Now I know that nothing in Evennia is stamped "for professionals only" but there's HTML and Javascript stuff, python stuff, Django templates, plus a separate web client and web server, plus SQL... you gotta kinda admit it's a lot to learn, yeah?
Just to explain what you are seeing - that page contains HTML with Django template markers, like {% ... %}. Those are used for "importing" other HTML pages and to populate the page with the contents of game variables like number of players etc without the need for embedded Javascript.
If you want to create a website, yes you'll need to know HTML and CSS, most likely with some Javascript thrown in. Do you have to know these to be proficient with Evennia though? No; it's all set up to run for you. There is no need to learn SQL (that's after all one big point of Django) nor how to handle a web server apart from opening the right ports. If you wanted to customize the Javascript client code then yes you'd obviously need to know Javascript, but we are aiming to make this more pluggable so you don't have to but can structure the interface more graphically (that's in the future though).
Is it a lot of stuff to learn? If you wanted to tweak and master everything we have already created, yes certainly. You don't have to though, certainly not for replicating a traditional MU*.
Allow me to update @Thenomain's list of "things". The list of things you need to know to be a beginner Evennia user is, IMO, as follows:
- To install you need to know how to install packages / dependencies in your OS of choice. You also need to know to use a terminal line / console.
- You need to be able to blindly ape one command of GIT (to clone Evennia).
- You need to know to activate the virtualenv to get access to the
evennia
command before you do anything. - Basic Python. That is, the ability to write syntactically sound Python and be able to read example code with classes, functions and variables. Know how to import things from other modules and what a traceback is ... those kinds of things.
- You need to know how to use a text editor and how to switch between windows in your OS. For seeing the results in-game you need a web browser or telnet client of your choice.
With this you will be able to pick your way through most of the beginner code tutorials with your locally-running Evennia, including creating your own commands, new object types and creating a small mini-game with placeholder game mechanics. You'll be learning how to interact with the Evennia API along the way. No Django knowledge is required, no SQL is (ever) used.
It will not be an immediate success. You will make errors, you will not understand why things don't work, you will miss those indents that Python requires. Evennia will complain and spit out tracebacks left and right at the weird stuff you throw at it. You will (hopefully) ask for help and get it. But eventually you will have a feel for what goes where and how things connect.
... Then you may want to learn some few lines of Django to build database queries not covered by Evennia's normal search routines. You may want to put your code under version control if you want to collaborate on a code base. You may want to take your game online. Maybe tweak some HTML to make your game home page prettier. At some point it's your ambitions and game-goals that define what you want to go and learn next.
.
Griatch -
@faraday said in What is out there? Hard and soft codebases of choice.:
I've struggled with the same things with Ares, so I completely sympathize. Using modern tools means using a patchwork of stuff. That's just the way modern software tools are.
It doesn't have to be, it's just that the broken cruft won the adoption wars (like it seemingly always does).
There are languages and environments out there that are complete, integrated front-to-back-end stacks that don't require the wobbling pile of shit that is conventional web development. Off the top of my head there's the web stack in SWI-Prolog, there's a language/runtime called "Oma" or something like that?, there's MIT's Ur/Web stuff, there's … well, suffice it to say there's a huge variety of approaches to avoiding the dog's breakfast that is "modern" web development.
But …
Programmers, for all their posturing over "bleeding edge" fetishes, are at their core so conservative they make the Family Values Party look like pinko commies. I've seen "rock star" programmers--not self-identified as such, but identified as such by colleagues!--recoil from a language because it didn't use curly braces. The most popular "developer platform" is a warmed-over remake of '70s technology (that was itself a pared-to-the-bone remake of '60s technology).
There isn't a 1960s methodology or a 1970s language design that programmers have seen that they don't embrace wholeheartedly as the One True Way of doing things. And they'd far rather incrementally add one more steaming pile of dung onto an existing steaming pile of dung than start to work with, you know, something that isn't horseshit. (Evidence: C++, Java, and C#.)
This is why web development is such a shit experience and why web apps are such broken shit apps.
But really, especially in the hobby space, it makes little sense to follow the ultraconservative proclivities of "professionals". You'd think in the hobby space it would make more sense to try out things that could be fun. But apparently you'd think wrong…
@Roz said in What is out there? Hard and soft codebases of choice.:
That is, I don't think anyone said it was "for professional programmers only".
Sorry, I should have been clearer in my reply. But it was stuff like this:
@WTFE said in What is out there? Hard and soft codebases of choice.:
Now, again, if the target market is professional programmers who want a professional (where "professional" is defined as "senselessly complicated for no good reason: cf. enterprise") development environment for their pretendy-fun-time-text-game hobby, then Evennia probably hits close to a sweet spot.
If, however, the market is broader and includes hobbyists it has, IMO, fallen far short of what's needed to appeal there.
"Targeted at" =/= "exclusively usable by". On my desk at this very moment I have about a half-dozen pieces of kit targeted at electrical engineers. (These are: a bench power supply, an oscilloscope, a logic analyzer, a spectrum analyzer, a spiffy digital multimeter, an arbitrary waveform generator and a LoRa development module for the record. OK, that's seven, not half-a-dozen. Call it a baker's half-dozen.) I'm not an electrical engineer. This doesn't stop me from both owning and regularly using these items. (Well, OK, I don't own the spectrum analyzer. Those things are FUCKING EXPENSIVE! It's on loan.)
Nobody (sane), however, would disagree with me that these things are anything but targeted at engineers. The fact that a non-engineer is capably using them is quite irrelevant.
Oh, and at home I have all of the above (sans spectrum analyzer) and a few dozen pieces more (including more JTAG/SWD adapters than I know what to do with).
This is the context in which I meant "the target market…".
-
@WTFE Since you so clearly think so little of my chosen profession, industry, and the apparently-nonsensical design choices for my MU* server, I'd say there's not really much more to be gained from further discussion. Hope you find a game server that meets your needs.