View Single Post
Old 04-08-2013, 11:11 PM   #9
camlorn
Member
 
Join Date: Aug 2011
Posts: 144
camlorn is on a distinguished road
Re: How do Diku .are files work?

Well, sort of. There's a tradeoff for decreased complexity. I can think of 4 or 5 muds that have done something "new", that is pushed the boundaries of the genre, and at least two of them would probably have some sort of problem if implemented in python or similar.
One of these is lost souls, which uses multiple gigabytes of memory to provide, I kid you not, an entirely subjective experience, based on what your character knows (it really is, and they don't use strings for game messages for starters). Whether or not this is impressive, or whether or not lost souls is even a fun mud, is subjective. This is LPC, which is more efficient (or so I think) than python, for the simple reason that it started when we only had 64mb of ram. Issue here of course is running out of ram.
Another is godwars2, which doesn't even have rooms and is doing at least some realtime collision detection. I'm not sure how much--I doubt everything has a polygon, but players and everything else moves in realtime.
My personal idea is this. We don't need ascii maps. I could apply heuristics in realtime to generate meaningful descriptions of the mud equivalent of the overworld. That's my personal favorite. Taking an average of two hundred numbers every time the player moves, let alone doing more complicated things that involve many calls to trigonometric functions...yeah, processor intensive, as soon as players leave brief off and enter a hundred-room speedwalk, well, enough said.
I think that python and such is fine for any normal run of the mill room-based mud, but that it will prevent adding processor intensive features of any sort without unnecessary artificial limits. I remember playing a python mud, cloktown I believe it was, and being impressed with their features but not impressed with the fact that the entire thing felt unresponsive. I could tell that commands weren't happening instantly, even simple ones, and to my programmer's eye, it looked like some of the game restrictions were restrictions imposed by python. Perhaps they weren't, but that is what it felt like to me.
I'm not going to argue the point, not beyond the above. This is not the place, and python is fine for 75% of mud projects. To me, my language of choice would be java, possibly (well coded java, i.e. not coffeemud java, is actually fast these days) or something that compiles.

For lua, there's luajit, as well. I've not seen the benchmarks. The truth is that if you're going to go that low for a performance gain--well, write it in c and use the FFI of your language of choice and have all the benefit, instead of just some.
camlorn is offline   Reply With Quote