Wyvern Forums

Review Wyvern Today's Posts Mark Forums Read Arcade
Go Back   Wyvern Forums > Archive > Wyvern Forums Archive > General
Home Register FAQ Members List Calendar Chatbox Search Today's Posts Mark Forums Read

General For serious discussions about general Wyvern topics.

 
 
Thread Tools Display Modes
  #1  
Old 05-08-2014, 12:38 AM
Josiah's Avatar
Josiah Josiah is offline
 

Join Date: Jan 2013
Josiah has just set foot in the Tutorial Tower
Default Were the different languages important in making Wyvern?

Wyvern was made with Java, Jython, and Python, weren't they? I was wondering why Rhialto used Jython and Python, and how it was important (if it was)?
  #2  
Old 05-08-2014, 07:42 AM
Arilou's Avatar
Arilou Arilou is offline
Forum Admin
 
Join Date: Apr 2007
Arilou has disabled reputation
Default

Very quickly... Wyvern's core code is written in java. Things like objects, monster inventories, and the vast majority of wizard code is written in python. The idea was basically such; python is easier to use so it was better for wizards to have and changes to python code do not require a full server reboot to implement like with java code. So it was better for smaller things that one might tweak a lot and, again, better for wizards as it would have been much more difficult for them to get work done if they had to wait for reboots (or constantly reboot early) to test all of their code.
  #3  
Old 05-09-2014, 03:52 AM
Josiah's Avatar
Josiah Josiah is offline
 

Join Date: Jan 2013
Josiah has just set foot in the Tutorial Tower
Default

Ah, thanks, I was thinking it might not make a difference whether or not I used those languages, but I see that it could be really annoying just using Java.

Thanks!
  #4  
Old 05-09-2014, 12:25 PM
Arilou's Avatar
Arilou Arilou is offline
Forum Admin
 
Join Date: Apr 2007
Arilou has disabled reputation
Default

I feel compelled to again point out again that people who want to make a MMORPG from scratch need to start small and first strive to become an experienced programmer before attempting such an endeavor. There are a myriad of reasons why trying to learn to program while working on a MMORPG will not lead anywhere, but one of the many benefits of having extensive coding experience (or even moderate coding experience) is that you know better than to try to copy an outdated model that was devised in the 90s.
  #5  
Old 05-11-2014, 11:52 PM
Lanterra's Avatar
Lanterra Lanterra is offline
 

Join Date: May 2007
Lanterra has just set foot in the Tutorial Tower
Default

So this seems like the place to post it, since everyone posting in here seems fairly knowledgeable about coding. Does anyone know why R coded wyvern using the languages (Java, Jython, and Python)? Does it really matter to much what language a game is programmed in? Could similar results be achieved using just Java, or something like C++? I fully understand some languages aren't up to the task of coding something like a game, or at least not easily. I'm just curious what ones are, and why he might have chosen the three that he did.
__________________
The butterflies are evil, we must declare war on the NV butterflies!
  #6  
Old 05-12-2014, 12:02 AM
Arilou's Avatar
Arilou Arilou is offline
Forum Admin
 
Join Date: Apr 2007
Arilou has disabled reputation
Default

Lanterra, I moved your post here since you seem to have been unaware that Josiah just made a thread asking the very same question.
  #7  
Old 05-12-2014, 12:52 AM
Lanterra's Avatar
Lanterra Lanterra is offline
 

Join Date: May 2007
Lanterra has just set foot in the Tutorial Tower
Default

Quote:
Originally Posted by Arilou View Post
Lanterra, I moved your post here since you seem to have been unaware that Josiah just made a thread asking the very same question.
Bleh,yeah, I missed it, sorry. Out of curiousity, where does the Jython come in?
__________________
The butterflies are evil, we must declare war on the NV butterflies!
  #8  
Old 05-14-2014, 07:12 PM
Bitsey Bitsey is offline
 
Join Date: Feb 2009
Location: hut west of BR
Bitsey has just set foot in the Tutorial Tower
Default

I've written millions of lines of code in a variety of types of languages (functional languages from lisp to Haskel, hardware design languages like Verilog/VHDL, 'good' OOP languages like Smalltalk, tons and tons of C++, assembly for 8-bit micro controllers and 64-bit cpus, and even some weird languages like forth)......targeting both small embedded systems and projects w/ 5MM lines, 20 developers and a 10 year lifetime.

