Hello guys!
I want to make a 2.5D (2D gameplay, 3D models) space shooter where player can buy stuff between stages for money earned during the game (best example of game like this is Jest'n'Guns or Tyrian 2000).
I have some experience with Unity, but no with the game code design. The first big problem I found is how to implement shop and stages, and how to store data for the game saves.
I imagine the shop, as a simple scene with items to buy, player storage and equipped items. After each stage(or maybe not?) player have an oportunity to visit a shop and change items. Sometimes new items appear in the shop. Sometimes shop design is slightly different (like different enviroment behind the windows, or vendor face). I really dont want to make a new scene for each shop, I think its overkill. What would You advise me?
I have similar problem with the stages, but they would be of course much more different from each other than the shops. So in this case I can just use Unity as stage editor, but maybe I can somehow automatize it? Like create a script that will prepare the stage scene for me (with start position, end stage trigger, boundaries, background template etc?). Or maybe my approach is just ineffective and wrong, and You can show me better way to handle this problem? That would be great.
So let's assume that I have 1 changeable store scene, N stage scenes (or maybe just 1 stage scene?). How should I manage them in term of game saving and starting/finishing level or going to shop?
I can't imagine saving the game either. Should I just save the most important data to the file? But there will be a lot of these informations like player informations, inventory, beaten stages, next stage etc (this is imo strongly connected to the scene managment system).
BTW, I want to allow saving only in store screen.
I want also implement checkpoint system, but that looks pretty easy (just reload the level but I will place player spaceship in checkpoint position).
Last thing is I dont really know when should I use animator, when code and when shaders.
For example: when player ship flying down, its rotating to the right. Now Im doing it using a script. But Im pretty sure I can achieve this also by animator. Which way is better?
Example2: For moving background I can make few background objects, move them to the left and behind camera teleport them to the right, or I can use shader and just change the background texture offset.
In both examples I dont really know which way is better and why, can someone explain this to me?