Search Unity

Question Singleplayer campaign game

Discussion in 'Scripting' started by picklefart68, Feb 9, 2021.

  1. picklefart68

    picklefart68

    Joined:
    Feb 9, 2021
    Posts:
    3
    hello,
    I am new to unity and I want to make a singleplayer campaign game, I cannot find anything on this on the internet (maybe im blind?). I want to make a game with a campaign style like COD (obviously not that complicated, and it will most likely be in low poly style if i can figure that out.) Its not an RPG game, I just want to make a singleplayer campaign. feel free to ask about clarification on my ideas if anything doesnt make sense, any help is appreciated, thank you.
     
  2. Stoicheia

    Stoicheia

    Joined:
    Jun 25, 2020
    Posts:
    27
    Do you have any programming or 3D modelling experience? If not, you should put off your game idea until after you have some fundamentals under your belt. If you plan on being a solo developer, you would also need to learn a bunch of other skills which you may not even know are necessary (animation, SFX, UI design, marketing etc.)

    The best way forward is to dedicate 1-3 years of your life to learning C#/Unity, either through personal projects, game jams, school, whatever. Then team up with some people to fill in your missing skills.

    For practical advice, the order of what you learn should roughly look like: Basic scripting -> Physics/Linear algebra -> Algorithms/Data structures -> Object oriented programming -> 3D modelling (if you have time). Obviously you can work on projects of varying complexity levels at any stage, but as a complete beginner, making a relatively complex game would be unrealistic. Maybe start with tennis or something idk.

    Don't give up!
     
  3. picklefart68

    picklefart68

    Joined:
    Feb 9, 2021
    Posts:
    3
    I have already dowloaded blender, and I know some basic 3D modeling skills, and I just started a class in school which should incorporate some 3D modeling, digital design skills, and other stuff.

    I Used to do a little bit of python but it was a while ago so I probably don't remember it...

    I think I will take your advice and take a little while to learn the basics of C# and hone my modeling skills. It could be hard to team up with other people. Also I will start with the unity micro game tutorials and work my way up from there.

    thank you for your advice
     
  4. SolitaryDeveloper

    SolitaryDeveloper

    Joined:
    Feb 7, 2021
    Posts:
    8
    If you're super patient with yourself, and make sure to put a focus on learning Clean programming practices so things are easy to go back and change, I actually think a campaign game (Albeit not AAA quality) is within the realms of possibility. It really depends on how much detail you want to incorporate.

    Definitely start with a couple smaller projects to learn the basics, or you'll really hate yourself for the mistakes you'll make in a large project. Start with a text based adventure maybe (Not a full game, just make the engine,) then do a couple minigames. Maybe from there to a simple 2d shooter to learn the basics of AI. None of your learning projects have to be completed polished games, though I do recommend also focusing on polishing at least a little, as that's arguable one of the most important things to learn.

    If you want full sound design, spoken dialogue, intelligent AI, and beautiful graphics, branching storylines, etc, there's a reason teams tend to build those games with large budgets. You will not be able to recreate COD single handedly as a new developer. I don't think any single developer could recreate COD with the same AI and graphics and sound design. Not without the same budget for sure as one person can only be so many voices.

    If you want to make a game that's relatively on rails, where the AI has some quirks or just follows set paths, where the sounds are royalty free, then it's entirely doable with Unity with all of the tutorials that are out there. Just be very careful of a few things:

    Learn clean coding practices. There's a bit of a cult around clean code and it can be demoralizing, but you don't need to go to the same levels that some people will tell you to. Some singletons are ok, a little bit of coupling will happen, etc. But do your best to learn how to decouple parts of your code as much as possible.
    Your first game (or any game,) you're going to have to go back to change stuff or recreate it a lot. If you code cleanly, you'll be able to redesign your entire player input system without breaking the rest of the player, or change the enemy animation code without also rewriting the AI. I recommend a book called Clean Code by Robert C Martin, but keep in mind that you don't need to go to the same pains that the book recommends. It's just a great place to learn how to make your systems not depend on eachother.

    Be open to change. My current project I've redone the entire inventory system twice, and I'm on the third clean iteration of my AI code. I'm still an amateur but I'm managing to pull off an open world RPG with procedural dungeons. The key is to know that you're still new, know that you'll have to redesign systems, and be willing to redesign those systems.

    Be patient. You're looking at a pretty big scope project. It will take you a year, maybe two, hell maybe five. It depends on your commitment and dedication. I'm new, I've been working on an RPG to learn, and I'm coming up on the year deadline and I don't even consider my game playable yet. It's definitely getting there and I'm happy with the progress, but keep in mind a learning project involves lots of time learning.

    Maybe set aside a learning budget. Youtube videos will only get you so far, and are littered with poor practices depending on which videos you watch (Though a lot do have very quality content.) If you wait for their monthly sales, I've found Udemy to be a good source of learning at a good price when the sales happen (Never pay full price on that site, trust me about the sales.) Theres lots of sources of good, full, course style learning where instead of 20 minutes you spend hours learning.

    On the topic of not finding anything on google, it's because your phrasing is incorrect. A campaign game is not a genre. You'll want to look for tutorials related to First Person Shooters for a game like COD. Those tutorials however wont include the campaign features you want. From there you'll want to google stuff like how to manage a games storyline, managing level progression, etc.

    The tutorials on how to make full games are typically either incomplete, or are about casual games. Making a full game with campaign is terrible content for youtube videos, as there's so much reptition of the exact same concepts. (People want to learn how to make an inventory, not watch people go through the process of adding all the items once the system is done, etc.)

    Instead of full game tutorials, you're going to want to sit down and really figure out what systems your game will have. So 3D AI is one, the menu is another, movement is another, etc, and from there you'll find guides/resources on each of those individual systems. There's definitely First Person Shooters tutorials that will show you where to start, but from there you're going to be on your own figuring out different systems and figuring out how to get them to talk to eachother.

    Finally-- Whatever you do, don't fall into the trap of doing tutorials for every single part. If you do follow a tutorial, I recommend swiftly going in after and redesigning at least part of the system yourself. You need to learn how to do this stuff, and you don't want a bunch of disjointed systems that don't cooperate well with eachother. Tutorials are a great place to learn the recipe so to say, but you will want to learn yourself.
     
  5. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,689
    A "campaign" in that sense is just a linear series of levels. In COD the actual saved state as far as the campaign is just a number telling you which level you have completed from 0 to N. You could take any game that has multiple levels and wrap a "campaign controller" script around it to feed you those levels in linear order. That's the easy part. Making the actual player behavior, enemy behavior, enemies, levels, etc., That's the hard part, and has nothing to do with campaign or not.
     
  6. picklefart68

    picklefart68

    Joined:
    Feb 9, 2021
    Posts:
    3
    Thank you for all the great advice, I have been watching a lot of videos and starting to play around with unity.
    I am already getting ideas on how to could make menus and simple stuff like that. I will continue and start making simple 2D games and work my way up from there.

    Thanks for all the advice