yes, it matters. Sometimes it matters quite a lot.

You have considerations like the ones Arilou mentioned: do you need to be able to change the system w/o a compile-reboot loop? How sophisticated are the developers & what languages do they know/can learn?

also:

Do you have real-time operation considerations? How strict?

How much performance do you need?

Will it be running on a distributed system or not? Multi-threaded? If distributed, do you have a system smart enough to detect the available concurrency and exploit it (haskel supports that pretty well on many target platforms) or do you need to be able to manually control it(OpenCL, for targeting things like GPUs).

Does the system require fault tolerance? How much, what kind?

The choice of language also significantly impacts the structure of the SW architecture. Functional vs imperative, object-oriented vs not, etc all are first-order considerations. For something like Wyvern, where the 'game' is built first as a platform then as an implementation of (one or more) games ON the platform this has first-order impact on what your platform can express and how easily.


So, yes, it matters a lot.
__________________
-bitsey
  #9  
Old 05-15-2014, 01:28 AM
Josiah's Avatar
Josiah Josiah is offline
 

Join Date: Jan 2013
Josiah has just set foot in the Tutorial Tower
Default

Quote:
Originally Posted by Arilou View Post
I feel compelled to again point out again that people who want to make a MMORPG from scratch need to start small and first strive to become an experienced programmer before attempting such an endeavor. There are a myriad of reasons why trying to learn to program while working on a MMORPG will not lead anywhere, but one of the many benefits of having extensive coding experience (or even moderate coding experience) is that you know better than to try to copy an outdated model that was devised in the 90s.
Alas, here is an example of how starting a new thread didn't change anything :/
And why the heck would anyone not want to duplicate it, I mean look how much it's been missed! >.<
  #10  
Old 05-15-2014, 07:53 AM
Arilou's Avatar
Arilou Arilou is offline
Forum Admin
 
Join Date: Apr 2007
Arilou has disabled reputation
Default

Nobody went around saying; "Wow it's so great that this game is programmed in Java and Python. If it weren't for that I would hate this game." What they liked about it was the things they could do in the game because of that code, things that can be achieved through a myriad of approaches. So one does not need to adopt an outdated model that will inhibit playerbase growth (something that people did not like about the game) in order to recreate some of the things that were liked. Again, this is something an experienced coder would understand.
  #11  
Old 05-15-2014, 04:26 PM
Josiah's Avatar
Josiah Josiah is offline
 

Join Date: Jan 2013
Josiah has just set foot in the Tutorial Tower
Default

Quote:
Originally Posted by Arilou View Post
Nobody went around saying; "Wow it's so great that this game is programmed in Java and Python. If it weren't for that I would hate this game." What they liked about it was the things they could do in the game because of that code, things that can be achieved through a myriad of approaches. So one does not need to adopt an outdated model that will inhibit playerbase growth (something that people did not like about the game) in order to recreate some of the things that were liked. Again, this is something an experienced coder would understand.
Okay, seriously, how this even relevant, I was asking why the different languages were used, because I wanted to know what benefits I would get out of multiple languages, not so I could make an exact duplicate, it's not like I'd be taking your maps, music, or pictures, so why would I be trying to do everything else the exact same??

EDIT: Not sure I've said this before, but I'm going for the same style -- in other words a MUD with a similar HUD(because I liked the layout), a whisper / shout / tell type of chat box(because it's one thing a lot of good games don't have, along with the HUD), and I think you see what I'm getting at?

Last edited by Josiah : 05-15-2014 at 04:29 PM.
  #12  
Old 05-15-2014, 07:56 PM
Halloween's Avatar
Halloween Halloween is offline
Player Mod
 

Join Date: Oct 2008
Halloween has just set foot in the Tutorial Tower
Default

Quote:
Originally Posted by Josiah View Post
EDIT: Not sure I've said this before, but I'm going for the same style -- in other words a MUD with a similar HUD(because I liked the layout), a whisper / shout / tell type of chat box(because it's one thing a lot of good games don't have, along with the HUD), and I think you see what I'm getting at?
A graphical MUD like Wyvern, then. There are a great many MUDs that can mimic Wyvern's mechanics, but they're not graphically based.
  #13  
