My Highschool class is making an MMORPG...

Hey,

My high school class is making an MMORPG. I’m kinda the “lead programmer” of the students, and have been doing the most research. So far, from scratch, I have created a “Game Engine” that will connect to SQL servers and download character information (level, what items they are wearing, etc). The only problem is that it is all TUI.

The next step, and definitely the hardest for me, is the GUI.

I bought a book on it, but it’s really complicated.

What steps should I take in creating my MMORPG? How do I create a “world” like in WoW? I have investigated TerraGen, but I don’t know how I would make a “world” I create there actually appear in a game. How do I load 3DS files into Java, and how do Camera operations work? How will I be able to have an inventory menu open, and what about customizing graphics options for computers with slower video cards? I’m very confused on all of this, and would love ANY advice about making games. Feel free to email me, Trussell.Tyler@gmail.com, with any source code you may have or any advice.

There is one thing, however. I want to write my own game engine, not use a pre-made Java game engine.

you are WAAAAAY in over your head
drop the idea now, and start with something more basic. MMORPG is something you start doing after you have at least 5-10 years of experience, if even then

I second that. Try making a single player game without 3D, first. Maybe only with a widget-based UI (no animations etc.). If you still have time after that, you can make a 2D graphical UI or add multi player (something like 4 to 10 players, not MMO). When you really manage to do that in less than a year you can start 3D… after another year (or more) you can then start redesigning and optimizing again to get to a MMO…

It sounds a bit like “I’ve just finished making a steering wheel, how do I create the rest of a Ferrari? I don’t want to use pre-made parts, I want to do it all from scratch.”

I’d say, maybe you should try starting out with a simple MUD.

I still don’t understand why there are so many people who want to make an MMORPG. A “simple” RPG is already far too much. You need cubic s-loads of content and some story to boot. Adding one ‘M’ for “multi player” makes that even harder and adding another ‘M’ for “massive” makes it downright ridiculous.

You need a lot of experience (in many fields) and lots of resources. Just thinking about it makes my head spin.

Pfft, don’t listen to um, just go for it! :slight_smile:

Kev

;D

I won’t repeat what evryone has said already, but what I want to ask is why you want to make this? I seriously doubt that any highschool teaches you the material needed for such a project and even more that they would expect you to submit such a project to be marked.

So if this project is only a hobby then why do you insist on not using an existing engine? You only write an engine when none exists or when the existing ones don’t meet your needs. Unless this is going to be for showing off purposes, I would advise you to focus on the game instead. And remember, the engines available for java aren’t drag n drop engines where you just drop the sprites and story and bang, you have a game. The engines only provide the underlying structure.

However if the focus is more on having a game and less on the language then you could even consider using a different tool altogether, like Game Maker.

In any case, good luck with whatever you decide.

sadist ;D

I am determined to pursue this. Just because I am in highschool doesn’t mean my programming skill isn’t sufficient. Besides, I have all year with a class dedicated to only this. I went to a demo at a nearby college (California Statue University: Sacramento), and saw several students who made games using JOGL in 1 week. Their games didn’t have a ton of content, but their graphics were awesome. Then we went to a competition against those same college students and destroyed them in problem solving.

If I can’t find any help here, I’ll look elsewhere. I figured that there would be people with experience in using JOGL to make games.

It’s sad people don’t tend to learn from other peoples mistakes… eh?

I can only hope you’ll learn as much as possible from what you are about to experience in the upcoming year. You might learn a lot, bot you can not succeed. Realistic goals are the driving force behind projects, so you might want to set really specific goals, milestones you think are reachable, where you actually know how to reach them and when.

You might want to look elsewhere, looking for people that actually are supporting your ideas, but you might also wonder why you got so much warnings from us, it’s not like we enjoy telling others to reduce their great plans a bit.

Trussell, we’re all cynical because we’ve all dreamed a dream and been disillusioned - but I don’t think that makes the dream wrong!

Kevglass is right - go for it! In the worst case you’ll get loads of experience, in the best case it’ll work! What’s to lose?
I for one will help if I can, and I’m pretty sure that (despite all the unpleasant truths posted here) all of us will. Hey guys?

Look at these: Runescape and particularly Sherwood. Both work well and both were done by one person - you have a team…

It will be a lot of work though, do your research thoroughly, check all the forums but only ask questions of them when you’ve googled carefully first.

To answer your original question with a question; What 3D engines do Runescape and Sherwood use?

