Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Feels like the same thing over and over again

Discussion in 'General Discussion' started by mads232, Jan 22, 2017.

  1. mads232

    mads232

    Joined:
    Sep 6, 2013
    Posts:
    48
    I've been away from programming the last 2 months. Simply because I lack motivation. Each time I decide to go back to programming, I think of Unity. And when I think of Unity, I think of having to do the same task again. Create a bunch of scripts and UI's just to get a basic fundamential fps foundation! Creating a crosshair, removing preplaced assets, etc.

    It really doesn't get me going. All I want to do is create this vehicle, or do this random wall James Bond laser system. But to do just that simple task, I have to create a bunch of stuff that I've already done before, and before that.

    I kinda realized that the problem probably is the fact that I never use old assets I have created. So I started doing that, and making sure they were pretty default and not fit to only one specific game. But still. It feels like it takes ages just to do one simple idea.

    So my question to you people! What is the standard practice of this? What do you do, and am I alone on this?

    PS: Not looking for links to the asset store, in case there's some standard assets that helps with this. I only want my stuff in my game.
     
  2. drewradley

    drewradley

    Joined:
    Sep 22, 2010
    Posts:
    3,063
    This isn't an issue with Unity. In fact, Unity is designed specifically to avoid this repetition. At least in my experience. Chances are anything that you find yourself doing over and over can be automated. All that stuff in your first paragraph only needs to be done once and then imported into any new projects. Don't do it over and over with each new project. Do it once, do it right, and never do it again.
     
  3. iamthwee

    iamthwee

    Joined:
    Nov 27, 2015
    Posts:
    2,149
    I've basically setup an FPS barebones myself after lots of tweaking and testing. Then I just use that when I want to go ahead and do something different, maybe different weapons and different levels.

    I guess it's just the same as buying an FPS asset, but at least you have the benefit of knowing how it works.

    It's the DRY principle I guess.
     
    GarBenjamin and Ryiah like this.
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    Yes, that's very much part of the problem.

    Here is the other part. Until you've acquired a sufficiently large collection of your own assets you'll have to either make use of resources from the store or build every single thing from scratch.
     
    Kiwasi and iamthwee like this.
  5. cyberpunk

    cyberpunk

    Joined:
    Mar 20, 2013
    Posts:
    226
    This is actually the best part of Unity. It's a blank canvas for your ideas. In any case, if you write proper OOP code, it's pretty easy to pull classes from old projects and reuse them without any editing.
     
    Billy4184 and Ryiah like this.
  6. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    I think the feeling you have is because your expectation or hope of how easy it will be, based on how simply the goals seem to be, is very out of touch with the reality of exactly what it DOES involve to implement these things the way you want. Thus you become disappointed and frustrated and then think it's Unity's fault. Yes, if you want to make a game that's half decent, it is still in 2017 going to take you a LOT of time and effort and grunt work and sometimes things which are a totally boring chore. That's just the reality of it. The 'glamorous' idea of game development being quick and easy is an overinflated ideal which isn't really true. The tools have become a LOT better than they used to be, hugely time saving, even pain saving, but still you're going to have to admit that this is a fracking long-winded, detailed, technical, difficult thing to do to put together a sophisticate piece of software that provides a certain kind of experience. It takes times and effort to polish something. It takes time and effort to implement even the smallest detail. And pretty much nothing gets added to your game unless YOU add it, through hard work and effort, which as I said an at times be very frustrating and not particularly fun.
     
    Ony and Amon like this.
  7. dibdab

    dibdab

    Joined:
    Jul 5, 2011
    Posts:
    976
    export unitypackage, then import
    that's it. add unity version number to its name, and you can import them in newer versions.
    exportpackage.jpg
     
    theANMATOR2b and Not_Sure like this.
  8. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    I don't blame you for not wanting to rely on the asset store simply because the way the FPS assets are designed may be completely different than the way you would design it, may be way too bulky crammed full of stuff you will never use, etc.

    Now if you could find an asset that is very bare bones codebase and provides a good foundation only and is done so in a way that makes logical sense to you... then sure I think it would be a bad idea not to use such a thing to build on.

    But in general yes this is what you need to do is spend your time building components / modules / library of code that you can reuse.

    And thinking about this I think this is one of the reasons why I never could really get into Unity despite checking out numerous assets. It is so dang visual oriented. If there simply were assets that were purely code-based without this spaghetti mess of hardwiring in the Editor it would be so much better for people like me.

    Sorry about that... lightbulb went on there.

    Anyway, the big problem is this... as @imaginaryhuman stated making a good custom FPS game in Unity can be a lot of work. And then on top of that you have the issue of there are assets on the store available but most of them are not going to be coded & structured in a way that makes logical sense to you. Or they will have bugs in them, or lack features you need, or will have a bunch of crap you don't need... so you then will need to spend your time learning this new codebase (which is complicated even further in Unity because half of the stuff will be inside the Editor and half of it will be inside the code and every person does this differently... to varying degrees from person to person bits will be wired up in the editor or done via code) and then spend more time fixing the code, enhancing the code or gutting the code.

    Now what you can do is buy assets with source not to actually use but just to get ideas of how they are doing certain things in Unity that you need to do for your game. So don't actually use the asset or even the code just use them to study to learn.

    But of course you can find that information on the web as well.
     
    Last edited: Jan 22, 2017
    mads232 likes this.
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    Except for that last part you just described the Standard Assets.
     
  10. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Maybe this will work for the OP. The biggest problem with Unity for game dev is because it is so flexible. You have people like me who basically do everything in code. On the other hand, you have people who basically do everything in the Editor. And then varying mixtures between the two in between. And this is what makes it so the Assets on the store are less useful than they would otherwise be.

    With no standard way of developing (and I get that we can all develop differently in anything but I can check out loads of C++ code using the same dedicated game API and figure it out and see the same basic things done in all of them but with Unity due to the ability to work in code and work in the editor wiring up stuff) it greatly complicates things.
     
    Not_Sure and Ryiah like this.
  11. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,984
    This. It's a question of maintenance - if the previous code you wrote is not clean and mixed up with all sorts of other stuff it's often just not worth the hassle. But if you look at each part of your games as a lego block and write it to be plugged in and out it goes a long way toward saving time.

    The only time I've fully succeeded with this was with an asset I made for the store - because I wrote it to be very clean and cover a lot of uses it turns out I can actually just use it as is.
     
    Ryiah likes this.
  12. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    At the same time this is a great advantage. If you find yourself at the point where your current style is no longer working for you're able to change to a new one without having to learn a completely new engine leaving behind all your code. From his post it's very clear his past ways of developing were simply no longer working for him and he's starting to adjust.
     
    theANMATOR2b, mads232 and GarBenjamin like this.
  13. GarBenjamin

    GarBenjamin

    Joined:
    Dec 26, 2013
    Posts:
    7,441
    Absolutely.
     
  14. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,368
    Fantastic analytical insight.....

    Love it. :)
     
    imaginaryhuman likes this.
  15. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,541
    Well it sounds to me that you're approaching things all wrong.

    It sounds like you're running into repetition because you never finished your first game.

    Believe me, you do NOT want to get into the vicious cycle of starting a new project every time your enthusiasm wanes. You're talking to someone with damn near 100 false starts under their belt and exactly 0 commercial releases. It's a terrible habit that you need to break immediately.

    Go back to your first project that you started and finish it.

    No matter how terrible it is, it's better than never finishing anything.
     
  16. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    Then why are you messing around with crosshairs and deleting pre-placed assets? Just skip to the bit that interests you and worry about those other bits later.
     
    Kiwasi likes this.
  17. Deleted User

    Deleted User

    Guest

    :oops:
     
    Not_Sure likes this.
  18. mads232

    mads232

    Joined:
    Sep 6, 2013
    Posts:
    48
    Thank you all for your answers! They cleared up some thoughts in my head! Just to clarify, I am not trying to bash Unity at all. I love Unity, and I'm thankful that we're allowed to use this for free! That's fantastic! The problem is me, and my rookie mistakes. I know that game programming is not an easy task, and I have no illusion of it being easy at all.

    Ryiah, you're absolutely right. My past ways of developing was in fact not working. I'm still a rookie so I'm learning each time I open Unity. I discovered, as others have already mentioned, that everything you code, should be like lego blocks. Built so they're ready to transfer to another project, or drag out of a project. I've been doing this recently, with some succes.


    @GarBenjamin Thank you for your replies. I might have to go check out some of the assets, just so I can learn by them. You're right, FPS assets on the store, are almost always having a bunch of stuff you wouldn't need for an FPS, or simply not the thing you were looking for. That's definitely one of the reasons, why I like not using the asset store. But I also have this weird vision, that what is in my work, is my work and nothing else. Probably helps with that feeling of accomplishment.


    You're absolutely spot on. I have never finished a game. Mostly because, as I stated before, getting more experienced, you find out that what you've created is just a big mess, filled with unoptimized code and a bunch of assets that are dependent of each other. I wouldn't want to pick that project up again because of that. But you're most likely right. If I don't pick up one of my previous projects, I might not make it any further in game development.
     
    Og_Bacon likes this.
  19. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    100 started projects? I better get a move on, you are catching up!

    I say embrace the hobbyist dream. Forget about the commercial releases. Down with deadlines and productivity. Just focus on doing what you like.

    I did one commercial release once upon a time, just to see what it was like. I found the process to be a bit overrated. Since then I've just been making the bits I want to work on. It's much more pleasant.