General Question

Thanks mate, your words are really inspiring. I’m trying to get over it but it’s much harder. I see experience game developers say follow tutorials and then try it out by yourself. I follow Ben in the course but when I’m all alone I completely lose it.

Sometimes I even get confused what Ben is doing. Like in the case of Argon Assault where you have to control the movement of your ship. It took me 10 days to understand what he is doing. And now I’m in the realm rush section where I’m getting confused on the path finding thingy.

Few days ago I was trying to play around with unity with a completely empty project which I’ve named simulator. I did implement some of the mechanics but not by my own rather following tutorials which I’m not that proud of. I wanna implement something all by my own. When I follow tutorials it feels like someone is holding your hand and you’re protected.

I see people in YouTube post “1 year of learning game development” and when show their journey, I really get amazed and feel like I’ve been doing game development and I haven’t made any progress and him posting on youtube ----“Man he must be extraordinary” this is how I feel.

I see Dani, blackthronprod, Jabriels all of them made progress within an year, then I question myself why, why, why, why can’t I do it.

But I won’t give up I will stick to it no matter what, whether it takes me my whole life.

1 Like

Yeah that´s a battleshout :smiley:

But yes, I know what you mean. I saw an video for making of a voxelworld and saw a tutorial about voxel worlds, both of them I understood, but when i want to combine them, i failed badly xD

And now? I´m in realm rush and understand the way of voxelworlds better, Really, i thought “Damned, why i would use an array to combine… Lists are a better way xD”

I think at the beginning we all get hard throw backs. I think, it´s like making a driving license. At Start you learn the basics, but the really good way to code in your live.

2 Likes

I am following the same course. I just started on the FPS. There have been moments where I have had to sleep on the lessons and start again in the morning.

Learning a new language also involves learning a new way to think and with a new set of tools. Give yourself time and keep practicing what you know.

Take all of the challenges in the course. I always try to work a little bit ahead of the video. Sometimes I have to undo my code because I anticipate the wrong direction; it’s all learning.

The most important thing is being able to identify your barriers. If you can do that, You can find lots of answers and discussions on the web.

Actual most important thing: Have Fun!

3 Likes

I do most of the challenges it was just yesterday where I failed to do the challenge of coloring individual blocks and then printing the neighbour’s coordinates. I was stuck for hours but then I had no other option but to see it.

I got again frustrated that this simple challenge I can’t do, “Shame on me”. I felt like I’ve done something wrong, really terribly wrong because the challenge wasn’t that hard when I saw the solution to that. I take each and every challenge in this course as a part of my learning, but when I can’t able to do it, I get overwhelmed.

I’ll try to do that.

This is where I mostly fail.

I think it’s not a good idea to compare yourself to others while learning. Everybody learns differently. If you can watch the other students and be inspired, that’s one thing. But if you’re just feeling discouraged by it, then I’d say don’t do it.

I also don’t feel the same sense of achievement when I’ve followed a tutorial, but I think that’s not the point. The point of a tutorial (especially a good tutorial, in my opinion) is to teach you a method or process of doing something, not just to replicate the result. If you do the latter, then you have the model/code/whatever, but you didn’t gain any reusable knowledge.

Which leads me to …

This year I started, when watching tutorials, trying to extract the core principles behind what the teacher was doing, and taking notes on it. Sometimes just writing something down can help you remember something, and even if it doesn’t, then you’ve got it written down in your notebook, which is easier to check than re-watching a video.


(an example of how I do my notes for a short turotial)

1 Like

Thanks mate, this is really encouraging.

Absolutely correct and writing down things make us better observer as well. Since during lectures we just can’t write and learn everything, So we should develop our own method for writing things that not only helps to grasp things but makes us a better learner. :relieved @Tyger2

1 Like