We have made an outline of what we want to do. We’re not being ridiculous, and we don’t expect to have a full-fledge WoW clone done, either. But I have an entire year to do it with a team of highly skilled individuals, and a very highly skilled teacher.

However, I have no idea what engines Runescape or Sherwood use. Our teacher has chosen to teach the class in JOGL, so we’ll have to use JOGL to write our own engine no matter what. It’s a programming class, so using a pre-made engine is out of the question.

Making an mmorpg in java with almost no prior experience? Go for it.
You’re almost certainly not going to end up with a massive hit capable of competing with WoW, but you’re going to have tons of fun, and you’re going to learn more than you though you’d have to.

Just keep in mind that people have a reeeally good reason to advice you to start with something simpler.

Have a look at Killer Game Programming in Java at http://fivedots.coe.psu.ac.th/~ad/jg/

The book uses Java3D and not JOGL, but I’m sure you’ll be able to apply what he writes to JOGL. He loads 3DS models and TerraGen maps. I think there’s some camera stuff as well and there’s a section on networking in a 3d world.

What problems are you having with the GUI? I assume you dont want to use swing/awt but your own instead?

As for some real advice:

*) Never ever trust anything the client says. If the client says “I drop 60 gold coins here”, double check that he indeed has 60 gold coins before dropping anything, and remove those 60 coins immediately without waiting for the client to say so. Having this as a base line for all development with really help reduce the amount of possible exploits.
Pretend the client is going to end up being open sourced, and assume any code in there can and will be changed by anyone for any reason.
This might seem like a bit overly advanced advice at this point, but if you don’t do this from the start, you’ll be kicking yourself in a year or two.

*) Decide what level of interaction the player should have with the world. Is the world static (players can’t build new buildings, chop down trees, and so)? Is the game mostly indoors or outdoors?
If it’s mostly indoors with a static world, you can probably get away with a simple BSP type renderer (like quake uses), which gives really good performance.
If it’s outdoors, you might want to consider a plain heightmap. If you want long viewing distance on top of that, you’re going to need some form of LOD rendering. This link is worth its weight in gold.
For a dynamic world, you’ll need to figure out a way to send world updates to players who log in or happen to be around when a change happens. Do you send these changes every time the player logs in, or do you store it in the client? If you store it, what happens when the player logs in from a different computer.

*) If you’re going for heightmapped terrain, I suggest using World Machine to generate the base heightmaps, but keep in mind you’re probably going to need an artist to tweak it quite a bit. It’s a nice and simple way of getting a massive base terrain with plenty of (random) detal, though.

*) Figure out what the core focus of your game is. Pick just one for now, but keep in mind you might want to expand in the future. If it’s questing, start by building a solid quest engine that makes it easy for artists and writers to add new quests and content, and get one up and running ASAP. If it’s PVP, make sure it’s balanced. Make a simple design first, then spend most development time just balancing it. If it’s exploration, you’re going to need a huge world, and a massive amount of content.

*) When adding something, make sure you ask yourself two questions:

  1. Is this fun? If not, why is it needed? Can it be made fun?
  2. Does this fit with the rest of the game?

I actually own that book, AND he has another one at http://fivedots.coe.psu.ac.th/~ad/jg2/ and I have that one as well.

I’m just starting to comprehend JOGL, trying to read his source code and such. I’m fine with using AWT, I think he recommends AWT because there is some problem with Swing and JOGL compatibility??

Anyway, none of his programs run in full-screen, and I distinctly remember reading something about FSEM (Full-Screen Exclusive Mode) and I was wondering if I could get any advice on how to utilize that, and if it would run the same way as a normal GLCanvas.

Im actually working on something very similar to you. Although i am going to be working with 2D and later see if i can work with 2D/3D.
I am also trying to find some info about FSEM and Swing, having some problems i made a topic about it hope someone can help =p

GL with your Project man.

Thank you. Man, trying to get a handle on JOGL without a teacher is difficult, but I’m determined.

I want to start off by creating a full-screen window and loading a simple terrain into it (something made from TerraGen perhaps?). Anybody have any idea on how this could be accomplished?

What you really need to learn is OpenGL. JOGL is a wrapper around it. You should head over to NeHe(http://nehe.gamedev.net/) and do all the tutorials. There are a lot of good tutorials there. They are all in C, but at the end of each tutorial page there are links to ports of the tutorials in other languages. JOGL is one of the ports.