Sign in to follow this  

University to Provide Server for My MMORPG

This topic is 4837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi there. I'm a student at an American university and a hobbyist game programmer who'd like to eventually break into the industry full-time. Though I've been doing this stuff since I was a freshman in high school (and I'm now a senior in college) I've mostly been experimenting and playing with ideas I have rather than making complete games. Though I'd like to make complete games, I've had trouble finding many others to take on the non-programming burdens (I'd usually take all the coding on myself), and after I've worked on a project for a long time without any exterior pressures keeping me on it, I've inevitably gotten somewhat tired of it and thought of newer, more interesting ideas that I'd rather pursue...A lot of you guys out there know how it is, I'm sure. One kind of project which is always alluring (but which seems technically impossible for a hobbyist like myself) is the prospect of an MMORPG. Oh, to engineer such a technical marvel and have it work, to play with the design and get it just so, to have hundreds/thousands of players interacting in a world that we made! Pipe dreams naturally, for how could we get a dedicated server that could handle such a load, and keep it up for the duration that people want to play it? We recall that long before we ever had corporate-funded MMORPGs, various universities hosted MUDs, the Multi-User Dungeons which were all text-based games (generally run on UNIX systems) and which were immensely popular with the students who played them. People could just log on (usually from a telnet client, meaning practically from any computer with internet access) and play whenever they wanted, without having to worry about any monthly fees -- being a student of the school was good enough. To my knowledge, many such universities still host these games to this day... Now, near the end of last year, one of my fellow students (a fellow named Kevin) started a game development group as part of the engineering department of my school, and after joining, Kevin recognized my years of programming experience and put me as programming lead. Kevin has seen to it that our club is very well-grounded administratively, and now that I'm not going solo in the programming department anymore (and yes, we're actually working decently as a team, and yes, we have artists too) we're actually doing alright. My school has never had a MUD. Though the thought of wanting to make it one had crossed my mind a couple years back, the thought never went too far -- since I was so easily distracted by my less far-flung, local ideas -- and I never even got around to mentioning the idea to any faculty...But now Kevin has, and he's even done one better, and proposed to them the idea of our club making the school a graphical MMORPG the students can play, if they'd lend us a server for it. And they're going for it. So naturally this turns everything around! Suddenly my imagination is running wild with all the possibilities, all the things we can do, and that it can actually work, and we'll have a system for it to run on! What a lucky break! So here comes my question for you guys: if you were in my position, to actually have the resources available to be able to make and host your own MMORPG at a university like this, how would you design it? Naturally I've got a lot of ideas myself, and likely due to my nature of a programmer, many of them are functional in nature and have to do with a detailed scripting system allowing a lot of programmable game-event possibilities, or player-programmable robots (to be used for manual tasks including farming and running stores) which I hope can allow for an entirely player-run economy! To be honest, this thing isn't even completely set in stone, but it really sounds like it's getting there. I'm terribly excited, and I want this to be the best it can be. Being designed for an educational facility, I'm sure everything will be open-source and that play will be free but only granted to students of the university (and hopefully certain exceptions, like me after I'm gone!). So in the name of making this game the best it can be, if you've got some ideas for what could make this MMORPG amazing, please out with 'em here! Or alternatively, if you know what you'd want to do in my situation, post that here. I look forward to your responses -- thanks for your time!

Share this post


Link to post
Share on other sites
My advice: (which you should already know) start simple.

Don't just rush in - take the time to actually write up a design document or a flowchart (at least). MMOs are massively complex programs (anyone have that flowchart of all the aspects? :) and you don't want to design a bad system.

But you should know all this - you're an engineering student.

Good luck!

Share this post


Link to post
Share on other sites
I'm pretty jealous. I don't think my school would ever go for something liek this, so it's good to see someone live the dream, so to speak.

All I can say is that it's such an incredibly massive project that you're going to need a large handful of programmers (I'm assuming since you're lead programmer, you've already got this) and lots of time. You may not beable to finish it before you graduate, so be sure somone else could take over the reigns.

As far as design, you have an interesting environment. Everyone who plays this will probably be around school, so it's possible for players to meet up in real life. As such, I would emphasize social play. Make player run groups more important than they might otherwise be. And depending on the quality of the engine, you could have university sponsored events in-game.

Also, you have a different kind of audience than most MMORPGs. Your players don't pay directly to play, so you don't need to implement the kind of delayed reward system in most MMORPGs. There are all kinds of threads that floated around a while ago about the play dynamics in MMORPGs, and you're in a position more or less to create a new kind of game.

And since, let's be honest, players still need to be able to go to class, don't make it too addictive.

Share this post


Link to post
Share on other sites
I agree with Mushu: Stay simple. Don't get overexcited and bog the project down until it never makes any real progress. I would even recommend an isometric perspective; orthogonal views make easy the problems of LOD and keeping relevant parts of the world in memory, without going for the cheap and annoying tactic of using fog everywhere. It also means more people can run it at decent speeds. I'd use 3D graphics (OpenGL, for cross-platform) but not in perspective mode. Obviously this is up for debate though.

My question to you is, how much actual role-playing do you want? If it were me, I'd go for more of a Diablo model -- combat-heavy. And I would concentrate on magic attacks over weapons, just because having weapons and items really depends on having good artists with lots of time, since you'd ideally be creating a different model for each item, with the right animations... magic attacks can be cast using just two of three casting animations, with particle effects for everything. It's much simpler. You can then add group spells, or even code spells to react with others' in certain ways, which can be lots of fun.

Share this post


Link to post
Share on other sites
If it were me, Id use my MMO Casino idea.. especially since not all college students at your school are going to want to play an RPG type game, yet, the students are the only ones elegible to play.. Plus, everyone likes Casinos!

On a more serious note, best of luck, and if your interested in looking at a smaller scale MMORPG, check out runescape.com

Its a free Java based MMORPG that spoken very highly of. It used to be 2d, but have recently gone through a new engine upgrade and it runs in fully 3d, with sounds and everything now. I remember when there were only 3 servers, hosting a max of 1200 people each. Now they are up to I think something like 10 servers, plus servers for the premium memberships, and its growing everyday.. I great example for someone that starting a project such as yourself.

Share this post


Link to post
Share on other sites
I think that you have a nice position to make something that is fun. This also is the key to good games, they are fun!

Start with figuring out what the fun part(s) of your game will be. Will it be fun ti kill things? Fun to get loot, get Xp, levels, friends, online parties...

Im sure you have some idea of what things you would find enjoyable in an ideal game but you'll not have the manhours required to make an ideal MMOG, so pick a corner and develop it to where it technically works. If you manage to make that part fun you have gotten a good distance along the way.

Share this post


Link to post
Share on other sites
It's great to hear you have the possibility of doing this.

Since you possibly have support directly from the school, I would highly suggest you bring this up to as many departments as you can. Students in Art, Music, Design, Computer Science and other majors could greatly benefit from having something like this actually integrated into the learning environment for their classes. I mean whats better, doing a model of a boring Still-Life setup or models of Charcters and Dragons to be used in a dynamic game project. This could allow for a large flow ideas and differing perspectives from outside of the initial group designing the game. Integrated as a consideration for varying curriculums could allow you to delegate various tasks that cannot be handled immediately by the core group (our would just benefit from externel perception) as interesting assignments for your peers in their studies -- Concept Art, Models, Animation, Musical Scores, Story Scripts etc. all from people who have a strong interest in developing their skills in their respective areas.

As far as production ideas, as was mentioned, there are plenty of interesting gameplay aspects you can attempt to investigate in numerous forum posts previous to this one. I would suggest starting simple and focusing on making the play experience fun and enjoyable then expanding further if desired. On the other hand, in this situation, depending on how much support could be gathered from the various sections of the university (or if the talent in the core group permits), I would see no problem going all out on this project. I would start by ensuring your core technology and support infrastructure are in place and able to handle the intended goals of the project. You have to keep in mind the scope of the various levels a project like this can have. A fully 3d, persistent world, with load balanced servers has a lot of aspects involved in producing them and getting them to work correctly and efficiently; but I am sure there are also plenty of Computer Science majors interested in areas of Parallel Computing, Network Infrastructure, Database Deisgn and Realtime Graphics around that would love to apply their skills to a project such as this. But you also do not necessarily need to deal with all these intricacies to have a fun game.

My (generalized) focal points would be:
-Having Fun! (no need for something like this to be tedious)
-3d
-Fantasy
-Role-Playing
-Persistent World
-Engaging Environments
-Interesting Player Interactions
What makes these things enjoyable, can vary from person to person so its not something that can just be stated concretely. A 2d, instance based, non-persistent world could be designed to be just as engaging to a player as well.

Good Luck.

Share this post


Link to post
Share on other sites
MAKE IT OPEN SOURCE!

You're not going to be selling this to students, right?

This way other universities/student groups might be able to hop on the bandwagon.

Share this post


Link to post
Share on other sites
Mushu, at the very least I think this should be designed as a persistant, highly-scriptable online world where people can run around and chat. I think that's a reasonably simple foundation, with a lot of room for complexity to be built on top of that.

Numsgil, I agree that it's going to take a lot of time. There are a few pick-your-own-team-project classes I've been planning on taking, and I think we'd make this our project for those -- so we'd be able to focus on it (hey, it's for school!) quite heavily.

You bring up an important point about social play, which I agree with. Several others have brought up that making the game fun should be paramount, which of course is true, but fun is an abstract concept that's hard to quantify. I've been thinking though that when it comes to this kind of game, a massively-multiplayer online role-playing game, it seems fairly obvious that probably the two biggest sources of fun are the massively-multiplayer-ness and the role-playing. Really, the social aspect is what sets this genre apart from all the others, and it should be one of the primary foci of the design.

I figure that for this game to work, and really be the most fun, we'll need to make it as massively multiplayer as possible -- and that means we need to attract all the near-gamers in addition to our hardcore friends. I expect that most students will have a computer (and anyway everybody has access to the computer labs) and that most everybody likes to chat; I figure, wouldn't it be more fun to chat with a little virtual character you could make run around, buy/trade/sell stuff, interact with the world and other people, and do all sorts of fun little emotional things with? I was envisioning a cartoony sort of style, with little super-deformed/chibi characters (maybe in the FF6 style) that have little text bubbles near them with they speak (maybe, if that doesn't work will go back to the generic text-into-onscreen-queue style) and that you can make laugh, cry, get angry, look sad, produce an anime-style sweat drop, and lots of other things -- including jumping in surprise with a big `!' over your head or looking befuddled with a big `?' over your head.

CGameProgrammer, you bring up the other integral facet of this kind of game, role-playing. As a big player of table-top RPGs back in the day, I figure the more actual role-playing I can bring to this game the better. To that end I'm hoping to coordinate happenings in the game world, like town fairs, cops and robbers fun, some political intrigue, and even warring nations. All that is complicated design wise though and can be hard to set up, so that's a ways off...but in the meantime I've had more subtle ideas for immersion, keeping the players thinking about the game world and the people and places in it. One idea I had was to try to get rid of numbers as much as possible, which would mean no experience points or levels -- at least nothing too overt (anything there would be would be under-the-hood). You should get some advancement for playing a lot and doing well for yourself, becoming stronger and all that, but I'd like most improvements to be slight enough so as to not make experienced players godly compared to the newbies. I was thinking most basic attribute improvements would be from equipped items, and it'd be neat if one way to "level up" was to get more social clout in the game world, and become more of an Important Person...

The fighting I actually haven't really thought much about...I really like Zelda though, and so I'd probably want to do something action-packed. Lag will be a big issue though, hrm...We can probably do a lot with magic. Thoughts?

A number of people here have mentioned 3D gameplay, but to be honest, I was only originally envisioning a 2D game. Well, sort of. I was actually thinking of the same thing CGameProgrammer mentioned, an orthographic top/down mode. I was thinking of having a tile-based world with stand-up character/doodad sprites, and just letting OpenGL worry about the depth-sorting. My only beef with 3D play isn't the programming (I've done 3D, it's not hard) -- it's the models! It's a simple matter to do some art in Photoshop (or even mspaint) but it seems to me a much harder thing to manage getting 3D models going. Game sprites would be so much more easily customizable, and I think would encourage greater amounts of user contribution -- which brings me to...

Amadeus, it would definitely be a cool thing to draw in students from all departments of the school to contribute to this thing. I'll try to push to pursue that once the game is stably on the ground; I figure we can make it with what we have, and then announce to the school, "now, who wants to make it better?" :D

And C-Junkie, definitely. It's an academic thing, it would be wrong to not make it open source. ;)

Reading all you guys' responses is great -- do keep it coming, I look forward to more. *Gets back to work...*

Share this post


Link to post
Share on other sites
Well,that alone shouldn't be too much. Once you've got a peer-to-peer system set up (which you may already have one), all you have to do is design the graphical elements and the gameplay stuff. In all honesty, the graphical stuff is really easy if you lay it out well (esp in 2D - just a bunch of grids and vectors), and the gameplay isn't too bad either.

What I'm slowly finding out with my project is that I didn't design as robust a scripting system as I should have, and now I'm having the problem of going back and adding more and more features to it (first I forgot about NPCs, so I put them in the main script, but then they were added to all the maps through the main script, and so I had to relayout the main one, etc etc.)

So, especially with the scripting stuff (since it seems like you want it to be script-oriented so that other groups can use your engine) you'll want to be really careful...



Oh, and I was bored and converted your sig into hiragana and I think there were 2 katakana characters that I replaced, oh, and I changed chichi to 父 ("father") because I couldn't find the right character, so I looked it up.

Hai, watashi no chichi no kuruma ga oishikatta desu!
はい, わたしの父のクルマがおいしかたです!

Share this post


Link to post
Share on other sites
I see some possibilities that haven't existed for other teams makinf MMO games that you could have, and the most important one is the idea of "clans".

Many games have systems for grouping people together socially, but a college already has a social structure and multiple ways to divide up the player base.

One possibility would be to do it by house/dorm. Let the competitive aspects of inter-dorm competition come into play. For example, in a fantasy world each house could have its own town. Depending on how each house does in the game (or even in real world competitions) the town could thrive or become dismal.

You could even make real life events a big part of the game. A football theatre where everyone can watch a live feed of the game? Or better yet, a "dueling" system where two characters could meet in real life and duke it out in a race/game/eating contest.

Also, you could connect your player classes to the majors of the students, giving each major special skill bonuses and abilities.

I'm rambling, you should be able to have fun with this ^_^

Share this post


Link to post
Share on other sites
I think it would be cool to incorporate the real school into it as much as possible. Use roughly the same layout, and roughly the same names. Even rooms in buildings layed out roughly the same. Make it like a fantasy knock-off of the real thing. The chemistry labs in real life become a magic store, the gym becomes a training center for warriors, the football stadium becomes a "Thunderdome" for combatants. Hit it with a dash of Harry Potter, so that in the game, you are students that are attending a school for magic, etc. Put in NPC instructors that represent their real-life counterparts. Then it would be cool to get crossovers - people meet, in game, talk, battle, chat, whatever, but then get to meet in real life in the same places.

Share this post


Link to post
Share on other sites
Quote:
Original post by Taolung
I think it would be cool to incorporate the real school into it as much as possible. Use roughly the same layout, and roughly the same names. Even rooms in buildings layed out roughly the same. Make it like a fantasy knock-off of the real thing. The chemistry labs in real life become a magic store, the gym becomes a training center for warriors, the football stadium becomes a "Thunderdome" for combatants. Hit it with a dash of Harry Potter, so that in the game, you are students that are attending a school for magic, etc. Put in NPC instructors that represent their real-life counterparts. Then it would be cool to get crossovers - people meet, in game, talk, battle, chat, whatever, but then get to meet in real life in the same places.


that's actually a really cool idea

Share this post


Link to post
Share on other sites
Egad, I get distracted at work and this thing slips to page 2! *bump*

As an update on my progress so far, I just now started writing the multiplayer framework in C++ using SDL_net. It's looking pretty good so far, though it is in its infant stages yet.

For scripting, I was thinking of compiling to a bytecode that can then be passed around over the network as necessary and executed. I had an idea that I think is really neat which involves having a live world editor -- a version of the client (which shall have extremely strict rules about who can run it, I assure you) which can stream world-changing instructions over the network to the game world. I envision being able to just draw on the game world just as you might in a tilemap editing program, and the game would automatically update (either instantly or perhaps fading into the changes over the course of a second), even as player characters are running around in it. A malevolant game master could draw walls around players, trapping them inside, if they really wanted to...I'm hoping to engineer a very nice and easy-to-use pointy-clicky-phooey-gui (as one of my CS professors would say) live script editor (which would include this map editor) one could use for sculpting the world, creating scripts, and either executing them outright or attaching them to triggers.

Tying the game world to the real world is indeed a really cool idea, and the thought of modeling the school virtually had crossed my mind (though damn, would that ever be quite a task!) and sounds fun to run around in. Probably rather than model it exactly after the school, we might start with the same general layout, but let things get a bit more fantastic, as you suggested.

In real life, the university is divided up into various colleges, which are basically housing areas and where some of the classrooms lie, and various schools/departments, which have their base of operations in some area along with most of the classrooms the department uses. I was thinking we might divide the game up into various lands, one for each of these colleges and department headquarters, and maybe even do things like have players spawn at their college and give people special access to various areas depending on their major.

intrest86, giving each house (or dorm) its own town sounds cool. We might let those in charge of a particular dorm take creative control over the arrangement of the town, either giving them limited access to the godly map editing client or somehow engineering this kind of landscaping into the game proper. Each player might then get his or her own house in the dorm, that'd be cool...And hmm, maybe when people move out of their dorms and into the nearby city, they could do so in the game? Maybe this is getting a bit complicated, but it does sound fun. And connecting majors sounds cool too...There are a lot of different majors though, and we'd have to be really creative about how to properly represent each so that it fits well into the game world.

Mushu, about the Japanese conversion, cool beans. That's the right character for chichi, it's just understood to be read as "chichi" when one is taking about their own father (they say something a bit more honoring, "otoosan", if talking about someone else's father). My only criticism is that you forgot a small tsu between ka and ta before the desu -- it's oishikatta (past tense of deliscious), not oishikata (the way of deliciousness? Hehe). Japanese is a fun language; what else do we know that's in post-fix (verbs coming at the end)?

Share this post


Link to post
Share on other sites
Woah, that sounds way slick. I bet that will be tons of fun. =)

The one thing I'd keep in mind though is it sounds like you are already getting way ahead of yourself. The first things you want to be asking yourself are what EXACTLY you want the gameplay to be like, how the reward systems are going to work, and how the play will actually unfold. Normally I'd have all of this done a month prior to even touching the code. Will there be leveling, or is it a glorified chatroom? Comparing to the old college MU*S, will it be more gameplay oriented like the traditional MUDS, or more freeform/roleplaying centric like MUSHS? In what ways are characters customizable? What will the exp tables look like, how will the physics of combat work? What's the viewpoint? Get the base layer down before you start thinking about what the buildings will look like, how guilds will work, and even before you start the code (I know we've all had an experience of coding ourselves into a corner because we want to add something later that we didn't take the time to think of earlier.)

If you are lead programmer you might want to bring in an experienced designer to help out, as those are two huge jobs to try and tackle at once. A solid MMORPG doc can be in the hundreds of pages with content, and most coders I know wouldn't touch a project without at least a gameplay doc (minus content) to build a coding doc off of.

Keep us updated on this project bro. Hopefully people off-campus will be able to play as well. =)

Share this post


Link to post
Share on other sites
check out secondlife.com for a really great 'social' game.
My advice would be to make your game action-packed, since you're trying to attract a variety of audiences.

Share this post


Link to post
Share on other sites
Quote:
Though I'd like to make complete games, I've had trouble finding many others to take on the non-programming burdens


About the non programming burdens- what do you want Im an artist, and creative thinker with game designs. dont think of me being a laid back idea spiter. I write long design docs, and currently learnig AI principles with my designs. I'kk work for free for one, so if you wanna join and make somthing... PM me? besides this can really get somthing on our resumes' to work with in the future. don't you think

Share this post


Link to post
Share on other sites
You have a lot of work to do before you even start looking at what requirements you're going to need and all of that requires a bunch of questions to be answered.

Are you going to be running 'zone' based servers or seamless?

How are you going to handle communications?

How are you going to handle in-game chat?

How are you going to handle login?

What type of database?

That's just the start, once those are answered, you get a bunch more questions to answer. Each question has to be answered before you can figure out what hardware/environment you need.

Just for example: Unix isn't an assumption, I'm not sure if any of them actually use Unix, per se. EQ uses Win2k (started on NT), DAoC uses Linux, I think that UO uses Windows and a world runs on 1 box. Each game is different and handled differently.

Share this post


Link to post
Share on other sites

This topic is 4837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this