I get you, I hate those kind of videos that show progress, You know why? Because they don’t show the failures… I practice parkour and taekwondo, everytime I see one of those videos that show yearly progress is demoralizing because they make it look like it was easy, but in reality it wasn’t, they never talk about the sacrifices they make, all the training they had to do to get to that point. Everyone gets stuck and fails, all the time, the only difference is that they decided not give up, that’s the only real difference, and it’s hard, I know, I’ve been making games for the last 6 years and haven’t made a single penny out of it, I don’t even have a decent portfolio… But I’m still here, grinding.

A great way to learn is to replicate what you just did, forget about going forward in your course, let’s go back to Project Boost, simple question, Would you be able to replicate that game without looking at your previous code? If the answer is no, then try to replicate it, if the answer is yes then I’ll ask you, Would you be able to make the same game but also add a starting screen? What about adding a fuel mechanic? Two different ships for the player to select? I highly recommend you try to do that, you’ll get stuck and you’ll need to go back to the videos and look at the code and see how Ben or Rick did it, that’s perfectly fine, that’s how people learn, one day you won’t need to go back to those videos, that’s how things usually work.

Check this videos, they’ll probably help you:
https://www.youtube.com/watch?v=aklWUpJB1uQ - Ben Tristem’s Ted Talk on how people learn.
https://www.youtube.com/watch?v=NqLJw0jLPbs - Rick Davidson on where to start as an Indie Game Developer. This will probably help you to get started in your first solo project.

If you need help with your solo project come to this thread: Is anyone interested in coaching me?

In that thread a user called Coach_Butters and I decided to make a weird kind or support group where we give feedback to each other about our solo projects once a week and to ask each other things if we get stuck, so we are learning as we go, I’m inviting you to join us (Anyone can join us), to make your first own solo project, if you need help we’ll be there for you. We communicate via Discord.

3 Likes

I’m actually going to do that. I’ve that in mind. I’ll try to replicate each and every game once I’m done with the course.

I really need this type of community, I’d love to join in. Thanks mate for the link. This community is great, this is one of those communities where you will get a response no matter what. Never seen such a wonderful community before.

1 Like

Btw could you share a link for the discord server which you guys are in @Yee

1 Like

We aren’t using a server, we communicate via PM, I’ll send you my ID.

Okay

Look my friend. The journey won’t always be easy. In fact it can be very lonely, very painful and very dark.
We all don’t learn the same. We all are special in our own way. You are very doubtful of you abilities. You question what are you good at. You look back at all the years and ponder. You may even ask yourself what have I been doing this whole time. Is it all one big waste of time. It’s great to self-reflect but now you are causing worry and stress to consume you. This is not going to help you at all. In fact this is going to make it harder to learn.

My friend I want you to realize that this is your journey alone. The only person you are competing with is who you were yesterday. Sometimes you have to scream and shout because life is not easy. Sometimes other people were gifted with the ability to understand things differently but what you have that can never be taken away is the ability to work and preserve. Just because it will take longer does not make it any less meaningful. Don’t wish it was easier wish you were better. Never give up. If this is truly what you want to do, keep going like your life depends on it. Everyone had amazing advice. Try them out. Join our forum group where we try to help each other with our goals. Push yourself to try new ways of learning. Push yourself to keep learning the material because I promise one day it will click and all this effort will have meant something. All at once it will hit you like you won the lottery. Just one more. Remember you could be one tutorial away from finally understanding it. Don’t EVER give up.

1 Like

Really encouraging words. I won’t give because this is what I want to do. I will keep trying and trying and trying until it all gets into my head. I see Ben doing all the stuff and sometimes I have a feeling that how am I going to do all these complex stuff and really feel discouraged, only at that time I ask from the communities to help me feel like yes I can do it.

This career has a lot of stress on your mind and that’s the bad part. Consistency also take a big part here, which I’m a bit poor. Like I was working on a simulator with just some cubes and a character controller in the project and now I totally left it cuz I thought that maybe let me just go through the course and maybe I can get some help from there, and now I’m stuck at some of the concepts in realm rush trying to understand what this code do etc.

