Search Unity

ACTUAL Puzzle Game Tutorials

Discussion in 'Scripting' started by JacksonTheXtremeGamer, Jun 30, 2019.

  1. JacksonTheXtremeGamer

    JacksonTheXtremeGamer

    Joined:
    Jun 15, 2019
    Posts:
    108
    Now for one thing when it comes to tutorials, we all make amazing games by with said tutorials. But what about tutorials that haven’t been made yet? People want to make color matching games like Puyo Puyo or Columns. Not games like Candy Crush. It’s time that gets fixed. If anybody is willing to make tutorials based on Puyo Puyo or Columns, please do. Because it’s really easy to let a first-timer get lost in this said endless maze, and it’s because they don’t know how to adapt. Which can lead to a new quitting point in game development; provided with no information whatsoever. If someone can fix this, please do.
     
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,162
    There's no real effective difference in the background functionality. It's still about adjacency checks.
     
    SparrowGS and Ony like this.
  3. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    Exactly. They are all pretty much exactly same functionally. If you can make learn to make candy crush, you can easily make those other variations.

    Tutorials are there to teach you the concepts behind things. They are not a paint by numbers. Pay attention to what they are teaching you, if you do, doing variations are simple.

    Not really. You learn from tutorials, and once you get past a certain point, you don't use them. (except maybe for new features, etc) . There aren't "amazing games" out there done from tutorials. The games made from tutorials, are crappy games at the bottom of the barrel on steam and mobile stores.
     
  4. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    This. Tutorials are basically the same idea as training wheels on a bicycle. Once you've learned how to balance and move you remove the training wheels. With game development once you've learned the basics (how to create an object, move it, etc) you stop using tutorials and start using the basic concepts you've learned.
     
  5. JacksonTheXtremeGamer

    JacksonTheXtremeGamer

    Joined:
    Jun 15, 2019
    Posts:
    108
    I get it. But at the least, the reason why I’m asking this is that there is nothing of the sort. When I said making awesome games with said tutorials, it’s more like using them as a stepping stone for something bigger. Why would I stop at a tutorial level creation? Besides, I’ve been trying to make a columns style game, which I have posted on Twitter and Instagram. But I haven’t got the match mechanic down pat whatsoever. I’ve been looking online for the sort, hoping to find something of the sort, but the only feedback I get is videos of making jigsaw puzzles and such. Which is really frustrating. And I kinda failed to mention at answers that the units I use are Sprite based, not one shape that has colored prefabs.
     
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,162
    The units used don't matter. You're just checking adjacent entries in an array. You can do that with any sort of presentation.
     
  7. JacksonTheXtremeGamer

    JacksonTheXtremeGamer

    Joined:
    Jun 15, 2019
    Posts:
    108
    And it's done by using the same match making code used in any match 3?
    What about this code then?
    Code (CSharp):
    1.     public static bool WhatToDelete(){
    2.  
    3.         List<Transform> groupToDelete = new List<Transform>();
    4.  
    5.  
    6.  
    7.         for(int row = 0; row < 12; row++){
    8.  
    9.             for(int col = 0; col < 6; col++ ){
    10.  
    11.                 List<Transform> currentGroup = new List<Transform>();
    12.  
    13.  
    14.  
    15.                 if(gameBoard[col, row] != null){
    16.  
    17.                     Transform current = gameBoard[col, row];
    18.  
    19.                     if(groupToDelete.IndexOf(current) == -1){
    20.  
    21.                         AddNeighbors(current, currentGroup);
    22.  
    23.                     }
    24.  
    25.                 }
    26.  
    27.  
    28.  
    29.                 if(currentGroup.Count >= 4){
    30.  
    31.                     foreach(Transform puyo in currentGroup){
    32.  
    33.                         groupToDelete.Add(puyo);
    34.  
    35.                     }
    36.  
    37.                 }
    38.  
    39.             }
    40.  
    41.         }
    42.  
    43.        
    44.  
    45.         if(groupToDelete.Count != 0){
    46.  
    47.             DeleteUnits(groupToDelete);
    48.  
    49.             return true;
    50.  
    51.         } else {
    52.  
    53.             return false;
    54.  
    55.         }
    56.  
    57.     }
    And this.
    Code (CSharp):
    1.  
    2.     static void AddNeighbors(Transform currentUnit, List<Transform> currentGroup ){
    3.  
    4.         Vector3[] directions = { Vector3.up, Vector3.down, Vector3.right, Vector3.left };
    5.  
    6.         if(currentGroup.IndexOf(currentUnit) == -1){
    7.  
    8.             currentGroup.Add(currentUnit);
    9.  
    10.         } else {
    11.  
    12.             return;
    13.  
    14.         }
    15.  
    16.  
    17.  
    18.         foreach(Vector3 direction in directions){
    19.  
    20.             int nextX = (int)(Mathf.Round(currentUnit.position.x) + Mathf.Round(direction.x));
    21.  
    22.             int nextY = (int)(Mathf.Round(currentUnit.position.y) + Mathf.Round(direction.y));
    23.  
    24.  
    25.  
    26.             if(!IsEmpty(nextX, nextY) && ColorMatches(nextX, nextY, currentUnit)){
    27.  
    28.                 Transform nextUnit = gameBoard[nextX, nextY];
    29.  
    30.                 AddNeighbors(nextUnit, currentGroup);
    31.  
    32.             }
    33.  
    34.         }
    35.  
    36.     }
    Does this work?
     
  8. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    Forget about making the dream game right now. Do every tutorial you can find, then after each do your own variation. This gives you a good mix of instruction, then problem-solving/trouble shooting.You'll catch up to the pro's quickest this way because you have the benefit of learning from them, while they had to figure out so much more from scratch. Climb up on the giants shoulders, as Newton said.

    Two things you need to maximize to learn well: repetition and exposure. Exposure means learning from as many different people as you can. Repetition means doing every new thing you learn over and over. Way more than your patience allows. Got to extend the patience, slow down, and focus on learning thoroughly instead of trying to create something awesome fast (nobody has ever done that, ever).
     
  9. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    9,052
    Does it? Did you try it? If you didn't, then do it.
     
  10. calpolican

    calpolican

    Joined:
    Feb 2, 2015
    Posts:
    425
    Tutorials are examples, the goal is to inspire your own original games.
    After a few tutorials, you're pretty much set to do anything that comes to mind.
    Instead it would seem that tutorials are currently limiting your creativity. I hope this doesn't come as offensive, as is not really, but it would almost sound like you're just wanting to copy paste a code to make a buck.
     
    Last edited: Jun 30, 2019
  11. JacksonTheXtremeGamer

    JacksonTheXtremeGamer

    Joined:
    Jun 15, 2019
    Posts:
    108
    You're right... At the very least, I quit my old job weeks ago to do this stuff. And yet there were times to where I forget that I keep biting off more than I can chew, and try to find solutions the easy way. I keep forgetting this is not me. And truth be told, I only wanted help. And I panicked when my savings account went donk, and put things in the negatives. My only hope to fix this was to make the game and post it to itch.io. And yet again, I keep biting off more than I can chew. So to show you what I'm working on, here's the link to a post that I did; https://twitter.com/JacboyX/status/1143324085293895685?s=20
    At this point I'm using prefabs of 15 different combinations for reference. And the grid programming is based off a tutorial. The rest... I just can't seem to wing it. Except for the menus and such. Those are a lot easier to make than the game itself.
     
  12. ClaudiaTheDev

    ClaudiaTheDev

    Joined:
    Jan 28, 2018
    Posts:
    331
    If you can spend some money. Actually there are also template assets which you can use to learn and as an example with ready working code. So you can first changes existing things like graphics or adapt the code so that the game works like you want.
    Here are some examples:
    Free:
    https://assetstore.unity.com/packages/templates/packs/match-3-starter-project-14878
    Paid:
    https://assetstore.unity.com/packages/templates/packs/mk-forest-match-3-game-asset-103012
    https://assetstore.unity.com/packages/templates/systems/match-3-jelly-garden-43260
    https://assetstore.unity.com/packages/templates/systems/puzzle-match-kit-100199

    And you can find more in the asset store.
     
    Ryiah likes this.
  13. Doug_B

    Doug_B

    Joined:
    Jun 4, 2017
    Posts:
    1,596
    As a word to the wise, be careful about relying solely on income from your games to support yourself.

    Consider first having a steady job that guarantees you an income. Start by writing some games as a sideline to see what revenues they provide. You will then be in a better position to judge when you could switch from a steady job over to game writing.
     
    Munchy2007 likes this.