Search Unity

From Paper to Code

Discussion in 'General Discussion' started by Big-B-JHE, May 28, 2021.

  1. Big-B-JHE

    Big-B-JHE

    Joined:
    Jan 25, 2019
    Posts:
    6
    Is it bad that I struggle to understand how to make the simplest games?

    I have written and designed 4 completed games yet I can't seem to grasp the basic understanding of how to make a game.

    I don't know if it's because I'm a one-man team or if the games are too complicated to build.

    How do you guys handle it?​
     
    scottymclue likes this.
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    10,780
    What you mean by completed? You mean on the paper?
    If so, that at best you have designed the concept.
    Probably is not even close to be a game design.

    Making game will require understanding of vast range of additional skills.
    Programming, art, marketting, game engine, math and physics, etc.

    Also scope of the project plays massive role, whether you would be able pull such projects by your own, or need a team.

    If you havent done simple game like pong, arcanoid etc yet, no documented specification will help you complete any of it, without solid understanding of game development process.
     
    Last edited: May 29, 2021
    scottymclue and EternalAmbiguity like this.
  3. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,573
    No, you'll eventually get used to it.
    I've learned programming many years ago, hence "how to write something" is a solved problem...
     
  4. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194


    The more you work on games and the more you analyse games the more complex you will find actual game mechanics are this complexity is the key to skill based games. From the bounce curvature of paddles to the recoil of guns.

    But what type of games are you making e.g. Genre and Style and maybe you could drop down to something simpler or more retro?
     
    scottymclue likes this.
  5. Rokkr_0

    Rokkr_0

    Joined:
    Jul 29, 2017
    Posts:
    15
    Not at all, developing a game is a very complex process. As Antypodish mentioned, it involves the use of many disciplines and learning more about these things will make the task easier to plan.

    Planning something out on paper is significantly easier than putting that plan into action. You might come up with an amazing game on paper, but building it could require whole teams of people and cost millions.
    The best advice is to keep the scope of your game small. That means keep the number of mechanics and features to a minimum. If you haven't completed any game projects at all, make something super simple that would take a player around 5 - 10 minutes to complete.

    Unity Learn has plenty of free tutorials to get you started if that's where you're at, John Lemon's Haunted Jaunt: 3D Beginner is a fun one to do. There's also plenty of free tutorials on YouTube, Brackeys has tons of videos of all levels. If paying for courses doesn't bother you, Ben Tristem's courses on Udemy are very good. I recommend starting with the Developer 2D and Developer 3D courses to get started, but there's a ton more his company has published that are all just as good. If you have money to burn, get them at full price, otherwise get them on one of their frequent sales.

    If you're into books, Players Making Decisions: Game Design Essentials and the Art of Understanding Your Players by Zack Hiwiller was pretty good. I learned a lot about game design and the development process from that book, it's worth reading.

    To answer your question more directly, especially if you're new to making digital games:

    * Put that masterpiece idea on the back burner. While it's not impossible for a single person to make a hit game, it's rare and generally done by those who've been in the industry for a while. There are exceptions, but but that's even more rare.

    * Keep your scope (project) small, the smaller the better.

    *Break your project down into smaller parts and turn each part into an achievable goal. A good gloal is something you can accomplish in a day or 2, like making something move on the screen. Then, getting that something to move by keyboard input.

    * Make your project smaller, it's still too large.

    * Make tons of crappy little games, each project will make you better.

    * Yup, make that scope even smaller, boil those ideas down into a single core mechanic and build around that.

    * Be patient with yourself and work on something every day, even if it's only 5-10 minutes.
     
    Socrates and Antypodish like this.
  6. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    there is so many tutorials that go step by step through making a whole game, i'd just crush as many of those as you can to get repetition. Even if you are only half way paying attention, sheer repetition will learn you good. You'll start to understand things intuitively, then it will be easier to start figuring things out in depth on your own.

    Everybody learns different, but everybody gets smart at a thing if they do it a lot. Don't worry about getting it all in one go. If it doesn't click today it will click next week when you've tried it again for the tenth time.

    one possible exception is that if you write script you kind of got to know math stuff. At least for me repetition doesn't make stuff like that come like magic. A dummy like me just memorizes common use cases but in order to come up with stuff on your own you got to have some ability to problem solve using math. But real geniuses let other people do that sort of thing. Save the fun for yourself and delegate the maths which will give you a brain hemorrhage. :)

    One thing tutorials almost never cover is understanding inheritance. For me at least the hardest things to understand is what is pointing where and who is talking to who. Most programmers seem to focus on the clever math equations when they are demonstrating and just assume you understand how and why different classes and functions are deriving and communicating with each other. But it seems to me that is the most important thing to understand. After all we are essentially telling the computer what data to store where. Know how to use some equation to get a distance and make a thing go from A to B is fine but if you don't know where to put that entire function or how to access you just cant do anything really.

    VIsual scripting has made a lot of this clear to me, which in turns makes it easier for me to read traiditional scripts and get a sense what is happening. There is a guy who does tutorials on udemy with last name Ulibarri who is the best instructor I've found yet. But he only does Unreal and C++. Still, I made serious attempts learning c# in unity but it was always vague to me and seemed too difficult. But following this guy and using blueprints has opened up lot of possibilities. Now I can look at a c# script and reverse engineer what is happening, and using blueprints in unreal I can create common mechanics without too much trouble.
     
    Last edited: Jun 1, 2021
    scottymclue likes this.
  7. scottymclue

    scottymclue

    Joined:
    May 13, 2021
    Posts:
    107
    If I may be so bold to leave a comment as an aging 'new comer' myself. I would posit that the first initial step is to reduce the number of variables. For example, if as an artist, you're initially taught to practice with simply black and white, studying tonal values and composition. In this way, if you can hone in on the very basics your journey will be significantly expedited. A wonderful tool such as unity's 'Playmaker' has helped expedite the process in some way for myself and my daughter, and a continual enforcement to limit said palette has helped in a way. Now if one has a proclivity for reduction rather than the superfluous, one should in theory arrive at their goals faster. Another take-away is we've been reading a lovely book called 'Atomic habits' by an author whom the name I can not remember, and they postulate an activity everyday no matter how small will build up this habit. In life, we are beset by the humongous task ahead of us, building a house from scratch is a big job, but once you start with laying the first brick, the second brick is much easier to lay.

    And soon enough, in-so-far-as you 'show up' everyday your house will be ready to inhabit. That is all, hope you have a lovely day!
     
    FernandoMK and angrypenguin like this.
  8. scottymclue

    scottymclue

    Joined:
    May 13, 2021
    Posts:
    107
    Yes we can successfully confirm this is a good comprehensive choice, but just a forewarning it isn't going to be fast, well at least nothing like learning in unity.

    Capture.JPG Capture2.JPG
     
  9. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    @scottymclue

    i think it's a case of slow is fast and fast is slow.

    I started with his blueprint course. That took me 5 days to complete and after that i was able to make pong and tic tac toe and a wave shooter on my own.

    I thought I would just stop with blueprints but i found him to be such a good teacher i figured i'd try his c++ courses as well. He has three - one introduces basic concepts of c++ outside of the game engine. That's what I am working on and although much of it already seems familiar, he is dropping some bombs that really clear things up for me.

    Once I finish this one I'll try out his newly released make a shooter game with c++.

    Looks like the beginner c++ will take me about a week to finish. The big shooter might go for several weeks.

    I am doing these like a full time job, but consider the amount of knowledge learned in just a few weeks, I'd say it is "fast." Of course all relative and in general I think people underestimate how much too learn with game dev.
     
    Ryiah and scottymclue like this.
  10. scottymclue

    scottymclue

    Joined:
    May 13, 2021
    Posts:
    107
    My daughter has been through it briefly (< 5mins), and it does look fully comprehensive, c++ is really quite a different beast. I suppose we were wondering before we sink too much time into that, whether or not to wait until 'ue5 verse' ships. I mean, it is quite the investment. We've just started with Playmaker, and haven't really tried any scripting in unity although she mentioned it would be very much a trivial affair.
     
  11. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    i dont know anything about the UE roadmap or verse. Learning blueprints is quick enough to feel more like fun than work so if you wanted to crash into unreal I think that is the most accessible way. From what I understand it is perfectly valid to make entire games only using blueprints - scripting is needed for performance and organization on larger scale projects. Just repeating the common wisdom I've gleaned but I don't see why a simple shooter or platformer or walking sim would have issues being made with blueprints.

    I do view learning c++ as an investment. To be honest I basically disregard what people say about difficulty and learning curve. That's not an issue, I have time. Other people have already done it. And we also have to consider the fact that many people are terribly, terribly lazy. :)
     
    scottymclue likes this.
  12. scottymclue

    scottymclue

    Joined:
    May 13, 2021
    Posts:
    107
    Yes that is true, I mean, this is all like Latin to me and thus I am more than comfortable pushing around a few cubes and adding playmaker here and there. My daughter, on the other hand, works as a data analyst for NASA and has pretty much been head hunted the majority of her working life. I have no doubt she could learn it (c++ unreal), simply as a hobby, nothing more would come of it, I'm sure.

    It is certainly interesting, I suppose the main area of conflict, is shiny new toys and distraction. The graphics certainly are fancy and quite unlike anything we had in my time, virtual reality was quite a surprise, and all this new age illumination? Is quite something else. I don't know. I guess it's there as an option. Hope you have a wonderful day and good luck with your prototypes!
     
    BIGTIMEMASTER likes this.
  13. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    Hear here! I wish experienced developers held onto this mindset more commonly.
     
    scottymclue likes this.
  14. scottymclue

    scottymclue

    Joined:
    May 13, 2021
    Posts:
    107
    Absolutely, I'm sensing you're part of the 'older generation' of game developers that frequent here, though I could be wrong, you may just be wise beyond your years :)

    So just to recap, there has been a real 180 degree turn, when it has come to mindset and priorities recently.

    In my younger days, this really was not much of an issue, I was mainly into manual labor, and boy was it hard, I feel I am suffering for it now.

    Today, the landscape has very much changed and everything is technology driven. My daughter consumes self help content, most of the time it's hyperbole, however one such gem she found, and in my opinion is worth sharing, was the ideas inside Jake Knapp's book 'Make Time'.

    The premise of the video, which I recommend of course, is we are way overworked, for no good reason.

    At every moment in the day you might have to respond to an 'infinity pool' of emails and distractions. Start your day early, and have one, and only one 'highlight' and be focused on this only. I guess this is what we're trying to do as we're beginning this game creation journey. Start small and stay small, don't get distracted.

    We never had such material in my time, maybe it wasn't needed so much. I was very much out and about, today however, the elderly are confined inside and left exploring the wonderful world wide web - which I do not think is necessarily a bad thing!

    A link to the video is below:



    And of course along with minimalism, and Marie Kondo's lifestyle paradigm shifts in her ubiquitous Netflix series, we as a species should be slowing down and appreciating those little things we take for granted and reducing the cookie clutter. Time, as they say, is the most precious commodity we have and when it's gone, it's gone for good.

    Take care and have fun :)
     
    angrypenguin likes this.
  15. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    In comparison to others who hang around the dev community for an off-the-shelf engine, quite possibly. I was getting into this stuff around the time that using an off-the-shelf engine had just started becoming normal. Using an off-the-shelf engine certainly wasn't a given, and was almost always seen as a compromise.

    This is a huge part of why the one-thing-at-a-time mindset for skills development resonates with me so much. In the context of my development time, unless something is going to help me ship a product I see it as a distraction. I don't care how shiny looking a new thing is, if it's not going to help me do the thing I'm doing then anything further than basic awareness is just taking time away from places it could be better spent.

    If you're still around, what do you mean by "designed 4 completed games"? Have you designed non-electronic games, or have other people made the games you've designed? Or do you mean you've designed them but not implemented them?

    I handle it by deciding what "objects" I need, making a scene which has them, and then attaching scripts with prototype code to make it behave roughly as intended. I'd then play it or get others to play it, and make changes to see if I can make it, well... good. :) If the player experience is decent before I give up, I then start thinking about an overall game design, and a software design to build it properly.

    But that's all irrelevant, because you're not me.

    You're thinking about how to build specific games. That's a great goal, but you can't start there. It's like picking up a guitar for the first time and immediately wanting to play current rock hits. You'll get there, but you've got to learn guitar fundamentals first. The exact same thing applies here.

    Head over to the Learn section and start with the courses there. Go through them in order and start building your foundational skills. Once you understand the fundamentals of your chosen tools then you can start applying them to build the specific things you want to make.
     
    scottymclue likes this.
  16. Big-B-JHE

    Big-B-JHE

    Joined:
    Jan 25, 2019
    Posts:
    6
    I have yet to implement them.