I have been developing a science-fiction based MUD, i.e. a live online text game, with a small group of people and we've been making some decent progress. However, I'm hoping to speed up our development a bit.
I am currently looking for a couple of good programmers with some time on their hands that would like to help in the development of this game. An appropriate programmer would be decently proficient in C and/or python languages.
More information can be found at our website: http://zeno.biyg.org/~HopeServer/
or you can
message me personally on AIM: arcubilis.
Thank you for your time.
Looks like a cool throwback to older 1980's text games. Very cool and the site looks nice. I can respect the fact that you are sticking with text as well.
I might be interested in contributing some modules.
What is the Python going to be used for? Is it for scripting and if so have you looked at other alternatives like Lua?
I would need to ask some questions about the requirements and if you have the design for the system or if you are still designing it.
Some immediate questions I have:
- You said you needed devs that were proficient in C. Does this mean you are not using C++ and if so, why not? Is that open to discussion or have you decided the language will be C.
- Has the server been written? UDP or TCP/IP?
- Is the game played on the local machine or on the server?
It's probably using an existing base, such as Diku, Circle, etc., which were all written in C.
Originally Posted by Bubba
I see. I am not very familiar with what code or frameworks are out there in the MUD morld.
Firstly, thanks for your interest!
The code is written in C and python. The core mechanics are developed with C and the modules are created in either C or python. These modules can be created to work completely independently of most changes made to the core system.
We do not use C++ since the norm and most widely used language for text-based games is C. The NakedMUD code base is one completely seperate from Diku, Circle, etc. containing only necessary components to MUD development such as socket networking, etc.
To be honest, I'm not the programmer of the group so I'd rather not guess as to the TCP/IP/UDP/etc component. Our programmers would gladly speak with you on this.
All code is server-side while the player connects through a personal client. We also have a custom developed client in the plans.
Don't hesitate to contact me for more info on AIM: arcubilis
or email: email@example.com
MUD development is what got me into C programming in the first place! Man, this brings back memories! If only I had the time...
Well, we plan to have this project in development for some time. It's not a small project.
If you decide you'd like to help in the future, please feel free to drop me a line.
I assume the server is Linux-based? What kind of RCS system are your programmers using?
Originally Posted by DemiGod
Indeed. No other online gamming experience for me ever reached the depth and intensity of MUDs. For some time actually it became a serious problem and I had to quit. I nearly lost a job once over Realms of Despair. That was when I realized it had to stop. And I was quite good at it too...
Originally Posted by itsme86
I'm not proficient in C though. Only C++. I'd certainly contribute otherwise, especially on a later phase after most of the work is done and it's all a matter of adding new features or improving existing ones.
I'm not proficient enough in pure C to join this project. Now if it is C++ then I would say game on and I'm interested. I honestly do not see the reason for pure C or that is a better MUD language than C++. Not to mention I shudder to think of a game code base done in pure C.
The server is run on a Linux server, yes. You'll have to elaborate on what you mean by RCS.
Perhaps you guys would like to let me know why you think a text-based game would be better to develop in C++? From the MUD community, most actually feel that C is a superior code to use.
We are at the early pre-alpha stage in development and I would be interested to hear what your thoughts are on the uses of C++ versus C for this particular type of project - not all games in general. I understand that C++ bypasses a lot of minutia that has to be dealt with in C, but beyond that?
He means the source version control system; cvs, svn, bazaar, git, ...
Originally Posted by DemiGod
Why it is mainly developed in C is uniquely over historical reasons. That's how the vast majority of MUDs were being developed during their prime in the late 80s and 90s. No doubt a legacy from its Unix days.
Originally Posted by DemiGod
During that time C++ was a language still gaining momentum. It was only in 1998 that the first standard was finally published. But by that time, MUDs were nearing the end of their golden era. I'm not surprised that for any C programmer there would be a resistance to adopt the C++ language before that. Still it needs to be said that I remember distinctly some MUD code bases being already developed in C++.
Today however there is no reason to choose one over another on technical matters. None whatsoever. They both provide all that is necessary to develop fast, reliable and feature-full MUD servers. In fact C++ can be considered superior on some areas, particularly on the game engine for its adoption of OO which maps very well to gaming constructs (it's no surprise that the gaming industry adopted C++ almost exclusively, for instance). However C is still a good choice today as it was back then as a MUD development tool.
The only thing really that should dictate the language of choice is your programmers experience. If you can muster enough qualified C programmers to get your project going, more power to you.
But I also feel I must say the MUD community, as you put it, of which I'm a proud member since the 80s (despite not been active for a little over 7 years), is wrong. C is not superior programming language for MUD development. If anything could be said about that, is that C is just another programming language that could be used to develop MUD servers. And as it could be expected from the natural evolution of things (things do evolve) today there's actually potentially better solutions. C++ being one of them. Not because C is inferior, but because C++ offers language constructs and semantics that do a better job mapping the real-world objects of a MUD server.
I expect no less from a C programmer to taut their language as the superior choice on every opportunity. But you aren't tainted by such things; you are not a programmer. So I wish you the best of luck with your project, I'm sure C will handle your requirements and even perform beyond duty, but make no mistake: It's not, by far, the superior choice. It's a choice.
EDIT: ... a choice that you are more or less forced into if you do adopt the NakedMUD base, so that's fine. But "more or less" because to be technical you could still use C++. You can use C from within C++. So, if you ever found yourself in a position where you could muster a good group of C++ programmers and lacked C programmers, you could still use NakedMud, if that base was something you absolutely wanted to use. Interestingly enough you'll find more C++ developers proficient enough in C that could do the necessary linkage (we all in this thread could do that, despite not being proficient enough to develop fullscale C applications), than you will ever find C developers proficient in C++. In fact you will find more C++ programmers that can do you a full C MUD server, than C programmers that could do you a C++ one. That should give you some hints as to the span of the C++ language and how it can manage C-like requirements while still providing all the OO facilities for today's modern programming requirements.
Thank you for the input. I do appreciate hearing all sides to a story before making decisions.
I will keep all of this information in mind, however I do believe that we will continue to use C in this project. As you said, most C++ programmers will be able to adapt to working in C than vice versa, most likely offering a larger pool of programmers to choose from.
As you also mentioned, many C++ programmers may be able to adapt to C even if they cannot develop an entire program in it, which I will not need. My project manager is in control of that and we would be most likely be looking for module architects, however anyone willing and able to work with core mechanics is always a valuable asset and I would suggest those reading this thread to keep this in mind.
Most C++ programmers that I know and work with would not join a pure C project. After using all the constructs and object oriented principles that make design and implementation so much simpler and ultimately creates loosely coupled code that is easier to maintain and extend it feels like a giant step backwards to move to pure C. It's almost as if you've been working with this awesome set of tools and suddenly someone takes those tools away from you.
I 100 % agree with Mario's statements and feel he addressed the issue at hand without getting into a power struggle between C and C++. It's not a matter of power b/c both have the power to do what you want. In the end it comes down to what your programmer's know and are familiar with and if newcomers can easily adapt to the language of choice or if you can pull from an experienced pool of programmers who are experts in your language of choice. Ultimately development time will be shorter if your programmers and potential programmers are experienced with the language that you choose for the project.
That being said if you come up short on C programmers and would not mind a few C++ modules to plug in here and there I'm sure that we would be more than willing to contribute time permitting.
See, I wouldn't have a problem with using C++ if I knew that it was compatible with the rest of the system.
I'll have to talk to my team to see into the compatibility, but I am surely not turning anyone down that wants to help.
I'll be in touch.