Jump to content
  • Advertisement
Sign in to follow this  
rs131

Seaming Together Isometric Maps To Create Game World

This topic is 903 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

Hey guys,

 

So I've been doing quite well creating my own social chat/MMO using Node.js + Socket.IO + Javascript + HTML5. It's come wonderful and very responsive, fast and after studying networking for many weeks, I believe I've got it all down and working smoothly and efficiently. 

 

My main problem right now is understanding the best approach to seaming together regions or maps to create one large world. I've been trying to find guides/information on the best practices for doing this, but had no luck. So what do some of you do involving isometric maps and making sure all the regions are sewn together properly?

 

My only solution was making individual canvases (3x3 matrix with the player's region in center) for each region and then basically cropping the canvas and seaming them together via calculations in the viewport (which always follows the player). But I'm also thinking it could be beneficial to just grab all the tiles that will only be viewed in viewport and just render them each frame, would that be that be too rough on larger viewports like the image below? I would think that would be the BEST and overall easiest method to deal with but I worry about performance issues re-rendering the tiles for each frame, even though it's a low amount compared to the entire map. The seaming together of canvases though is just rough and annoying to deal with and performing so many calculations to figure out and keep track of where things are.

 

Overall, I'm just trying to find the easiest approach to dealing with that won't cause my game performance to suffer.

 

f2e3861abdf24a270ff667e5a67bccbe.png

Edited by rs131

Share this post


Link to post
Share on other sites
Advertisement
The easiest approach is going to be doing what a lot of older games did and make sure each map is self-contained with "doors" between maps. Then when the player clicks the "door" they are teleported to the corresponding map at the other side of the "door". This makes everything much easier as you don't have to worry about maps fitting seamlessly together, or having up to four maps loaded at once, or (the real kicker) trying to handle moving objects crossing map/coordinate boundaries.

Otherwise it looks like you already have them meshed together just fine - you'll just want to offset each map by half a tile up and to the left (though for maps on the boundaries you will only want to shift them up or left, not both) to close the seam in rendering (though again, this won't address issues you might have with moving things crossing maps and potentially extremely large coordinates) Edited by SmkViper

Share this post


Link to post
Share on other sites

You could try rendering in pieces according to location. I have an isometric game too. I was going to try to render a large world an have a head count of every object and restrict their rendering to certain regions of the map depending on if the player is in the region. The rendering of the regions would only load 2 maps at most.

Share this post


Link to post
Share on other sites

Thank you guys so much for your suggestions, I actually did manage to get this working after tweaking some of the code.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!