What do I need to do to develop an FPS survival game?
Hi, I'm a beginner in Unity and I am looking to try and make a basic survival game where the character can:
walk
run
crouch
swim
lose oxygen underwater
pickup stuff
make stuff(like building a raft)
use made stuff
stab
cut trees
I was wondering about the elements that I will have to use. What will i need to read about/focus on? I'm familiar with c# coding but I'm not sure about the syntax. I would appreciate it if you guys can help me get by in learning to develop a game.
The things I need would be:
Where to start(do I design a world or do I code,...)
Structure of code (what to initialize, update,...)
What should I read up on
Any other notes you might have
your help will be very much appreciated :)
PS. I have tried the learning section and I want to expand my knowledge.
Answer by JedBeryll · Aug 24, 2016 at 09:20 PM
Well this is a very large subject which can't really be covered in answers. You should search for tutorials on youtube insted. That being said... As you're making an fps game, before you do anything you should look into level design, specifically Terrain and models because any coding would be pointless without an environment. When you're done with that setup your player and write the code that controls it. There's a lot of directions to go from here, one thing you should leave for last is optimization because it will take up time and will deter you from actually finishing the game. At that point you will have enough knowledge to actually optimize the code and game quickly.
The other stuff that i forgot about: "What should I read up on" Everything. I mean literally. Even after years of everyday messing around Unity still has surprises. This is a good place to start. "Structure of code" $$anonymous$$eep static references to themselves in gameobjects if you only want to have 1 of them at all times, like a GameController. That way you don't need to set up references in everything Just say GameController.instance. Remove empty Update methods and if you don't need to update some values every frame then work around them, don't put them in Update. Set up references in Awake, initialize base values in Start. This is not written in stone but helps to keep order because they are always called at a specific time.