Search Unity

Workflow - Suggestions

Discussion in 'General Discussion' started by mvinc006, Dec 18, 2018.

  1. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    When you start a new project and your looking over the tasks you need to start working on, what do you normally start work on first and why.

    Myself, I start with popping an object into an empty scene and start scripting the basics classes that will control my game flow. Rarely do I make it to a point where I have the bare core features actually implemented for some kind of actual gameplay.

    I think this is bad because I never get to experience the ideas I’d envisioned, instead I’ve got s whole bunch of proof of concepts done.

    I will put my hand up and admit, that I am a procrastinator, a tinkerer and that because I’m not accountable to anyone but myself I don’t follow through, so yes I need to change that.

    And one of the things I’m looking at first is my approach to development, do I do the UI first, the core gameplay? The backend coding for all the tidly bits I think I’d need? Or can it simply be I am still over reaching, and treating it as a project rather than something I need to finish.

    Ok I’ll stop rambling at this point, suggestions and thoughts welcome.
     
  2. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    A tablet of paper, a pen, and some classical music. I lay out at least the basics of what I'm planning before I ever start. Sometimes, I will get ideas and work out particular sections in detail. This all creates the framework for what I want to build later (though I invariably forget something).

    This stems from how I first learned programming in college. I would sit with paper and pencil under a tree and work out the solutions to the problems we were given in pseudocode. Then I would move on to creating the actual solution.

    Once I am into a project, I tend to start with something visual first. If I was making a space shooter, I would get the player ship on screen and moving around. If I was making a solitaire card game, I would lay out the board. I find that having something tangible I can see makes me feel like I've made progress, even if I then spend the next week working on code that isn't visible in the game itself.
     
    Kiwasi, Lurking-Ninja and TonyLi like this.
  3. IllTemperedTunas

    IllTemperedTunas

    Joined:
    Aug 31, 2012
    Posts:
    782
    People are always looking for a magic bullet. Why did my last project fail? It was because i did UI before i developed the core systems to be fun.

    The truth of the matter is there is no magic bullet. Most projects fail for a multitude of reasons mostly all stemming from a lack of experience and not knowing how to make a game.

    The optimal production path varies GREATLY game to game. Are you making an adventure game? Are you making a beat 'em up? An MMO (please god say no).

    I wrote an article on this exact thing some time ago if you want to check it out: https://gamedevelopment.tutsplus.co...g-a-great-game-in-your-basement--gamedev-7155

    Haven't released any smash hits but my project i'm working on currently is kicking ass as far as I can tell and i'm adhering to a lot of the core tenets I wrote in that article.

    Most importantly keep scope small. Also know your strengths. Are you a good writer? Can you make awesome motion controllers? What game type are YOU suited to make? If you're not sure starts mall. Idle games are great stepping stones. Same with simple action games like infinite runners and the potential to port such a game to a variety of platforms is endless.

    Your best shot at a successful project will be a combination of knowing your strengths, knowing your weaknesses, knowing how you can counter those with cheap assets from the unity store, or maybe some very selective custom assets to buy from a contract artist or two. Know the market, know what other people think is fun, and try to think of the "X factor". What trick up your sleeve will give you the advantage? What are you doing that's unique or kick ass? This will help you stay motivated for your project knowing you're doing something unique and badass.

    Also blaming not working for anyone else is a cop out. You need to have some level of accountability for not finishing a project. Growing as a developer and knowing you can progress better and grow even more if you start over because the foundation of your last project isn't up to your quality level now is a fantastic excuse to move on and start over.
     
    Kiwasi likes this.
  4. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Do a test run first.

    Do an entire project that is a bare bones stripped down version of what you want to do. The idea is not to spend time polishing anything, just figuring out what problems may exist that you couldn't possibly forsee just by sitting and thinking.

    So you go all the way from start to finish, not caring about the end result but just working out all the technical issues and also getting a better handle on the full process.

    Then, armed with the knowledge of all the things you didn't know that you needed to know, you can start your project for real with a lot more confidence.

    As to specifics, it is really dependent on how you like to work and what your project is. Maybe you need to get a strong visual idea first, so you spend some time making lots of sketches with photoshop and use a simple premade controller to get a character moving through graybox environments or something. Just to start developing the feels. Maybe your project depends on a very specialized controller that you know will require lots of iteration to get right, so you just want to get that taken care of first.

    It really just depends, and thats why doing a test run first is so valuable. In general, I think getting the core gameplay loop down and ensuring it is fun is something you would wan tto do before putting time into asset creation or polish. In other words, te majority of your work can be completed with gray boxes and code.

    procrastination, lack of focus.... you really need a strong goal that you believe in to overcome this type of stuff. Then, from that goal, you can develop a mantra. Some simple phrase you repeat like a pilgrim on a pilgrimage. Something to remind you of the big picture, so fleeting whims don't stray you off course.
     
    Last edited: Dec 18, 2018
    mvinc006 likes this.
  5. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    Some really gold replies there thanks all.

    I really like
    reply, it shows a basic model I can start from.

    For me I have so many ideas every day, so the genre is changing from (mostly) sandbox type AI controlled games, to open world sci fi space.

    I can be very clear and say that narrative or story is absolutely not a focus of mine and that MMOs are our for the time being.

    I’m all about the gameplay, and will put a little backstory in where needed but I certainly don’t focus on that or anything RPG style.

    From reading it really does sound like my game plans are just whiffs if inspiration with no real meat to it. I need to sit down and actually plan this stuff out, I need it to be important to me and have meaning so I don’t cop out, and I need to be more accountable for my time.

    I’ve identified also that I’m constantly learning new things and this sometimes will change my direction or view of the game or how i need to develop
    It. I really Need to stop doing this from interfering with me completing the game.

    I’m going to work really hard on these over the next year. Let’s see if I can get something worthy to show off in that time!

    Phew...I’m not as great as I thought I was but I’m certainly a lot better than I was, I’m determined to make it and I don’t care if anyone tells me to give up lol, because this is what I want to do.
     
  6. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    you will never make any of the ideas you have if you can't make just a single one first. Remember, the longest journey begins with a single step. If I was running one of these game development courses -- i'm not, my experience completing big projects is totally outside games and technology in general, but its all the same in principle -- but anyway, if I was, my method would be to have one of those big pool noodle floaty things and violently beat students working on game projects every time they even think about adding more than like 2 main features to the thing.

    But, I struggle with the same thing. I am sure most people here do. You have so many great ideas, you want to do them all. But you can only do them one at a time. And when the focus is still on learning, it will be stressful to try and make your dream idea only to realize it is very amateurish after you finish. So you got to kind of forget about the end result when it is training time. The final product is there just as a means to measure your growth by. But that's all it is. Your big, career defining work will come many years from now, but only if you keep producing endless crap up until then. So stay busy.
     
    Last edited: Dec 18, 2018
    angrypenguin and mvinc006 like this.
  7. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    Remind me never to insult you, your awesome. Thanks man, I can picture the noodle beatings
     
    BIGTIMEMASTER likes this.
  8. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    For legal purposes, the noodle beatings will be tucked away in those fine print things you got to sign before starting. So if you ever see me as an instructor somewhere, just make sure you read anything you are going to sign. :) And that's the first lesson -- pay attention to everything, or feel the pain!
     
  9. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,913
    I just make a vertical slice of the gameplay. It's like a demo of the final game. Game flow comes last for me - that is setting up my game states, etc.
     
    mvinc006 likes this.
  10. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    I like that approach, I’ll keep that in mind. One thing at a time eh
     
  11. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Hmmm... so what concepts are you proving, if they're not the ideas you envisioned?

    There's no one right way to start. That said, having some concrete design is good. What activities will the player do?What objects will the game have? How will they interact? What are the win/lose conditions? How is the game progressed? Once you know that stuff, then think about the how - the code you will write, classes, events and so on.
     
  12. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Give in.

    Accept that you enjoy tinkering and starting stuff more then you enjoy finishing stuff. So don't even bother trying to finish things.

    If you must have something finished, for example a commercial product, surround yourself with people who are good at finishing things.
     
    Socrates likes this.
  13. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    I can see understand where you are coming from when you say that, but I am rather disappointed to see you post this. It’s really not helpful to me to just give up when I am trying to improve and take steps to make a finished project and eventually a game.

    As always though I appreciate your input, I will not give up. Even if those I respect highly tell me to.

    Edit: your bottom paragraph is good advice however
     
    Last edited: Dec 19, 2018
  14. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    He's testing you!
     
    mvinc006 likes this.
  15. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    They say never meet you heroes. :p :p :p Also post count does not correlate with intelligence.

    But I'm honestly not trying to be facetious here. I was in the same position as you are a couple years back. Constantly working on projects that got half done before I lost motivation to finish them. Then beating myself up because I didn't finish anything. Then jumping into a new project with enthusiasm for a few months, and restarting the cycle.

    It was only relatively recently that I realized I enjoy enjoy the tinkering and the experimentation more than the finished result. For me, developing proof of concepts is the best part of game development. Once a concept is done, I move on to the next one. I have hundreds of different projects sitting on my PC. I doubt any of them will ever be finished.

    This advice might not work for you. That's fine. If you are determined to finish stuff, follow the advice of everyone else on the thread. There is some good stuff there.

    But before you plow ahead, consider if finishing stuff is actually your goal.
     
    angrypenguin and mvinc006 like this.
  16. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    An example is I was working on a 2D tilebased clone of dwarf fortress. I started working on the class that would be controlling communication between the player input, the UI and the grouping of entities that share the same tile location.

    Seems fine right? Wellll not so much, I’d never be happy with how I had it setup so I’d residgn it a few times.

    Then it came to do AI and pathing, which I did perfectly fine, but then I wasn’t happy with how it was causing FPS issues on repathing, so I kept working on that for a while then I guess I just burned out.

    In hindsight I didn’t really care too much about that project, however it is the one I’ve spent the most time on as well as financial resources fro the asset store purchases.
     
  17. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    Thanks for clarifying.

    I love tinkering, and that might be my favourite part as well! I also would love to see my vision come to life one day, there is that itch that can’t be scratched by any game I’ve played and I’m longing to filll that void.

    I don’t expect to complete every project, I do expect to complete at least something no matter how small, because I want that itch to be scratched! And that’s the path I’m on, I’m on a mission
     
    Kiwasi likes this.
  18. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    He may have used the words "give in", but really I think he's saying "change your perception". Your actions do not line up with what you say you want to achieve, so it's time to decide if what you think you want is really what you want.

    Making games is fun, but it's also a lot of work, and parts of it aren't fun. If you're doing it just for the fun parts then that's cool, be honest with yourself about that and don't hold yourself to other expectations. If you really want to finish stuff then pick a small project and finish it - the hard part isn't the how, it's the discipline.
     
    mvinc006 and Kiwasi like this.
  19. mvinc006

    mvinc006

    Joined:
    Jan 1, 2018
    Posts:
    91
    I am all in for improving my discipline, I agree that’s something I need to work on, and My actions need to start matching my goals.

    Had a hard reality check. This won’t come easy, and I’m ok with the good the bad and the ugly sides of game development, at least indie side of it. For now I have no grand plans to make any groundbreaking stuff.
     
  20. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,025
    I always implement something first, get some kind of representation of the gameplay happening on the screen. Class inheritance, code neatness and reusability, serialized private variables, and all that kind of stuff is not allowed anywhere near the project at this point. Many strange and messy scripts are created and destroyed in this time. More importantly, many bad ideas are thrown in the bin at this point, and interesting ideas are spawned.

    Once I have gotten the spirit of what I want out onto the computer, and I can play something that does something while I imagine the game I want to make, I will start to organize and refactor things.

    I tend to do the same thing with the artwork, as well.
     
    mvinc006 likes this.