Wanderlust Project: UT2k4 Online RPG

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

KrisWood

New Member
Jul 24, 2004
23
0
0
The goal of the Wanderlust Project is to create an online rpg in which players have influence not only over their character, but over the events of the entire world. It will be a game in which mobs are dynamicly spawned, each one being unique, and once it is dead it will never respawn again. It will be a game in which you may persue adventure or trade paths and never worry about running out of things to do whether you want to kill things or not. It will be a game in which there's so much content that perhaps you'll step away from the levelling treadmill that most online games have become just to see something new.

We call our idea the Wanderlust Project. This is because we invision something new for gaming that has not been attempted because we are tired of playing in static worlds where the aforementioned levelling treadmill is set out before us with the assumption that we will be mindlessly happy killing things to gain levels just so we can kill bigger things and gain more levels. We want to escape the boundries set upon us by most gaming genres and explore a larger world where we can be, or do anything our hearts desire.

We've spent the last several months in planning. Most of our combat and magic systems are all worked out, and some of the tradeskills as well. Now we're ready to put a serious effort into making the game work.

We've begun drawing concept art, and will begin modeling in the next couple days. We hope to have some in-game screenshots online within the next couple weeks. Specifically we'll be aiming to show off some of the melee combat and spell effets if possible, perhaps some of the UI as well.

Meanwhile we are still looking for more members. Primarily we need one or two more people who know or are willing to learn Unrealscript. If you don't know Unrealscript already, knowing another programming language is a BIG plus. Here is the current list of positions that we need:

Unrealscript Programmer(s)

Aside from that things that we don't need but would be considered:

Artists:
Modeler(s)
Concept Artist
Texture Artist

Content:
Level Designer
Database Admin (Primarily data entry with some minor administrative duties, no experience required)

Technical:
Programmer (C or C++ for linux, must be familiar with net coding)

If you have experience in any of these things, or don't have experience but are willing to give them an honest effort, we'd love to hear from you. This is a project that IS going to make it some day, the more help we have, the faster it'll get done. The more help we have, the better it will likely turn out, and the better it will look on your resume!

Our web site is currently located at:

http://www.ciusa.net/~kwood

There you can also find a lot more info about the game. Please check out our forums, and stay tuned for updates!
 

Benman

New Member
Jul 23, 2004
3
0
0
well sounds good just a few questions... i suppose your ganna have quite a lot of maps connecting with each other with portals or something. the thing is for most people loading maps the size they need to be in a mmoprg will take ages for the standard computer. dont know if im right but thats what i think correct me if im wrong :lol:
i think the name is a bit wierd sounds like a tacky circus event

I could be a modeler if you want.
:rolleyes:
 

KrisWood

New Member
Jul 24, 2004
23
0
0
To answer your questions:

1: We will be using two combined methods to create maps large enough for the mmorpg; the first method will be to stack layers of "zones" within a single map, the extents of which will be teleports which will send you to the appropriate layer in the stack. Right now it looks like there will be 9 of these layers, each one 7 miles long by 7 miles wide by 1/2 mile high (height may vary, time will tell). This will make each map approximately 21 miles by 21 miles. Nearly twice the size of the original Everquest. Yes, the load time will take forever, but not so much from the size of the map, it'll be more from the sheer volume of content within each map. There are tricks to help performance in-game too, by not rendering things a certain distance away. Right now it doesn't take long to load with one 7 mile layer, but there's not much in it, and I haven't added the other layers yet, so we'll see.

As for zoning to other maps, we'll wait and see if we ever get published. If we can get a publisher we can afford the unreal engine liscense, and have access to the source code to make our own map changing system that would be far more efficient and we could ditch the whole layers idea. The layers will only be in effect during alpha and early beta stages.

2: The name symbolizes a deeply rooted desire to escape one's bounds. I agree, it sounds somewhat silly, but I'm less interested in coming up with a name than I am in making the game work well and look great. A better name can wait lol. If you have any ideas for a better name feel free to let me know.

3. If you want to be a modeler, please send me some renders of your past works, and if you have any in-game models some screenshots would be greatly appreciated. We can discuss from there what sort of work would best suit you.
 

KrisWood

New Member
Jul 24, 2004
23
0
0
Just a quick update:

