Creating Large Maps

S

Sergio Tamayo

Guest
I need to have a big map for my game. It's a MMO so would a large map creative massive lag? I'm unfamiliar with this. Any advice?
 

andev

Member
Technically the "room size" means nothing. It's just a quick way of setting the size of the window without any code. Game maker rooms are infinite regardless of what their "size" is.
 
S

Sergio Tamayo

Guest
Technically the "room size" means nothing. It's just a quick way of setting the size of the window without any code. Game maker rooms are infinite regardless of what their "size" is.
Are you familar with Project Zomboid? I'm thinking about designing a game like that for Mobile. Would this possible for someone who has yet to learn about Game Maker? I am coming from RPG maker and I have some coding experience.
 

Genetix

Member
You should be able to make the map (room) almost as big as you want - the real task is managing what object instances are 'active'. For each player (client) I would only process objects within a range of the view. It's worth looking into instance activation/de-activation and experimenting. Also research chunking systems!

Definitely possible to have massive rooms with no lag.
 

andev

Member
Would this possible for someone who has yet to learn about Game Maker? I am coming from RPG maker and I have some coding experience.
If you have yet to learn about game maker, I'd recommend learning before trying to tackle a project you wish to put to market.

You can start on your big dream now, but what I can guarantee will end up happening is 50 hours in, you'll discover a method or technique that makes you look back on your entire project and think: "Man... I wish I'd done the whole project using this", and everything you'd put in would be a waste. It's best to get a really good feel of an engine before you go in. It's like learning to drive, you start in the front yard before you hit the freeway.
 
S

Sergio Tamayo

Guest
I agree with you Andev 100%. I wish I had a partner or few that has some experience with Game Maker and would be interested in this project. Doing a project from scratch 1 knowing nothing about Game Maker is going to be a hard long road to face.
 
S

Sergio Tamayo

Guest
You should be able to make the map (room) almost as big as you want - the real task is managing what object instances are 'active'. For each player (client) I would only process objects within a range of the view. It's worth looking into instance activation/de-activation and experimenting. Also research chunking systems!

Definitely possible to have massive rooms with no lag.
Thanks for the info. Im sure it shouldn't be too difficult to implement.
 

RangerX

Member
I agree with you Andev 100%. I wish I had a partner or few that has some experience with Game Maker and would be interested in this project. Doing a project from scratch 1 knowing nothing about Game Maker is going to be a hard long road to face.
But that's what we ALL face wanting to make a game. You have to think in the long run. And there are reasons why you continue making games and not on RPGmaker.
 
S

Sergio Tamayo

Guest
But that's what we ALL face wanting to make a game. You have to think in the long run. And there are reasons why you continue making games and not on RPGmaker.
You're absolutely right. It's my dream to design a game that can pop off. I had to find another software besides rpg maker. The software doesnt have much potential in the marketplace.
 
A

ajan-ko

Guest
Making big map in game maker is not an easy task, it doable but it's not easy, the example I know is heat signature.
That game push the game maker engine to the limits.
 

andev

Member
Making big map in game maker is not an easy task, it doable but it's not easy
This completely depends on how complex your game is. If you're making a universe game simulating every molecule, then there will need to be some high level optimising. But if you're just making a simple zombie survival game, you just need some basic loading in/out for stuff that's offscreen.
 
S

Sergio Tamayo

Guest
This completely depends on how complex your game is. If you're making a universe game simulating every molecule, then there will need to be some high level optimising. But if you're just making a simple zombie survival game, you just need some basic loading in/out for stuff that's offscreen.
Yeah simple zombie survival game .
 

Yal

🐧 *penguin noises*
GMC Elder
Are you familiar with the term "instancing"? It's common in MMORPGs as a way of reducing map load - basically, an area can have several different "instances" (entities / versions) active at the same time, and only a few players are in it, and they have no contact with any other player. This helps speed up performance, because there's less information that needs to be shuffled around all the time. Maybe something like that could be worth considering? It's commonly used for dungeons (because that's where the action happens) but you could probably have it happen over the entire game world, and only have tons of players active at once in the hub / mission area. (e.g. players would form parties or get assigned random parties and then load in a smaller area)
 

Morendral

Member
Are you familiar with the term "instancing"? It's common in MMORPGs as a way of reducing map load - basically, an area can have several different "instances" (entities / versions) active at the same time, and only a few players are in it, and they have no contact with any other player. This helps speed up performance, because there's less information that needs to be shuffled around all the time. Maybe something like that could be worth considering? It's commonly used for dungeons (because that's where the action happens) but you could probably have it happen over the entire game world, and only have tons of players active at once in the hub / mission area. (e.g. players would form parties or get assigned random parties and then load in a smaller area)
This is how the guild wars series works. The only place you interact with other people is inside a town.

Also, Diablo 3 is similar to this where each player had their own world. this is of course good for offline, but for with friends you can invite others into your game to play along side you.
 
Last edited:

Yal

🐧 *penguin noises*
GMC Elder
Also, Diablo 3 is similar to this where each player had their own world. this is of course good for offline, but for with friends you can invite others into your game to play along side you.
You mean it's just like...
upload_2018-2-13_21-42-13.png
...?!

Okay, okay, that meme is getting old now :p

Anyway, it's a pretty good suggestion. If you could keep the online interaction to something even smaller than a town, say a tavern, you could optimize stuff as much as humanly possible - everyone are in small rooms, so you could get away with only rendering like 30-40 people at once, and there's very little that'd consume resources, so you can spend all your processing power on syncing players. The tavern could have lots of small rooms physically, yet you'd be able to load each room really quickly (since you have them all in memory), it's just the players in each room that needs to be synced. All you need to do then is to make the rooms distinct so players looking for someone particular can find them easily by just asking them what room they're in.
 

NightFrost

Member
For shared spaces and player count control, an MMO I'm regular in established a good while back system they call dynamic layering. That is, when the servers detect large number of players in one of the zone grids of any public space (the main shared world map), it starts spinning off copies of it as instances. Whenever a player crosses a grid border (grid border = essentially invisible division in terrain which the servers use to share burden of simulating sections of the map), they get thrown into one of these instanced areas. Their number, creation and destruction is strictly based on player count, so practically you never see more than N players around you, the rest are in other copies.
 
Top