Hello, Im new to unity. I am experienced in game development for iOS and wanted to get into Mac and PC development, particularly MMO’s. I have no knowledge of creating MMO’s. However, I am experienced at 3D modeling.
My first main concern is terrain sizes. How big is too big of a world full of foliage and objects. Is there a general size that is appropriate? At what point does it become necessary to stream in the terrain?
The second concern is does Unity3D Free version allow for terrain streaming or do you have to go Pro?
Any input on this subject is appreciated. A point in the direction for a noob MMO designer would be awesome!
Master Yoda, welcome to the community! I’d say if you are just starting out on PC and Mac development you may want to experiment and do some R&D before you jump into the MMO development.
I’ve never dabbled in MMO dev but I’m sure someone else can jump in on the technical side, but I know on the overall development side, it’s a long road with more than just environments to worry about.
Firstly, I think everyone would strongly recommend starting with a smaller/simpler project until you get to know your way around Unity and coding for games in general.
A good way to get around the ‘large terrain size’ issue, and a very common technique, is to use a rolling grid of terrains and objects around the player.
Basically you position the player in the center of a 3x3 grid, and load the objects/terrain in the 9 cells. When the player moves off the side of his cell, you shift everything back including the player, unload the parts of the grid that have moved out of the 3x3 area, and load the new parts that have now moved into it.
This way you don’t have to worry about maximum terrain sizes, you just slice everything up into a grid.
Another aspect that this circumvents, is that “floats” (used by Unity for coordinates) have limited precision, and things become a bit… wobbly… with both rendering and physics, if the player is more than about 100,000 from the origin, possibly even lower.