We want to create a TopDown arcade game where the closest source code I found is the Space Shooter project from Unity Essentials.
I have been using for several years Corona SDK (LUA) where there is no 3D available. I wished someone could challenge my assumptions, because I heard that 3D game development is much more complex than 2D game development even. Even when the targeted perspective stays TopDown/bird view like in the SpaceShooter project, I got advice from various sides to keep the assets 2D and focus on sprites instead of polygons. Too bad the majority of the Assets are then not usable for us.
a) Question:
“What are the advantages/disadvantages to using 3d polygons for the asteroids, enemies and player controller instead of 2D sprites?”
Assumptions:
Many of the 3D objects in the asset store will not make sense if we develop the TopDown game in 2D mode.
I would love to just buy together all project relevant 3D and 2D objects and throw them in the asset pool. But I heard that one cannot mix 2D assets with 3D assets even for the TopDown arcade game.
I guess the 3d polygons give the asteroid a much more realistic touch. I assume that the performance needed for rendering those objects is however much higher than if they would have been replaced by 2D sprites. I assume that for a mobile game this performance differences matter a lot meaning that our TopDown Arcade game should not involve 3d objects at all.
b) A good friend told me: “Make your Top Down game in 2D because it will accelerate the development a lot.”
Question:
“If the SpaceShooter project would be expanded with many more 3d Objects would it become significantly slower to develop in terms of production time?”
A) You heard wrong, you can mix and match 3D and 2D. Unity is always a 3D engine, even when you use 2D sprites. Sprites are just specialized quads. What you can’t mix is 2D and 3D physics, at least not easily. But there is nothing stopping you from using 2D physics on a 3D object or vice versa.
The more complex an object is, the more time it will take to process it. So 3D is often more costly than 2D. But modern phones handle 3D pretty well.
B) I’m not sure that doing it with 3D objects will be all that time consuming. It mostly depends on the artist that will make the graphics. If he is more comfortable working in 2D, then it will be faster. When it comes to the programming, I don’t think it will matter at all.
It could be argued that restricting the engine to 2D is limiting and - as the engine is a 3D engine with added 2D functionality, working in 2D requires a little bit of workflow modification if you are familiar with working in 3D with true z-depth.
But I don’t like arguing so - agree with PGJ - development speed is dependent upon the comfort/familiarity level of the artist and developer. If a 3D artist is tasked with creating 2D content, the turn around might be slower than if a 2D artist was creating the content. Visa-verse.
With that said if your desire is to make a 2D game and the assets to look 3D the time to create the 2D assets to look like they have depth and react to lighting as a 3D object does naturally, development will take longer, than if you are just looking to create a 2D game that looks 2D.
If your considering any z-depth with the game I’d go with 3D instead of trying to fake it with scale. My own personal preference only.