Crypticant Posted February 22, 2009 Report Share Posted February 22, 2009 From a high level, here's how open sourcing this could work: 1) Establish an online source code repository. I've had great success with Google Code, which uses Subversion for it's source control. Anyone can download the code using TortoiseSVN or some other incarnation. Users provide their own development environment, which can be as simple as Notepad. They'll need a compiler, though. Windows users can use Cygwin, Linux users don't need anything since Linux compiles C code natively, and everyone knows Mac users don't know how to code. ;-) 2) Create the current "stable" trunk. This represents the current version of The Forsaken Lands code, which is the version being run on the Main Port. 3) Create versioned "branches" which people can contribute to. As code is checked it, it can easily be reviewed by administrators. If it looks good, it's promoted to test and released on the Test Port for implementation testing. If it it doesn't work or is not acceptable, the code is not promoted. Contributor can be banned/reprimanded/warned, etc. 4) Once the code is tested on the test port and is found to be acceptable, it is merged into the trunk and promoted to production (the Main Port). Version increases. That's really it. It's quite simple. Source control maintains a detailed history, so if anything is hosed it's easy to roll back. Player Files and Area Files are not released with the source. Only one of each is provided for testing. (Limbo, for example, is required to run the MUD, and someone will need a test player file). So, questions? Link to comment Share on other sites More sharing options...
Raargant Posted February 22, 2009 Report Share Posted February 22, 2009 I transferred this over from another thread, as I felt it should have a thread of its own. Link to comment Share on other sites More sharing options...
Mudder Posted February 22, 2009 Report Share Posted February 22, 2009 Couldn't this cause problems, since anyone could know exactly how all the classes (including qclasses) work and function? The deep secrets of the MUD would be easily accessed, right? Link to comment Share on other sites More sharing options...
Crypticant Posted February 22, 2009 Author Report Share Posted February 22, 2009 Well, there are a few holes in your theory. First, FL mud was actually released to the public by Viri a couple of years ago, and there wasn't a mad rush then of amateur C programmers deciphering and exploiting these alleged "deep secrets". Second, the code doesn't harbor any "secrets", nor should it. People who play a class for long enough learn its capabilities. If there are "secrets", these are probably more accurately called "exploits" and should be removed. Most people know what the quest classes and races can do. They still have to apply and play the game well in order to become one. Yes, people can learn about cabal abilities. Who doesn't already know most of what each cabal is capable of, though, really? However, in order for a person to "unlock" these "deep secrets", they would have to 1) Have a strong, fundamental working knowledge of C, 2) Have a lot of time to pore through the hundreds of thousands of lines of code in hundreds of files to discover all of the references of every class and the relationships that exist within them, and then 3) Create and rank a character in sufficient time to use these exploits. There are a lot of people who have seen FL's code already anyway. Viri and I and the current Imms aren't running amok on FL right now killing everyone because of our intimate knowledge of the code, and neither is anyone else. Link to comment Share on other sites More sharing options...
Celerity Posted February 22, 2009 Report Share Posted February 22, 2009 However, in order for a person to "unlock" these "deep secrets", they would have to 1) Have a strong, fundamental working knowledge of C, 2) Have a lot of time to pore through the hundreds of thousands of lines of code in hundreds of files to discover all of the references of every class and the relationships that exist within them, and then 3) Create and rank a character in sufficient time to use these exploits. I'm going to have to disagree with #s 1 and 2... I can't code at all and it was surprisingly easy to search and find out almost anything I wanted to know in the previously released source code. But yes, I strongly agree that the game should be tactical and interesting because of its inherent design, not because of any staff-enforced code/class/cabal/race 'secrets'. Ideally, I should know everything about the game and it should be just as, if not more, fun due to the possible applications of that knowledge. This isn't a questing MUD; this is very much a powerplaying PK mud. Hiding knowledge causes more problems than just the extreme learning curve, newbie retention, and the in/out-of-the-know cliques. There are a lot of people who have seen FL's code already anyway. Viri and I and the current Imms aren't running amok on FL right now killing everyone because of our intimate knowledge of the code, and neither is anyone else. I really agree with this. I mean Chayesh and Malch have had access to the code for years...and they still haven't produced any decent chars! Link to comment Share on other sites More sharing options...
Telufial Posted February 22, 2009 Report Share Posted February 22, 2009 haha. Link to comment Share on other sites More sharing options...
mya Posted February 23, 2009 Report Share Posted February 23, 2009 Celerity has a point. When was the last time any of you ever heard me brag about being a uber PKer. Sure reading the code can give you some edges but most of the things are really difficult to understand from the code, as they are spread around many files. EQ will still 9 out of 10 do more for you than Code things. BTW, if you go ahead with this, you need to enforce code comments. FL code is seriously under commented. This is actually a good idea, as it would allow the mud to live for a long long time. Link to comment Share on other sites More sharing options...
Greyanhk Posted February 23, 2009 Report Share Posted February 23, 2009 I would like to try this Good Morning, I would like to try this. I have a degree in Comp Sci and I am proficient in C++ and Java programming. I think I can help contribute. What would the next step for me be? Grey Link to comment Share on other sites More sharing options...
Guest emp_newb Posted February 23, 2009 Report Share Posted February 23, 2009 Start writing Link to comment Share on other sites More sharing options...
Crypticant Posted February 23, 2009 Author Report Share Posted February 23, 2009 I have a degree in Comp Sci I am proficient in C++ and Java programming. Mutually exclusive statements, in my experience. Kidding, but in all seriousness, the MUD code is not object oriented, and both C++ and Java are. You'll definitely need a book on C. Link to comment Share on other sites More sharing options...
Calron Posted February 24, 2009 Report Share Posted February 24, 2009 I imagine he's learned C if he has a degree. I don't know of any CS program that doesn't use (primarily, in many cases) C at all. Java is usually only taught in intro courses. Seeing as C is more or less the industry standard (and most popular language in the world), it wouldn't make much sense to send you out into the world blind. C++ and Java are both based on C as well. C++ is basically an OOP incarnation of C (classes, inheritance, abstraction, polymorphism). C -> C# -> Java are all similar to C with referencing instead of pointers, automatic memory management/garbage collection, and strict typing (hence why Java is taught in intro courses as these are the biggest sources of bugs for beginners). Link to comment Share on other sites More sharing options...
Mudder Posted February 24, 2009 Report Share Posted February 24, 2009 ...Nerd. Link to comment Share on other sites More sharing options...
Ali_gmud Posted February 24, 2009 Report Share Posted February 24, 2009 ....ogre buff ranger nexus Link to comment Share on other sites More sharing options...
tassinvegeta Posted February 24, 2009 Report Share Posted February 24, 2009 Yes it is quite easy for people to learn about the code no matter how long or difficult it is to understand. But the reason for that is because we all love and enjoy this game and will spend countless hours involved in it. From my experience learning these secrets has only motivated me and others to experience them. Isn't that what we want? Link to comment Share on other sites More sharing options...
Greyanhk Posted February 24, 2009 Report Share Posted February 24, 2009 As was stated... I am more proficient in the OOP languages. I did have to learn C, but only to understand the differences from C++, which was primarily taught as the computer programming language for my degree. I currently teach the Java programming language, as was stated, as an introductory language for high school computer science. I don't think I need a C book. I think I can sift and decipher enough to make some substantial contributions. I had, for a time, considered reworking the Circle code base into a C++ derivative. I still may... My next real endeavor though, is Perl. Grey Link to comment Share on other sites More sharing options...
Crypticant Posted February 25, 2009 Author Report Share Posted February 25, 2009 Thank you for the lesson on what C is, Calron. I imagine he's learned C if he has a degree I have a degree, and not one of my courses taught C. I did learn fundamentals of COBOL, Pascal, and Visual C++/MFC. Seeing as C is more or less the industry standard... What industry? I've been an ASP.NET/C# developer for 8 years and have never used a line of C in my real work. I imagine there are few web developers who use C. I imagine there are even fewer video game developers who do. C++ is basically an OOP incarnation of C. You act like that's a small difference. OOP and procedural programming are apples and oranges. You mention polymorphism and inheritance like they are trivial add-ons to C. Automatic memory management/garbage collection Yes, and the MUD has none of these, so if you've never used malloc or don't know what it's for, you'll eat up mud resources so fast they'll hear the sucking sound in Denmark. MUD code is not for everyone, in fact, it's not for most. You don't get any sort of Intellisense, you don't get an IDE outside of pico, emacs or your favorite UNIX text editor, and it's very picky about how it works. This on top of about 15 years of additions, hacks, development and virtual no comments make it really problematic. I'm not saying it's impossible. I'm saying don't think you're going to be a wizard at MUD code simply because you know [insert language here]. Link to comment Share on other sites More sharing options...
Calron Posted February 26, 2009 Report Share Posted February 26, 2009 I have a degree' date=' and not one of my courses taught C. I did learn fundamentals of COBOL, Pascal, and Visual C++/MFC.[/quote'] I believe you; however, this is by no means the most popular scenario, or even common at all. (Especially in terms of current programs) What industry? I've been an ASP.NET/C# developer for 8 years and have never used a line of C in my real work. I imagine there are few web developers who use C. I imagine there are even fewer video game developers who do. I fail to see how that has any relevance to the point you associated with it, unless you are indicating that by industry, I meant every single individual with a career in software engineering (in which case you would be a proof to an end). Aside from the fact that web development is only a small part of the software engineering industry, all of the web programming you do is top-level code. The communication layer your applications interact with is written in C, the network protocols are written in C, and greatest number of compilers are written in C. C also has the greatest number of developer positions in the world and the greatest amount of code written in it in the world. Microsoft, the largest software company in the world, uses C as its core language for the most popular operating system in the world (Windows). Take a look at the application requirements for software engineering jobs and well over half of them will say something about C programming. Lastly, ASP.NET is not really a programming language (in the precise sense of the term), and was only released in 2002 (hence not 8 years ago). And C as a language itself does not support web programming (which is why you don't use it, but rather write top-level). Let me re-iterate that I'm not saying that it isn't true that you've never studied or programmed in C for your job, but that C definitely is the industry standard. Why? C is small, C is fast, and C is portable, and it is too damn pervasive throughout applications at this point to change easily even if there is/were a better alternative. You act like that's a small difference. OOP and procedural programming are apples and oranges. You mention polymorphism and inheritance like they are trivial add-ons to C. I didn't intend to make them sound like trivial things. If that was the case, it was not meant to be. They are certainly greatly important parts of modern programming language. MUD code is not for everyone' date=' in fact, it's not for most. You don't get any sort of Intellisense, you don't get an IDE outside of pico, emacs or your favorite UNIX text editor, and it's very picky about how it works.[/quote'] Toss your MUD code into a Visual Studios C++ project and you'll get both your IDE and IntelliSense. Link to comment Share on other sites More sharing options...
Deykari Posted February 26, 2009 Report Share Posted February 26, 2009 Valid points from both of you. However: I fail to see how that has any relevance to the point you associated with it, unless you are indicating that by industry, I meant every single individual with a career in software engineering (in which case you would be a proof to an end). Aside from the fact that web development is only a small part of the software engineering industry, all of the web programming you do is top-level code. The communication layer your applications interact with is written in C, the network protocols are written in C, and greatest number of compilers are written in C. C also has the greatest number of developer positions in the world and the greatest amount of code written in it in the world. Microsoft, the largest software company in the world, uses C as its core language for the most popular operating system in the world (Windows). Take a look at the application requirements for software engineering jobs and well over half of them will say something about C programming. Lastly, ASP.NET is not really a programming language (in the precise sense of the term), and was only released in 2002 (hence not 8 years ago). And C as a language itself does not support web programming (which is why you don't use it, but rather write top-level). Let me re-iterate that I'm not saying that it isn't true that you've never studied or programmed in C for your job, but that C definitely is the industry standard. Why? C is small, C is fast, and C is portable, and it is too damn pervasive throughout applications at this point to change easily even if there is/were a better alternative. Fair point, but you need to consider the importance of front-end based systematic referencing. C is great when you need to operate in X1 environments but the minute you start working in X2 or even Z2 (even in today's age, Z2 is still considered the forefront - LOL) it falls apart like decomposed raw chicken placed under a hot faucet. The key is all in leveraging synergy to achieved seamless SC (StreamCode) that functions not only as your core but as your ancillary. In short, C is functional but I would consider D, E or even Y as my language of choice (K, A, R and I are all very useful too but only in keltonian-based viction surroundings). Dey Link to comment Share on other sites More sharing options...
HouselessRogue Posted February 26, 2009 Report Share Posted February 26, 2009 Let's just all agree that Visual Basic is the end all and move on with our sad mud addicted lives. Link to comment Share on other sites More sharing options...
Crypticant Posted February 26, 2009 Author Report Share Posted February 26, 2009 Neat, we get to turn this into a nerdy pissing contest. Hooray. ASP.NET is not really a programming language (in the precise sense of the term), and was only released in 2002 You may notice I said I am an ASP.NET/C# developer. I said nothing about ASP.NET being a language. Additionally, Visual Studio 2002 (Ranier) was released to us MSDN nerds as a CTP in 2001, which allowed us to develop ASP.NET websites then. Before then it was called Visual InterDev. Being that it's now 2009, that makes 8 years in my book. All of the web programming you do is top-level code Right, and you indicated that C is the industry standard and most popular programming language in the world. I do not use C at work. Most people I know do not use C. Ipso facto, I "use" C because it lives somewhere in the Windows kernel in the same way that you "use" child porn because you have an internet connection. The communication layer your applications interact with is written in C, the network protocols are written in C, and greatest number of compilers are written in C The Windows Kernel is written in C & Assembler. The Win32 programming API is C++. The vast majority of the .NET Framework is in C#. The CLI/CLR is written primarily in C++. ASP.NET used a custom compiler called "SMC" (simple managed C) that was then ported to C# once it became available. Not everything is on the grand old C standard. Take a look at the application requirements for software engineering jobs and well over half of them will say something about C programming That really depends on the market you're searching. Anyone can invent statistics. When I ran a job search on Dice for "C programmers", it came back with 1006 results. When I ran a job search for ".NET developers", it came back with almost 3,500 results. To put that in perspective, there was about the same demand for PHP programmers as C programmers. I think we're arguing mundane points here, though. I fully agree that C is a viable and functional language, and I have a deep love for its impact in modern development. But since MOST people don't develop in C, it is not an industry standard simply because it lives at the foundation of some of the programs we utilize. Link to comment Share on other sites More sharing options...
Nekky Posted February 26, 2009 Report Share Posted February 26, 2009 How about everyone gets back to discussing the original idea of how open source coding could benefit FL, rather than having arguments about whose knowledge of all that whacky computer stuff is the most comprehensive? I just feel like the original idea, which was interesting and might be able to help the mud, is getting lost amongst all the penis measuring. Link to comment Share on other sites More sharing options...
Crypticant Posted February 27, 2009 Author Report Share Posted February 27, 2009 Let's just all agree that Visual Basic is the end all and move on with our sad mud addicted lives. Yes, correct. Visual Basic is the end. Of all. ...getting lost amongst all the penis measuring. No, it's still right there. Amongst all the penis measuring. But you're right. Let's get down to brass tacks. The FL mud code already exists out there in an "open source" format. It lacks the current additions the staff has put in within the last couple of years, but I believe Viri left it in a compilable state, and I'm fairly certain if he didn't, he and I can easily get a version up on Google Code with short effort. The question is, will it be used? I don't want to go to a lot of effort to create an infrastructure if the current Immstaff doesn't want to play ball. Ultimately, it will require, at least, an additional port where we can beta test new additions, and cooperation with the Imms to get a liaison to help push new releases. So, there are a few steps that need to happen: 1) Imm approval 2) Code hosting (Google code, or other) 3) Development Wiki/Website (Google code has a built in Wiki) 4) Opening of additional test port (we don't want to hose the builder port) 5) Assignment of responsibilities (who will push releases, who will cut branches?) 6) Profit! Link to comment Share on other sites More sharing options...
Tom Posted February 27, 2009 Report Share Posted February 27, 2009 Ipso facto' date=' I "use" C because it lives somewhere in the Windows kernel in the same way that you "use" child porn because you have an internet connection.[/quote'] Wow, that was funny. I'd be interested in trying to help with this too if it were implemented. I have a CSish(Bioinformatics) degree, and my primary languages are Java and Perl. The only time I ever had to use C was in writing a Whitespace compiler. It wasn't much fun, but I'd be willing to learn. Link to comment Share on other sites More sharing options...
a-guitarist Posted March 7, 2009 Report Share Posted March 7, 2009 Valid points from both of you. However: Fair point, but you need to consider the importance of front-end based systematic referencing. C is great when you need to operate in X1 environments but the minute you start working in X2 or even Z2 (even in today's age, Z2 is still considered the forefront - LOL) it falls apart like decomposed raw chicken placed under a hot faucet. The key is all in leveraging synergy to achieved seamless SC (StreamCode) that functions not only as your core but as your ancillary. In short, C is functional but I would consider D, E or even Y as my language of choice (K, A, R and I are all very useful too but only in keltonian-based viction surroundings). Dey I love you. a-g Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.