Hello,
I am looking for some advice or ideas regarding a current MMORPG I am making. I currently have the packets working find, client works, everything is smooth and such. Quests are in, you can attack, our packet reader/sender is great with a good SendQueue.
My question arises in the sense of the "World". I wanted to see if anyone out there may have some useful tutorials, or ideas on how many MMORPGs (Like Lineage II, that don't have "Instance" or "Spawn" zones), work. Not really asking for code but the idea behind it.
Currently, I have it set up as such. Every person that connects is considered a "GameProxy" , Which has lists of the current character, his other characters on that server in that account, his Serial, ect. I then have the "World" which is split up in the 87 by 128 region (Size of the world). The World just controls the aspect of the movement on Entity's, such as Monsters/Items/GameProxys.
Basicially, World > WorldRegions > Regions > KnownList (Monsters / Items / GameProxy).
I have heard so far of only two possible ways to go about this
A ) A world Loop. That goes through and updates each character every x second by going through the knownList. I tried this, found it to very laggy. Plus how can you loop 4,000 online connections in like 1 second?
B) A GameProxy loop. I am currently using this and found it to much better. I don't know the downfalls of this yet as its new, but my goal was to have some where around 3,000 connect.
Does anyone have any advice or suggestions on this? Thank you!
4 1108 Plater 7,872
Recognized Expert Expert
So your question is how do you manage game state data with 3000 people connected?
Basically,
But in certain point, I want to know about Regions. Do people use a "KnownList" as i've seen. Do they update people every second with conditions, or do they know the conditions before they update? Stuff as such. Thanks.
Plater 7,872
Recognized Expert Expert
I would think that the servers update their own stuff (maps, monsters, etc) and then wait for an "interactio n request" from a client?
Hello,
Yes, they do. But in regards, How do they update the "World" of actions? They cant have 1 major loop that goes through all the entities. Otherwise you would have like over 50,000 Entities in the World for just 1 Character. They have to split it up so that there is only like 100 in each, which is the point of the region. But how they go about processing that region, is what im consulting.
Sign in to post your reply or Sign up for a free account.
Similar topics |
by: [ EuGeNe ] |
last post by:
Hi all,
I would like to write a script that downloads one file from a ftp
server if the file creation date satisfy a condition.
I can't figure out how to find from a ftp server what is the creation
date of the file (using python).
Any idea?
|
by: SK |
last post by:
I have a file. i get the creation time using
File.GetCreationTime. then i go and delete that file. and
then create it again and print the File.GetCreationTime.
It is giving me the old creation time itself...y is it
so..?
|
by: |
last post by:
I have a class with overloading operator new. (Because, if an identical object exists, return a pointer to existed object instead of
a new pointer)
It has no sense (it is dangerous) to allocate an object of that class in stack.
So, is there a trick to avoid stack creation of an object of this class?
I mean, to take compile-time error instead...
|
by: Snyke |
last post by:
Hi.
I know this is not closely related to C++ but it's a design issue, I
hope anyway to find someone willing to introduce me to the secrets of
good server design.
The problem is that I have to write a core of a MMORPG server, the
problem being that I have absolutely no clue how to design it. Is there
a good tutorial on how to structure...
|
by: Steven Blair |
last post by:
Hi,
I have a trace log file for a system I am writing. If the creation date
is older than 14 days, I have to rename that file (File.Move). The next
time a trace message is required a new file is created
StreamWriter sw = new StreamWriter(path,true);
The problem is, the creation date of this new file has the creation date
of the...
| |
by: Anthony Munter |
last post by:
I have a web application with impersonate=”true” in Web.config and on my own logon page I allow the user to either
- specify a userid/password for the app to impersonate when calling legacy COM objects
- or, just use the interactive user
If they choose to use the interactive option, the impersonate="true" means that the process runs...
|
by: Nick Dreyer |
last post by:
I was quite surprised to notice that Sub New() gets called twice,
once at declaration time and once at creation time. I can't figure out
why it would be called at declaration if there is no class instance
to work with. What is going on here:
Sub Main
Dim NewObject as MyClass
MsgBox("Before Creation")
|
by: Fratyr |
last post by:
Hello Experts.
This is my fourth time im starting to learn PHP/MySQL/AJAX
All the times i tried, was boring, because i was learning only the syntax commands.
Now i do another way. I decided to build up something that i would like to call "its mine!" So it will probably be simple text-based mmorpg game.
Everything goes well until this:...
|
by: bull.titan |
last post by:
Hi all,
i'd like to start writing an MMORPG in PHP/MySQL (like www.world-of-dungeons.com)
but i wonder something simple :
how to i manage to create and allocate items ? (armour, axes etc..)
i mean, i think : one item = one database entry (in an item table,
with many fields for each item, such as name, desc, name of dungeon
where it...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it. ...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...
| |