Old 05-15-2014, 08:17 PM
Arilou's Avatar
Arilou Arilou is offline
Forum Admin
 
Join Date: Apr 2007
Arilou has disabled reputation
Default

Hmm, why did I think you wanted to use that particular language combo and weren't just asking if there could be a benefit in using two different languages in general? Maybe because you said so?

Quote:
Originally Posted by Josiah View Post
Ah, thanks, I was thinking it might not make a difference whether or not I used those languages, but I see that it could be really annoying just using Java.

Thanks!
  #14  
Old 05-15-2014, 08:44 PM
Bitsey Bitsey is offline
 
Join Date: Feb 2009
Location: hut west of BR
Bitsey has just set foot in the Tutorial Tower
Default

Quote:
Originally Posted by Josiah View Post
Okay, seriously, how this even relevant, I was asking why the different languages were used, because I wanted to know what benefits I would get out of multiple languages, not so I could make an exact duplicate, it's not like I'd be taking your maps, music, or pictures, so why would I be trying to do everything else the exact same??

EDIT: Not sure I've said this before, but I'm going for the same style -- in other words a MUD with a similar HUD(because I liked the layout), a whisper / shout / tell type of chat box(because it's one thing a lot of good games don't have, along with the HUD), and I think you see what I'm getting at?
FWIW, if I were to setup to build a similar system, I wouldn't use Java or Python. The primary thing Java (Jython, etc.) had going for it is the ability to produce a single executable that's runnable on lots of platforms w/o having to specifically target them in a compilation. Many interpreted web languages available at the time had that property also, but most were horrid (javascript, I'm looking at you). I suspect (and I'm guessing, because I didn't design or write it) that desire to be cross-platform is why the client was written in something that can target the JVM.

Probably the most widespread language that meets the multi-platform-support requirement, today, would be flash. It also runs nicely in a browser context - which is a blessing and a curse. It's certainly a defensible choice. I find flash to be an icky language, but lots of folks like it. Without bothering to actually investigate/validate my choice, I'd probably go w/ Ruby on Rails were I doing this. That partially motivated by the fact that I currently like functional programming and partially because I don't know Ruby and I'd like a an excuse to learn. But it should work.

For the backend - you want something that scales, is very modular, and can be rev'd w/o rebooting. In a modern context you also want something that'll run well on a cloud server. I'm not up on that enough to suggest a best choice language...but it's worth looking around and building small prototypes before really making a choice.



The thing about wyvern that many people don't get - the thing that made it both really cool and also more involved to build - is that it's not a game. It's a platform on which you can build games. That's a level of development/specification that takes considerable insight and forethought. R designed/implemented a language in which you could then build an extendable game.

I suspect he did this, in part, to practice doing so. Building a good platform is an art and it's hard. Most SW engineers/architects can't do it - at least not well.

If you just wanted to build something like the game that was eventually built on top of that platform, without the platform itself, it won't have nearly the 'longevity' that wyvern had but it also won't be that involved. That's a much simpler nut to crack.
__________________
-bitsey
  #15  
Old 05-16-2014, 10:08 AM
Bullfrogz's Avatar
Bullfrogz Bullfrogz is offline
 

Join Date: Apr 2007
Location: PA
Bullfrogz has just set foot in the Tutorial Tower
Send a message via AIM to Bullfrogz Send a message via MSN to Bullfrogz
Default

You're also going to have to learn XML if you ever want to make a MMO anywhere near the scale as Wyvern. A lot of languages have built in ways of pulling/pushing to an XML file so start from there.
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
If I where making an MMORPG. Lanterra Off Topic 2 04-01-2013 03:09 PM
First time, making a pro hof pic. Axorz Miscellaneous 27 05-11-2009 12:30 AM
How many languages can you speak? Null Chit-Chat 7 04-14-2007 11:52 AM
Making LQ's fun for everyone. Mirk Features and Ideas 21 02-20-2007 04:11 PM
HELP PLEASE VERY IMPORTANT! IX Misc 6 10-23-2005 07:46 PM

Wyvern Forums
All times are GMT -4. The time now is 03:39 PM.

Forum: Contact Us - Archive - Top

Powered by vBulletin® Version 3.6.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.