1 Like

Try to expand on it. Maybe grab a piece of paper and try to figure out what it is your are trying to do. Or maybe take a walk and talk it out. Find a way to conceptualize it in your mind.

Well right now I’m trying to draw a ray through the path. I know I have to use Debug.DrawRay but how do I do it I don’t know. I tried to follow the tooltip in visual studio but it doesn’t help. Rather than the enemy following the path I want a Ray to do it

1 Like

Do you have an example of your code?

When you say you rather have the ray do it then the enemy do you mean like a cursor?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Pathfinder : MonoBehaviour
{
    [SerializeField] WayPoint startWaypoint, endWaypoint;
    Vector2Int[] directions = {
        Vector2Int.up,
        Vector2Int.right,
        Vector2Int.down,
        Vector2Int.left
    };

    public List<WayPoint> path;

    Dictionary<Vector2Int, WayPoint> grid = new Dictionary<Vector2Int, WayPoint>();
    Queue<WayPoint> queue = new Queue<WayPoint>();

    bool isRunning = true;
    WayPoint searchCenter; //keep track of the current search center.

    // Start is called before the first frame update
    void Start()// todo maybe this happens when we ask for the path?
    {
        Debug.DrawRay(startWaypoint.transform.position, endWaypoint.transform.position, Color.black, 20f);
        LoadBlocks();
        ColorStartAndEnd();
        BreadthFirstSearch();
        CreatePath();
    }

    private void CreatePath()
    {
        path.Add(endWaypoint);
        WayPoint previous = endWaypoint.exploredFrom;
        while (previous != startWaypoint)
        {
            path.Add(previous);//adds the previous waypoint just before endwaypoint. 
            previous = previous.exploredFrom;//go backwards through all the strings.
        }
        path.Add(startWaypoint);//adds the start waypoint.
        path.Reverse();//Reversing the list 
    }

    public void BreadthFirstSearch()
    {
        queue.Enqueue(startWaypoint);
        while(queue.Count > 0 && isRunning)
        {
            searchCenter = queue.Dequeue();
            HaltIfEndFound();
            ExploreNeighbours();
            searchCenter.isExplored = true;
        }
    }

    private void HaltIfEndFound()
    {
        if(searchCenter == endWaypoint)
        {
            isRunning = false;
        }
    }

    private void ExploreNeighbours()
    {
        if(!isRunning) { return; }

        foreach(Vector2Int direction in directions)
        {
            Vector2Int explorationCoordinates = searchCenter.GetGridPos() + direction;
            try
            {
                QueueNewNeighbours(explorationCoordinates);
            }
            catch
            {
                //do nothing
            }
        }
    }

    private void QueueNewNeighbours(Vector2Int explorationCoordinates)
    {
        WayPoint neighbour = grid[explorationCoordinates];
        if(neighbour.isExplored || queue.Contains(neighbour))
        {
            //do nothing
        }
        else
        {
            queue.Enqueue(neighbour);
            neighbour.exploredFrom = searchCenter;
        }
    }

    public void ColorStartAndEnd()
    {
        startWaypoint.SetTopColor(Color.green);
        endWaypoint.SetTopColor(Color.red);
    }

    private void LoadBlocks()
    {
        var waypoints = FindObjectsOfType<WayPoint>();

        foreach(WayPoint waypoint in waypoints)
        {
            var gridPos = waypoint.GetGridPos();
            if (grid.ContainsKey(gridPos))
            {
                Debug.LogWarning("Skipping Overlapping Block " + waypoint);
            }
            else
            {
                grid.Add(gridPos, waypoint); 
            }
        }
    }
}

I did it but the ray is not going towards the end block why is that?


But I didn’t achieve what I wanted. I think it would be complicated

Here I’m just drawing a ray but it won’t reach to the endWaypoint

Privacy & Terms