We now have two new members, a modeler who will be starting out on statics and perhaps moving up to character models as he gets more practice, and a network programmer who so far seems to be extremely talented. We still need an Unrealscript programmer or three, and a concept artist, and could really use an extra character modeler as well. In the meanwhile I will continue learning Unrealscript, and our network programmer is giving it a go as well. It seems like we're finally moving forward for once. I can only hope more people will sign up and we can move even faster! :)
 

FireSlash

Whats a FireSlash?
Feb 3, 2001
4,300
0
0
38
Central Ohio
www.unrealannihilation.com
On the Unreal engine? Not possible.

1) UT2k4's netcode is designed for FPS play, each object is updated as fast as it can be, the game is optimized for around 16 players on broadband at best without breaking into uber-fast connections or LANs. You would need access to the source to really correct this, and engine licenses are not cheap.

2) While Onslaught has proven UT2k4 can handle large maps, what you are proposing with stacking zones is insane. The amount of memory required to load something that big would be absurd.

3) Your "unique mob" idea is more or less impossible. Even with 100s of meshes/stats using random figures,there will be repeats, especially if you intend on keeping certain areas easier for lower level characters

4) Character data could be hacked. Yes, its possible to prevent this, but it would require more work on the netcode. Even so, all of the client-side code can be cracked open and viewed, so its somewhat hard to write a secure client.

5) Many of the key ideas you will need to get this to work are located in the engine and can't be modified to work the way you will need them to. Betting on a publisher to pay for a license is a bit extreme, especially from someone who (I assume) has never created a game before, and is not even paying his team. (Publishers like to see formal companies, offices, etc. not a bunch of people banded together over the internet)

The best way to do this would be to take a 3d engine (not a game engine) and start from there.
 

[SAS]Solid Snake

New Member
Jun 7, 2002
2,633
0
0
40
New Zealand
www.digitalconfectioners.com
If you do anything else, listen to FireSlash. Take the raised points very seriously, as these points raised have been milestones in many games before.

On that note, how did Lineage II handle the MMORPG world? Or at least I think it is based on a heavily modified Unreal engine.
 

KrisWood

New Member
Jul 24, 2004
23
0
0
The primary idea right now is to get a functional alpha going with the UT2k4 engine (the most advanced of the multiplayer Unreal based games at the moment) that supports 32 players, then attempt to gain funding support from a publisher to liscense the source code and higher more programmers to move into beta.

I've actually thrown out the stacked zones idea since I wrote that. It was merely a way to squeeze in as much space as possible into a single map. It would probably work with only a handful of players on a lan but would become impracticle as more content is added. We'll probably take the Lineage 2 approach once we get the engine liscensed and make our own map changing method. For now, one 7 mile square map will be more than enough.

As for the netcode we already have a skilled programmer working on it. Most of the server side work will actually be done in a 3rd party program we are creating. the Unreal engine will only be displaying the graphics. We'll begin looking at things like player limits if or when we move into beta. :) I don't anticipate having more than ten players during alpha stages.

On the unique mobs I think I may have been unclear. Yes you will inevitably run into a mob that looks identical to another you've killed before, but it will not be the same one spawned at the same location. There will be no spawn points or spawn timers. Mobs will reproduce by partnering up with a "mate" and producing "offspring". I saw a dev journal on the wiki once with the code to do it too, if only I could find that article lol. Humanoid NPCs will have randomly generated names taken from a list of possible first and last names for their race (though I'd like to have them keep a family name of some sort).

For hacking, I'm afraid that'll have to wait until we have a budget, not much we can do about it now except for firewalls.

The one point I really don't have any ready answers for is number 5.

Though I've made mods before, mostly for Homeworld2, I really don't have any experience making professional games. I've been a professional programmer for seven years and have been making server side applications for real companies for most of that time. I'm not new to software development, but my real passion is gaming. I want to make something of my life and if nothing build my portfolio so that when I apply to work at real game studios I can show my functional alpha as an example of my work. So can everyone else on the team. No I can't pay the team, but they will gain experience, and there's the possibility that this could one day become a professional game dev studio.

The limits of the engine can be overcome. It's the publishers I'm more worried about. I have heard though, that if you can show a functional alpha, your chances improve dramatically, and that's what we are aiming for right now. A functional alpha we can do, with a albeit max of 32 players. But there will be a server to connect to, that remembers your player data, and your player's actions will have a lasting effect on the world. That is something no other game that I've heard of, either released or upcoming, can offer.

