University to Provide Server for My MMORPG

Started by
16 comments, last by solinear 19 years, 7 months ago
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!
- Hai, watashi no chichi no kuruma ga oishikatta desu!...or, in other words, "Yes, my dad's car was delicious!"
Advertisement
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!
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.
[size=2]Darwinbots - [size=2]Artificial life simulation
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.
~CGameProgrammer( );Developer Image Exchange -- New Features: Upload screenshots of your games (size is unlimited) and upload the game itself (up to 10MB). Free. No registration needed.
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.
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.
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.

----------------------------"Whatever happens, happens..." - Spike"Only the strong survive, if they choose to leave those weaker than themselves behind." - Myself
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.
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...*
- Hai, watashi no chichi no kuruma ga oishikatta desu!...or, in other words, "Yes, my dad's car was delicious!"
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!
はい, わたしの父のクルマがおいしかたです!

This topic is closed to new replies.

Advertisement