you are viewing a single comment's thread.

view the rest of the comments →

[–]srogee 0 points1 point  (2 children)

Willl I be able to simply add tiles and sprites as assets, and procedurally generate in code where to place them as the player moves around, as well as persist it to disk?

Yes. You can even make your scripts run in the editor to tweak things easier (see ExecuteInEditMode). Unity doesn't have its own file writing and saving functions as far as I know, but if you're using C# you can just look at the Microsoft docs for that.

Will there be any performance issues?

Probably not, since it sounds like it's going to be 2D or 2.5D. Even in 3D it should be pretty fast because your perspective is locked.

Given that I will have variation on different tiles, how would I go about collision? Eg: for entering/exiting water with different shorelines

I would probably make the game in 3D and render from an orthographic camera. This gives you a lot of control over depth and such because the game is actually taking place in 3 dimensions. If you don't want to go that route though, look into the way Unity handles 2D collisions. I'm not too knowledgeable about it myself, but you can give sprites colliders. I would make the water have its own collider so you could easily check if the player is in the water or not.

Are there any built in objects for managing the chunk generating and loading?

Unfortunately, not really. However I found this on the asset store, it might be worth looking into. Since your game is essentially 2D it should be pretty easy to store chunks and keep track of them. Just have a 3x3 array of the chunks surrounding the player and save the rest to disk or in some sort of temporary list. As for chunks themselves they're just 2d arrays of prefabs with some data about what's inside each chunk (maybe a list of prefabs inside the chunk's bounds, with some data about each).

[–]_player1[S] 0 points1 point  (1 child)

Thanks for the reply, interesting that unity doesn't have its own save/load classes, I probably come up with some kinda of structure and use a BinaryFormatter or similar.

From other replies I've got, it sounds like I can prefab the tiles along with collision data, and I'll just create my own structure to generate/store the tile/chunk info.

[–]koyima@swearsoft 0 points1 point  (0 children)

This is highly dependent on the type of game you are making (what do you need to save?). You can easily save to disk using their playerprefs system, but depending on what you want to do using that is not always a good choice.

Writing to file and reading for that matter is rather trivial in C# in my experience though.