Lastly, I've looked at several engines, and none can offer the level of graphics and physics, with built in programming extensibility, that the Unreal engine makes available. Some that we looked at include the NeL engine (www.nevrax.org), Fragmere (now defunct), and the Halflife 2 engine. NeL is the only one we found that could support what we needed, but would require creating our own client and serversoftware from scratch compiled with their libraries (it's not really a complete engine so much as a set of libraries useful in creating MMORPGs). Then one day we (most of the team anyway) started beta testing Lineage 2. When we realized that it was made using the Unreal Warfare engine the choice seemed obvious. Though it means we must sacrifice some in terms of network performance, we will more than make up for it in terms of graphics and physics. If I can find programmers who can make the NeL engine perform as well as the Unreal engine, we'll go with that.

P.S. I think I remember hearing somwehere a long time ago that the source as available for educational purposes (albeit trimmed down) but if you wanted to distribute it you'd have to liscense. Does anyone know if this is true, and if so, where we could find it? I'm looking around the UDN site but don't see any mention.

Edit: sorry I think you posted while I was typing all that lol. Lineage 2 used then Unreal Warfare engine and they did not modify it much at all. WOTGreal can open all of their .u files, most of their textures, and some of their meshes. Most of the actor classes are still in the game from the basic Unreal engine. And yes, I'm taking these points very seriously, I've been pondering them for the last few months actually. For the most part faith is covering a lot of it hehe. Oh, and my network programmer when I told him about these points said to remember that Dark Age of Camelot was made using a modified Halflife 1 engine hehe.

Edit2: Yes the source does indeed have a demo version. It is freely available here: http://udn.epicgames.com/Two/UnrealEngine2Runtime22262001 though it is intended only for getting an idea of what the engine can do and not for developing entire games. I think using it for something like our project would probably mean blurring the grey areas of the EULA to the extremes though, I'll have to contact epic and ask them. If nothing else the EULA infers that it's ok to look at it to figure out if the engine would fit our needs. That's the point of it after all, to gain liscense sales by giving companies a chance to decide if it's the engine for them. Anyway, I'm off to bed, more updates and answers to questions tomorrow. :)
 
Last edited:

BinarySystem

