- Home /
The best way to do an isometric 2.5D game.
Hi,
I'm currently developing an isometric 2.5D game using sprites. I based it from this article: http://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer-for-game-developers--gamedev-6511 . So the actual data is in topdown 2D tile based map, whereas the rendered view will be projected from the topdown map's data every frame. I'm currently thinking about the best option to approach this. Currently in my mind I've got these:
Make two different
GameObject
s for each tiles, walls, buildings, characters, etc in the game. OneGameObject
is in the topdown 2D map and won't be rendered by the camera, the other will be rendered in an isometric view based on the previous one.Make one
GameObject
with aVector2
variable as the actual topdown 2D position, while we use theGameObject
'stransform.position
for the isometric view's position.
For the first option, my concern is with the performance because we maybe (hypothetically) need twice the amount of memory, but the whole collision detection etc will be handled by Unity. While the second one, I need to roll out my own collision detection (and probably some space partitioning optimization using a quadtree). Since I'm developing a mobile game, performance is crucial. But development time is also important. So my question is, which approach is better? Or if you have any other idea besides those two options, please do tell me.
Thanks in advance.
The most important thing is that you should not use seperate gameobejct per tile; this will become prohibitive very soon. $$anonymous$$aps as small as 100x100 tiles will need 10,000 gameobjects, a feat Unity is not going to handle, let alone on mobile. Look into 2d tile systems.
Well yeah, I will be using an object pooling system for that. Anyway, I've done it using the second option. But for the collision detection, I'm using Unity's collision detection. Too lazy to roll out my own.
Answer by bawenang · Oct 22, 2015 at 04:03 AM
Anyway, I've done it using the second option. But for the collision detection, I'm using Unity's collision detection. Too lazy to roll out my own.
Did you use their 2D box collision for everything(including projectiles)?
Your answer
Follow this Question
Related Questions
Object Collider Isometric problem 0 Answers
Can't change TileMap tile height when painting 1 Answer
Need help with Collision detection for tiles in Isometric 2D 1 Answer
How to determine the direction of a 2D sprite on a Y as Z Tilemap 0 Answers
Move towards move very fast independent of the speed 1 Answer