Banned
Jun 10, 2004
705
0
0
There's no reason why the Unreal Engine is not capable of supporting a large number of players. Updates are automatically scaled to the available bandwidth. Meaning that, if there's twice as many players, each player is going to get updates on a given world object (assuming it's relevant to all players) half as often.
 

FireSlash

Whats a FireSlash?
Feb 3, 2001
4,300
0
0
38
Central Ohio
www.unrealannihilation.com
BinarySystem said:
There's no reason why the Unreal Engine is not capable of supporting a large number of players. Updates are automatically scaled to the available bandwidth. Meaning that, if there's twice as many players, each player is going to get updates on a given world object (assuming it's relevant to all players) half as often.

This is true, but the engine does not really handle this well. Ever try playing on a slow connection? heh, try 26.4 dialup. The lag is terrible. The engine is too reliant on making sure both the client and server are in perfect synch. In an MMORPG, the client doesn't need to be perfectly in tune with the server, as long as the important data gets sent. I can proove this by comparing performance on my 26.4 connection between games. In UT2k4, 10 players is a lag fest. I often jump around the map to locations I never desired to go, and the feedback seems delayed. In FFXI, my movement feels fluid as if I were playing without anyone else on. Other players move fine as well, though at times they run faster to a location to keep up with the outdated packets. This isn't really noticeable though since the tween distance is decently sized.
 

[SAS]Solid Snake

New Member
Jun 7, 2002
2,633
0
0
40
New Zealand
www.digitalconfectioners.com
I've played Never Winter Nights on a 56Kbps connection... 3 people were playing it on 1 shared connection. Movement was still fluid and so forth, but occasional skipping occured during spell casting and a lag was felt during the delay. Maybe using TCP/IP connection protocols and then displaying graphics is a better way to go instead of using standard replication techniques?
 

KrisWood

New Member
Jul 24, 2004
23
0
0
The problem with the unreal engine, specifically the version used in UT2k4, is that it is costantly sending the entire map's activities to the user. Adding more users does not double the lag, it multiplies it exponentially. There are ways to tweak this though, by telling the engine to only send data relevant to the character. Like I said earlier there is no reason someone needs to know the exact location of an object outside the extents of their clipping plane. The original UT and UT2003 had the exact some problem with their netcode.

During the alpha stages we will be looking into ways to get around this limitation. If we cannot get a publisher, or a liscense to use the engine source, we can always rework the game dynamic a bit to support 32 concurrent players instead of hundreds or thousands.

Most likely NCSoft ripped out the network code and started from scratch when they made Lineage 2. We may need to do the same eventually, or scale down the massiveness, and instead do a LMORPG (large-scale multiplayer online rpg, as opposed to massively).

Snake, UT2k3 and 2k4 both suffer horribly on slow connections. It's even worse when the game server is hosted on anything slower than a T1. After a while it starts feeling like you're playing ping-pong and you're the ball. Your TCP connection suggestion does give me one idea though. Perhaps all the data transfer to and from players could be handled by a third party program, the player would start up their game client and instead of joining a game listed on the master server they'd join a lan game hosted by the third party client app. This app would emulate a UT2004 game server, sending only the data it recieves from the server app to the client. As far as the player's UT2004 game is concerned, the entire map consists of what the 3rd party app feeds it, which is a fraction of what is actually going on in the world... this could work hmmm... I'll have to look into it more and ask our network programmer if it's possible...
 

[SAS]Solid Snake

New Member
Jun 7, 2002
2,633
0
0
40
New Zealand
www.digitalconfectioners.com
Well, what I meant was the with this kind of control, you can directly control the size of the packets to a certain extent. You can also compress data anyway you see fit, although it will be inherently unsecured and it will be up to your coder to secure the connection.

My current thinking is that you won't even need to connect to a game server. Basically, when you log in you send out information via TCP/IP link (There is a script class available in UT2004 for this). If a connection is secured then the player can start gaming, if no connection is found then maybe start a SP campaign or say that a connection wasn't available. This way you don't even begin to have the constraints that GameInfo implies. As the game runs, information is collected through TCP/IP connection. The data is received and decompiled on the client and then the client interprets this information. So for a start, you don't need to replicate and you can control the amount of data that is sent since the client can verify how much data it needs for the game to simulated.

However, this idea is not secure. Players can cheat. But heck, I'm sure with this you can get it to be faster and have more players than by using standard UT2004 standard methods. Of course this speaks from some one who knows only a little about network coding... I need to learn more.
 

KrisWood

New Member
Jul 24, 2004
23
0
0
hey I like that idea. There are ways to make it secure too. They would load up the client as if they were starting a SP game, it would attempt to connect to the server, and either give a connection failed message or connect. It would then get fed data by the server script on our end without a need for a 3rd party client app. All player data and such is server side, so there's not really any way they could cheat by modifying their data. All they could really do to cheat is sniff packets to get sort of an "omnipresent" view of things, or send commands of the tcp connection to do things their character shouldn't be able to do. It should be relatively easy to stop that however by limiting what actions they can take on the server end... I'll look into this method as well. :)
 

KrisWood

New Member
Jul 24, 2004
23
0
0
Here is the current status of our team, and of our project, followed by what is still needed.

Team:
Programmers:
Netcode Programmer: Faraday
Uscript Programmer: PurpleMonkey

Artists:
Character Concept: 4oRbIdd3N
Architecture Concept: Garrison

Static Modeler: Benman

Level Designer: Supermano

Everything Else: Me

Team members without specific positions or tasks:
Kurik (MstrStrife): Sound, music, and research
Kajin: Music and maybe UI?
Klober: Tradeskills and planning, maybe UI also
Dante
Rajak
Kowa

We also have a few people still going through the interview process, as well as a dozen or so of my friends and family who all want to help but have not officially signed on yet.

Current Status:

Faraday is off to an excellent start on the server daemon which will be handling database callse from the game. This part of the project, at least, should be functional relatively soon.

4oRbIdd3N has begun concept art, I've seen one sketch so far, and WOW! I can't wait to see more. It's as if he plucked it from my own imagination and put it down on paper in far more detail than I had imagined it, and he drew it before he was even accepted into the team!

Benman and I have been working on a redesign for the web site. I will be looking for a portal hack for phpBB2 sometime this weekend so we can integrate the forums with the main site, and get an overall visual theme going. I will try to work what concept art we have by that point into the site, we'll see how things go on that

Overall the team and the project itself are really shaping up! I had not expected it to come together half this well, and am immensely pleased with the effort our members have put forth so far. It's only just beginning though, and in fact we still need a lot more help to pull this off properly.

Current Help Wanted:

Modelers! Yup, one is not enough! Though most of our team members have at least some modeling skill, we all have our own tasks to be working on at the moment. Specifically we need the following:

Character Modeler: With the addition of our concept artist we have immediate need for someone with the skill to bring these sketches to life in three dimensions. Some experience is required, must be able to show examples of past works. Being able to rig, texture, and animate your own models is a BIG plus, but not required.

Statics Modelers: Little to no experience required as long as you can make realistic props. This will be low poly models like chairs and rocks and such. Just email me some renders of your models and we'll go from there.

Programmers: We've got two so far, but our server side programmer has recommended we get at least two more and I agree with him. There are two immediate openings for people with a solid understanding of Unrealscript, knowledge of other languages a plus but not required.

Any other help would be greatly appreciated. If you have a skill you think would be useful, please feel free to drop me an email at kris_wood@yahoo.com for more info.
 

BinarySystem

Banned
Jun 10, 2004
705
0
0
KrisWood said:
The problem with the unreal engine, specifically the version used in UT2k4, is that it is costantly sending the entire map's activities to the user. Adding more users does not double the lag, it multiplies it exponentially.

This isn't really true - twice the users means twice the bandwidth needed. Bandwidth and latency (the main cause of lag) are not the same. Lock-step synchronization is the one that has exponentially increasing network overhead.

Also, there's no reason why you have to use the same replication as UT2004 does. You can write your own to send as much or as little data as you please.
 

KrisWood

New Member
Jul 24, 2004
23
0
0
The server would only send relevant data to the users, thus cutting down how much they recieve. Better yet would be a way to stop the UT2004 from sending out that unneccessary map-wide lockstep synchronization in the first place hehe. Well, we've got an estimated two to five years until beta, I think we'll get it by then lol. Right now we're just concentrating on getting the server up and running. So far it accepts connections, just working on getting it to talk to the database, and then working on the UT2004 game server end. Our little world will then be persistent at last. :) Then we'll be on to working on the gameplay itself :)
 

BinarySystem

Banned
Jun 10, 2004
705
0
0
There is no map-wide lockstep. The Unreal Engine doesn't work like that. Clients aren't really synchronized with the server at all, but they are sent constant updates so they are more like playing on the way the server was some fraction of a second ago. Of course, not having any way of knowing the actual current server state, it appears as if the client is synchronized.

You can probrably find a way to cut down on the amount of bandwidth that each player uses, by not replicating stuff that isn't going to be relevant to your project.
 

KrisWood

New Member
Jul 24, 2004
23
0
0
We've got a full team now, including two exceptionally skilled programmers. We also have a LOT of work to be done. Our netcode programmer has requested that we get more programmers to cover the Unreal side of things, and I agree with him. That said, here's a little about our project.

The Wanderlust Project audaciously seeks to become a fantasy MMORPG using the UT2k4 engine. This seems at first to be an insurmountable task, but we are making great strides and we've only been truly active for a couple weeks. It will be a world in which players truly have control over their environment, where at little as possible is static, and where anything can change at any given time. In other words, this project means complete gaming freedom, to do whatever you want to your hearts content, at least to the extents of what the engine can support.

So far our server side application is halfway written, it will be handling all the database calls from UT2k4, allowing the game to become truly persistent. We also have a handful of test maps in production, most of which are now playable. Content is in the works, and we should have our first player character models in the next couple weeks.

What we need is more programmers to suppliment what we already have. Specifically we need people who are experienced in Uscript though any level of knowledge in it will be accepted for now as long as you're a team player and can work well with others. This is a no-pressure team, deadlines are fairly slack and we are willing to work around your real life commitments, but at the same time we are very professional in our approach and you can expect a full team to back you up, provide ideas and feedback, and even help you with your coding.

I have seven years professional programming experience, so i know this is no easy task, that's why we're only looking for people who will take this project seriously. If you do, however, have the skills and determination to make something like this work we would be more than happy to chat with you a while and see if you'd be interested in working with us.

If you'd like to learn more, please email me at kris_wood@yahoo.com or visit our forums at:

http://www.ciusa.net/~kwood/phpBB2

We look forward to hearing from you, we have a lot to offer you as a team, and as a project, all we ask is that you will take us seriously as well, and give us a chance.