Megabyteex https://wildcockatielgames.com/ Megabyteex Is an Indie Game Studio from Toronto Mon, 24 Dec 2018 22:08:06 +0000 en-CA hourly 1 https://wordpress.org/?v=6.7.2 https://wildcockatielgames.com/wp-content/uploads/2025/03/cropped-WCG_Favicon-32x32.jpg Megabyteex https://wildcockatielgames.com/ 32 32 New Game in Development – Zombie Barrel Blast https://wildcockatielgames.com/new-game-development-zombie-barrel-blast/ https://wildcockatielgames.com/new-game-development-zombie-barrel-blast/#respond Fri, 21 Dec 2018 14:31:55 +0000 https://wildcockatielgames.com/?p=453 I've been working on a new game for the past few weeks, currently called Zombie Barrel Blast. It originally started as a little physics test after watching some Donkey Kong Country videos on YouTube, to see how much of it I could recreate. I started adding barrels, and making physics effects with them and before [...]

The post New Game in Development – Zombie Barrel Blast appeared first on Megabyteex.

]]>

Zombie Barrel BlastI’ve been working on a new game for the past few weeks, currently called Zombie Barrel Blast. It originally started as a little physics test after watching some Donkey Kong Country videos on YouTube, to see how much of it I could recreate. I started adding barrels, and making physics effects with them and before I knew it, I was having so much fun blasting myself from one barrel to the next I decided to make an entire game out of it!

With that, the development for Zombie Barrel Blast was born.

The concept is simple. There are barrels and you have to blast your zombie forward from one to the next, without dying. Just like the barrel mini-games in the DKC series. There are plenty of obstacles along the way – so beware! You’ll have to think strategically to land your shots without falling off a cliff.

The game should also contain two main modes of play. The first will be your standard infinite scroller experience, with increasing difficulty the further into the level you get. This mode will also have Google Play leaderboards so you can compete against other players to see how far you can get.

The second mode will be a series of levels, offering unique challenges, where you can try to earn three stars for each one. Each level will have a different goal so you’ll have to constantly adapt how you play in order to succeed.

Anyway, that’s what I have going on for now. Stay tuned for further updates. Let me know if you have any questions or thoughts in the comments!

If you would like to check it out, visit this page to learn more about Zombie Barrel Blast.

Tell Me When it's Ready!

The post New Game in Development – Zombie Barrel Blast appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/new-game-development-zombie-barrel-blast/feed/ 0
How to Move Game Pieces via Player Input https://wildcockatielgames.com/how-to-move-game-pieces-via-player-input/ https://wildcockatielgames.com/how-to-move-game-pieces-via-player-input/#respond Sun, 23 Jul 2017 17:58:32 +0000 https://wildcockatielgames.com/?p=389 In the previous post we made our Tetris clone pieces fall on their own. Now, we want to allow our player to tell the pieces when they are going to move left and right. In addition, they should also not be able to move the pieces left or right, outside of the play [...]

The post How to Move Game Pieces via Player Input appeared first on Megabyteex.

]]>

In the previous post we made our Tetris clone pieces fall on their own. Now, we want to allow our player to tell the pieces when they are going to move left and right. In addition, they should also not be able to move the pieces left or right, outside of the play space. How can we move game pieces via player input?

The first thing you should do is familiarize yourself with the commands that will be necessary to actually register player input. There are three similar commands to accomplish this. These are:

  • Input.GetKeyDown()
  • Input.GetKey()
  • Input.GetKeyUp()

How are these different? Input.GetKeyDown() will recognize the first time a key is pressed, and then you will have to press the key again each time you want to call it. Input.GetKey() will allow you to hold a key down and have it register multiple times. Input.GetKeyUp will, as you may have guessed, recognize when a key is released.

We will be using Input.GetKeyDown().

Within the Update() method, you will need to write an “if” statement to register key input. One if statement will be used for moving the piece left, and the other for moving it right.

Within the “if” statement, you can use the double vertical lines to signify “or.”

Restricting to the Play Space

While the above code will make your pieces move left and right, they will be able to continuously do so, into infinity. Obviously, we don’t want them to move more than 10 blocks to the right.

Also, consider that different pieces are going to have different widths. Each piece can be anywhere from one to four blocks wide, which means that it would be helpful to always know where their left and right sides are. That way, we don’t move the pieces outside of the play size, either by their left or right.

Fortunately, there is a relatively simple way to do this.

The first step is to go to your game piece and add a new component, one called a Box Collider 2D.

Moving Game Pieces via Player Input

Once this has been added, we can access it to do some calculations, which will help us find the edge of the piece. The Box Collider 2D contains information on the center of the object it’s attached to, as well as it’s size. We can access this information by creating a new float variable and storing the data within the float. To do this, we type:

float pieceCenter = GetComponent ().bounds.center.x;
float pieceHalfSize = GetComponent ().size.x / 2;

pieceCenter now knows the center position of the game piece. pieceHalfSize is half the width of the game piece. Now, to find out the left and right edges, all we have to do is add or subtract the two, and store the results in new float variables.

float pieceRightX = pieceCenter + pieceHalfSize;
float pieceLeftX = pieceCenter – pieceHalfSize;

Of course, since we’ve been dealing in integers this whole time, it would be a lot more helpful if we guaranteed our game piece’s left and right sides rounded down to the nearest integer. We can ensure this happens by instead, typing the following code:

float pieceRightX = Mathf.Floor(pieceCenter + pieceHalfSize);
float pieceLeftX = Mathf.Floor (pieceCenter – pieceHalfSize);

Now, if you put your pieceRightX and pieceLeftX variables into a print statement and run the game, you should see that you get the left and right edges, in nice, clear whole numbers.

Finally, we can contain our Input if statements into one more if statement, ensuring they do not move outside of the game’s play space.

This is how to move game pieces via player input, and contain them to the game space at the same time.

If you have any questions, please leave a comment. Also, don’t forget to watch the video at the top of the post for extra clarification.

The post How to Move Game Pieces via Player Input appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/how-to-move-game-pieces-via-player-input/feed/ 0
How to Move Game Pieces Through Code https://wildcockatielgames.com/how-to-move-game-pieces-through-code/ https://wildcockatielgames.com/how-to-move-game-pieces-through-code/#respond Fri, 21 Jul 2017 03:36:52 +0000 https://wildcockatielgames.com/?p=373 So far we have created an awesome looking user interface (UI) for our Tetris clone, so now it's time to take the plunge and write our very first script. To do this, we are going to be creating a C# script and then writing code using Monodevelop. However, if you prefer, you can [...]

The post How to Move Game Pieces Through Code appeared first on Megabyteex.

]]>

So far we have created an awesome looking user interface (UI) for our Tetris clone, so now it’s time to take the plunge and write our very first script. To do this, we are going to be creating a C# script and then writing code using Monodevelop. However, if you prefer, you can also use Microsoft Visual Basic to achieve the same purpose.

If you have never coded before, don’t worry, everything will be explained along the way.

Before we actually start coding however, let’s think about what our goals are for how to move game pieces through code. For this type of game, there are six immediate ones which come to mind.

Movement Goals:

  1. Pieces should fall at a constant speed, which increases as levels get higher.
  2. The player can move the piece left and right within the confines of the game.
  3. The piece will stop when it hits the bottom or another piece.
  4. The player can rotate the pieces clockwise and counter-clockwise in 90 degree increments.
  5. There will be a small grace period when a piece lands where the player can still rotate it.
  6. Pieces will never leave the confines of the game space.

This sounds a lot like a real Tetris game. Now let’s get into our bit of how to move game pieces through code. The very first thing you need to do is create a new C# script and attach it to your Tetris game object. Once you have done that,  take a look at the screenshot of a new script below and become familiar with what these parts are.

New Script

  • The “using” statements at the top give us access to certain bits of code. Don’t worry about these for now.
  • “Public class GamePiece” is essentially the name and description of our script. Think of it like the “My Documents” folder on your computer.
  • MonoBehaviour gives us access to a lot of code. Don’t worry about this for now, just accept that you need it there.
  • These squiggly brackets {} are like the file folders on a computer, but in this case they contain code.
  • The grey text with // behind it are comments. We can use this to write comments in plain English and help us remember why certain things are there.
  • void Start() and void Update() are methods. These are where we write our code. Whatever is written within Start() gets called when your scene loads and whatever is within Update() gets called every frame while the script is active within our game scene.
How to Move Game Pieces Through Code

Now that you know what these things are, let’s talk about how to actually write our first bit of code. We are going to write a method called MakeBlockFall() and within it change the transform.position of the game object our script is attached to. As long as you correctly attached your C# script to a Tetris piece in the game scene, this should work.

The code we want to write looks like this:

transform.position -= new Vector3 (0, 1, 0);

transform.position contains the x, y and z coordinate of our piece. We write -= to subtract the value on the right side from the value on the left. Because we are dealing with 3 coordinates (x, y, z) we need to create and subtract a new Vector3() variable which also contains 3 coordinates. As we want to make our pieces move downwards vertically, this means we leave the x and z alone, and subtract 1 from the Y.

Next, we need to call our MakeBlockFall() method from the Start() method. To do this, we simply write the name of the method with the () at the end, followed by a semicolon.

By now, your code should look like this:

TetrisPiece 2

InvokeRepeating()

Go to Unity and press the play button to test your game out. When the game starts, your piece should go down by one world unit. It will happen instantly so you won’t see it, but trust that it has. Of course, we need it to move down more than one world unit. We need it to fall at a constant pace.

To achieve this, we will use InvokeRepeating(). This will allow us to call a method over and over for as long as we want. First, we will declare a new float variable that will be our fallSpeed. This is how often InvokeRepeating will get called in seconds. To do this, write at the top of your script, just underneath “public class GamePiece”:

public float fallSpeed = 1f;

  • public determines what access level our variable has. The other option is to write private. By setting it to public we can change it from within the Unity inspector, without even entering Monodevelop.
  • float is the type of variable we are assigning. Float variables use decimal places.
  • fallSpeed is the name of variable. We can name this anything we want, but notice that the second word begins with an uppercase letter and the first word doesn’t.
  • = 1f; is the default value we are assigning it.

Now, instead of writing MakePieceFall() in the Start() method, we will write the following:

InvokeRepeating (“MakeBlockFall”, 0f, fallSpeed);

This will allow us to call MakeBlockFall() every 1 second. Of course, we want the piece to stop when it gets to the bottom so under update we will write an if statement:

if (transform.position.y == 0) {
     CancelInvoke (“MakeBlockFall”);
}

Your code should now look like this:

TetrisPiece 3

Try it out and you should have a Tetris piece that falls and stops when it gets to the bottom of the level! This is how to move game pieces through code… or at least it’s the first step.

Continue

The post How to Move Game Pieces Through Code appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/how-to-move-game-pieces-through-code/feed/ 0
How to Create a Tetris Grid https://wildcockatielgames.com/how-to-create-a-tetris-grid/ https://wildcockatielgames.com/how-to-create-a-tetris-grid/#respond Tue, 18 Jul 2017 00:15:27 +0000 https://wildcockatielgames.com/?p=337 In the previous blog post we introduced our free Tetris clone and talked about how to find and import game assets. I also created a free enhanced Tetris starter pack that gives you most of the game assets you will need to get your game started. In this blog post and video, you [...]

The post How to Create a Tetris Grid appeared first on Megabyteex.

]]>

In the previous blog post we introduced our free Tetris clone and talked about how to find and import game assets. I also created a free enhanced Tetris starter pack that gives you most of the game assets you will need to get your game started.

In this blog post and video, you are going to learn how to create a Tetris grid that will allow you to easily and seamlessly place and move your Tetris pieces.

In this entry, we are going to take the first steps towards creating our Tetris clone, which means creating a game grid. Ultimately, we want to create something that looks like this:

How to Create a Tetris Grid

 

The idea here is that we have a 10 x 22 Tetris grid. The Tetris pieces will have a pivot point in the bottom left corner. That means we want to get our game to a point where if we set both the X and Y coordinates of any given Tetris piece, they will appear in the bottom-left corner of the grid. Setting it to 9 and 21 would put the bottom-left corner in the upper-right most square. Remember, Unity starts counting at 0. So this means a 10 x 22 grid will be counted as 0-9 and 0-21.

Also, for this game we will be using a 1440 x 2560 game size, which is the same screen size as the Samsung Galaxy S7

Resizing Game Pieces

The first step is to make sure our Tetris pieces are exactly 1 Unity world unit in both width and height. If you’re using the pack I provided, you’ll find that they import at a size that’s too small. In order to fix this, you will have to set their pixels per unit to 43.

Tetris Pieces 1

Next, you will want to make sure the Tetris pieces are set to “multiple” and that you have sliced them with an automatic setting and changed their pivot point to “bottom-left.” This can be done by clicking the “Sprite Editor” button on the Tetris pieces inspector view.

Tetris Pieces 2

Once this has been done, test that it’s working by dragging and dropping one of the Tetris pieces into the game scene and changing it’s X and Y position a rounded whole number. If the piece matches up to the Unity grid, it’s working properly. Now we can create a visual grid that will allow us to actually see how our pieces line-up.

Creating a Tetris Grid

Now that the Tetris pieces are in place, it’s time to create a grid system. The goal here is to create a grid that perfectly matches one Unity world unit for each grid block, in both length and height. In order to do this, we need to create a raw image. You can do this by clicking “GameObject” in the top window and then adding it from under UI –> Raw Image. Make sure you don’t choose just “image” or else this won’t work.

Once you have a raw image added to the scene, rename it “Grid” and attach one of the grid pieces from my enhanced starter pack. If you are unable to drag and drop the grid object onto the Raw Image, make sure you have changed the grid’s texture type to “Default” first. While you’re at it, make sure its wrap mode is set to “Repeat.” See the screenshot below for a visual.

Grid 2

Now… it’s time to get a bit mathematical.

If you think about the way an actual Tetris game is laid out, you will realize there is room on either side of the screen for UI elements. Because of this, we want our game’s play space to be roughly 70% of the actual screen size. That means we want our Tetris grid’s end result by the end of this article to look something like this:

Tetris Grid 3

In the above screenshot, you can see that the Tetris grid takes up 70% of the screen, leaving plenty of room on all sides for UI elements. How do we achieve this mathematically?

If you recall, our game’s screen size is set for 1440 x 2560 pixels. If we multiply these numbers by 70% (0.7) we get 1008 x 1792. This is what we will set our grid’s Rect Transform to be. We also want it’s Pos X, Pos Y and Pos Z to be set as 0. We will also set the UV Rect settings to W: 10 and H: 22, ensuring the grid sprite’s wrap mode is set to “Repeat.” The inspector for the grid should look like this:

Grid 4

Next, we will set the grid’s Canvas to be a “World Space” canvas, which allows us to manually manipulate it’s size.  However, with a default scale of 1, the canvas is HUGE. We will need to use a multiplier to scale it’s width and height appropriately. We can get this multiplier by dividing the number of Unity world unit’s desired (10 x 22) by the grid’s size (1008 x 1792). In other words, to get our multiplier, we do the following:

10 / 1008 = 0.00992
22 / 1792 = 0.012276

If we set those decimal numbers to the canvas’s X and Y scale, we should get a canvas with the appropriate size for our game.

Canvas 1

Now, all you have to do is is move the canvas over so the bottom-left grid quadrant lines up with (0, 0). To achieve this, simply change the X position of the canvas to “5” and the Y to “11.” If you’ve followed all the other steps correctly, you should wind up with a grid that looks like the one at the start of this post! Also, just increase the size of the camera and change it’s transform to 5 and 11 as well.

Questions? Don’t forget to watch the accompanying video at the top of this post. But feel free to leave a comment below.

Continue

The post How to Create a Tetris Grid appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/how-to-create-a-tetris-grid/feed/ 0
Learn to Code by Creating a Free Tetris Clone https://wildcockatielgames.com/learn-to-code-by-creating-a-free-tetris-clone/ https://wildcockatielgames.com/learn-to-code-by-creating-a-free-tetris-clone/#respond Fri, 14 Jul 2017 22:44:14 +0000 https://wildcockatielgames.com/?p=312 In this series of blog posts and videos we are going to be moving step-by-step, helping you learn to code by creating a free Tetris clone. This will be a working version of the popular game that has been around for generations. Throughout these videos you will learn to code by designing this [...]

The post Learn to Code by Creating a Free Tetris Clone appeared first on Megabyteex.

]]>

In this series of blog posts and videos we are going to be moving step-by-step, helping you learn to code by creating a free Tetris clone. This will be a working version of the popular game that has been around for generations.

Throughout these videos you will learn to code by designing this game from scratch using Unity as the game engine, and C# as the coding language.  In detail, here is what will be covered:

  • You will create a Tetris clone that will be playable on the web or on smartphones.
  • The game will have controls that are optimized for each platform.
  • This will be a beginner – intermediate level. Can follow as a beginner if you are devoted.

This means that while the course will be easier to follow if you are not completely new to programming, it will be designed in a way that will allow you to follow along even if you are brand new. Although in this case, you may not quite understand everything at first. That’s okay! You can always go over the videos more than once and rewatch them again in the future after you gain more experience.

 

Learn to Code By Making a Tetris Clone

To get started, you will need a few things.

  1. You will need to download and install Unity (free)
  2. You will need to get the required game assets

Download Game Assets

I have provided a basic starter pack and an enhanced starter pack. The basic pack contains generic Tetris pieces and a simple grid texture. You can download this for free, below, with no strings attached.

The enhanced starter pack contains everything in the basic pack, plus more 3D looking Tetris icons, plus a full GUI (graphical user interface), on-screen sprites for controls, button sprites, royalty free fonts, plus a few sound effects. I have also included the .psd Photoshop files so you can edit the Tetris sprites yourself. This is also free to download, but to get access to the file you will need to sign-up for my mailing list.

Either way, you can find all the assets you need online on websites like dafont.com, opengameart.org and freesound.org. Or you can design them yourself.

Get the Basic Starter Pack

Contains basic Tetris pieces and a grid.

Download

Click here to download.

Get the Enhanced Starter Pack

Contains the basic starter pack, plus 3D pieces, a full GUI, sound effects, editable .psd files and more.

Download

Click here to sign up. Once your email address is confirmed, you will be given access to the enhanced pack.

Continue

The post Learn to Code by Creating a Free Tetris Clone appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/learn-to-code-by-creating-a-free-tetris-clone/feed/ 0
How to Fix Parsing Errors and Unexpected Symbol Errors https://wildcockatielgames.com/fix-parsing-errors/ https://wildcockatielgames.com/fix-parsing-errors/#respond Thu, 22 Jun 2017 16:18:29 +0000 https://wildcockatielgames.com/?p=282 Particularly if you're new to programming, you'll probably see a lot of parsing errors and unexpected symbol errors. Fortunately, while irritating to see, they are among some of the easiest programming errors to solve. Here is how to fix parsing errors and unexpected symbol errors in Unity, C#, and pretty much all other forms [...]

The post How to Fix Parsing Errors and Unexpected Symbol Errors appeared first on Megabyteex.

]]>
Fix Parsing Errors and Unexpected Symbol Errors

Particularly if you’re new to programming, you’ll probably see a lot of parsing errors and unexpected symbol errors. Fortunately, while irritating to see, they are among some of the easiest programming errors to solve. Here is how to fix parsing errors and unexpected symbol errors in Unity, C#, and pretty much all other forms of programming.

What are Parsing and Unexpected Symbol Errors?

In layman’s terms, parsing errors and unexpected symbol errors mean you have either added or omitted extra syntax. Usually, it can be traced to one of three things:

  1.  You have added or removed an extra semicolon – ;
  2. You have added or removed an extra parenthesis – ()
  3. You have added or removed an extra squiggly parenthesis {}

There are other reasons why this particular error may occur, such as incorrectly using operations like greater than, less than, or adding or subtracting variable values. However, it’s more likely the source of your error can be traced to one of the above reasons.

Having just one too many or few of any of these can throw your entire script out of whack. Like Goldilocks and the Three Bears, it has to be juuuuuuuuuuuuust right.

So how can you quickly catch and detect these errors?

error message

A console error message in Unity

How Can You Fix Them?

The easiest way to fix a parsing error or unexpected symbol error is simply to double-click on the error message as it appears in the console. This will take you directly to the portion of the code giving you a problem.

For instance, if I were to double-click on the error message from the above screenshot, it would take me to line 27 in Monodevelop, which has “DontDestroyOnLoad” highlighted with a red squiggly line.

Missing Semicolon

The error in Monodevelop

There is nothing wrong with this line of code, however, if you look directly above, you will see there is no semicolon after instance = this. Once a semicolon is added, the problem is solved!

Alternatively…

Another very simple way of detecting and fixing a parsing error or unexpected symbol error is to press CTRL+F while in Monodevelop, and search for missing syntax. This can be particularly helpful if you have multiple errors or are dealing with a larger script.

Take a look at the sample code I’ve pasted below. As a challenge, use CTRL+F to see if you can detect the errors within. As a hint, I’ve created two errors. In one instance, I’ve added something extra, and in another, I’ve omitted something. See if you can figure out what’s wrong.

Did you figure it out?

If not – here’s the answer. On line 23 there is an extra ) bracket after if (instance != null));

The second error is a bit trickier to spot, but there is no closing squiggly bracket } for the if statement on line 40.

Using CTRL+F and checking individually to see if there are an equal number of brackets, these errors would not be too difficult to catch.

Hopefully, this information gives you a better idea of how to catch and fix parsing errors and unexpected symbol errors on your own. If you still need help, check out our sample video below, which will guide you through all of this in detail.

The post How to Fix Parsing Errors and Unexpected Symbol Errors appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/fix-parsing-errors/feed/ 0
How to Pass Variables Between Scripts in C# https://wildcockatielgames.com/pass-variables-scripts-c/ https://wildcockatielgames.com/pass-variables-scripts-c/#respond Wed, 14 Jun 2017 00:20:57 +0000 https://wildcockatielgames.com/?p=266 In this article, you are going to learn how to pass variables between scripts in C# and in Unity. This is highly common and extremely important so it's a fantastic idea to get a solid grasp of this concept as early on as possible in your programming career. In this example, what we want [...]

The post How to Pass Variables Between Scripts in C# appeared first on Megabyteex.

]]>
How to Pass Variables Between Scripts in C#

In this article, you are going to learn how to pass variables between scripts in C# and in Unity. This is highly common and extremely important so it’s a fantastic idea to get a solid grasp of this concept as early on as possible in your programming career.

In this example, what we want to do is drop a ball onto a paddle, and increment the score text in the upper-right corner of the screen by 100 points every time the ball bounces.

Example

Easy enough, right? Let’s take a look at the code and how we can do this by passing variables. Before we do that, let’s take a look at what we have in our scene:

  1. On the paddle, we have a C# script called Paddle.cs.
  2. On an empty GameObject called Gameplay Controller, we have a script called GameplayController.cs
  3. We have an empty text element called “ScoreText” without any scripts attached.

We want the paddle (which contains the score value) to tell the Gameplay Controller to add 100 points to the Score Text whenever the ball bounces off the paddle.

Inside Paddle.cs, we write a new function to register a collision. It looks like this:

OnCollisionEnter2D is the name of the function we write to register a new collision. It takes in a “Collision2D’ which we have assigned the name “collision.” Inside of this variable named “collision” is all the data surrounding the collision which has just occurred.

Next, we write the following inside of our GameplayManager.cs script:

Let’s go over this line-by-line and explain what is happening.

  • We declare two variables; one is a Text variable called scoreText. This has been made public and in the Unity Inspector, we drag the text element onto that variable.
  • The other variable is called currentScore. It is an integer and it is what we use to keep track of our game’s score.
  • Next, we have declared a public function named UpdateScore. We have made it public so we can call it from another script (in this case, our Paddle.cs). Inside the brackets, we have declared a new variable “int score.” This is the “receiving” end of passing variables.

  • When we call UpdateScore from our paddle script, we are going to “pass” the value of our score variable to the GameplayController.cs script. score is the name of the variable that is going to receive the value.

Now that we’ve created this, let’s go back to Paddle.cs and finish the script. Here’s what the rest of it will look like:

Now, we have created a score variable in Paddle.cs and assigned it an inital value of 100 points. We have then obtained a reference to our GameplayManager script, and finally, we call the UpdateScore method by writing gameplayManager.UpdateScore (score);

This last bit is very important. This is the other part of passing a variable between scripts. In the brackets we have written “score,” which is the name of the variable that passes the data contained within “score” (100 points). In GameplayManager, we have declared a separate variable, also named “score” (but it could be called anything we want) to catch and use that data within GameplayManager.cs.

This is how we pass variables between scripts.

Still confused? Check out the video below which goes hand-in-hand with this tutorial. Questions or comments? Please leave one below! We will get back to you 🙂

The post How to Pass Variables Between Scripts in C# appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/pass-variables-scripts-c/feed/ 0
Summary of Our Reddit AMA https://wildcockatielgames.com/summary-reddit-ama/ https://wildcockatielgames.com/summary-reddit-ama/#respond Thu, 08 Jun 2017 16:19:53 +0000 https://wildcockatielgames.com/?p=253 Yesterday, we presented an AMA (ask me anything) on Reddit's /r/casualiama subreddit. The thread was voted to the top of the subreddit with 87 upvotes (86% upvoted) and the thread itself had many great questions. Unfortunately, for an unknown reason, when checking in this morning, the moderator's had removed the entire AMA. The good news [...]

The post Summary of Our Reddit AMA appeared first on Megabyteex.

]]>

Summary of Our Reddit AMAYesterday, we presented an AMA (ask me anything) on Reddit’s /r/casualiama subreddit. The thread was voted to the top of the subreddit with 87 upvotes (86% upvoted) and the thread itself had many great questions. Unfortunately, for an unknown reason, when checking in this morning, the moderator’s had removed the entire AMA.

The good news is that as the thread creator, I can still see the thread, plus all the questions and answers. This is likely done so when a post is removed, the creator is less likely to notice and does not raise a complaint. It’s not the best policy for transparency but it is how reddit operates. As there were many great discussions prior to the thread’s removal, I wanted to create a post here to preserve the Q&A for anyone to see and benefit from.

The AMA

Hi everyone,

I won’t go into too much detail here as to leave room for the questions, but I’ll give a bit of background. Last October I saw a Facebook ad to learn game programming. I followed it and signed up for the Udemy course it was advertising. I’ve been working hard at learning Unity and C# since then.

A couple weeks ago, I finally was confident enough to release a project I had been working on completely on my own without following any tutorials.

Programming and game development is 100% unrelated to anything I’ve ever done in my career so I’m pretty proud of what I’ve been able to accomplish.

So AMA!

The Q&A

Question

Is it difficult to learn?is it possible to learn everything only from youtube?

Answer

Is it difficult to learn?

I’m going to say this depends on the person and it depends on your willingness to learn, as well as how much you enjoy it.

I had never done coding before, other than messing around in RPG Maker (which really doesn’t teach you any coding) and a semester of Java class 15 years ago in high school which I failed horribly at.

How much time are you willing to invest? The course I was taking on Udemy was exclusively for game making, so it basically taught me C# as I followed along with the tutorials. In addition to that, I created a YouTube channel called Unity Game Programming for Beginners where I taught C# and Unity as I learned. This was really helpful for me to solidify information because I had to really understand it in order to teach it.


is it possible to learn everything only from youtube?

Maybe… but you’ll have a hell of a time. Don’t get me wrong, there are some good tutorials out there, but there are also a lot of bad ones.

Here’s my main problem with learning from YouTube:

1) There is no guarantee of structure or quality. ie. you get what you pay for.

2) There is no support system.

I really enjoyed Udemy because the instructors were professionals. Also, every video had an active Q&A session and if you asked a question, you were guaranteed to get a helpful response. The same cannot be said for YouTube.

Having said all of this, I did create a free Make a Pong Clone YouTube tutorial series that is structured and for beginners. You can find it on my developer website. I also have links to the Udemy courses I learned from and recommend.

Question

What kind of challenges did you face in learning how to code and in making the game?

Answer

Great question! Oh man, where to start…

The biggest hurdle for me was that I don’t know anyone who does game programming so I really had no one to turn to for help. Sure, there are plenty of online forums and resources, but it would have been super helpful to have a friend I could ask for support when I faced difficult challenges.

Third party-app integration is the most frustrating of everything. No matter which video tutorials I’ve turned to for help, none of them offer a solution which doesn’t cause 100 other problems. For this reason, I still haven’t been able to integrate leaderboards or Facebook sharing. I really want to, but it’s the current hurdle I haven’t been able to overcome yet.

I’ve always been a gamer and loved playing Android games. I also know what things really frustrate me when playing them so I’ve tried to avoid making those same mistakes. For instance, in-app purchases suck when you need to buy them to progress. Yet, as a developer, you need them for a source of income. To that end, I’ve taken a lesson from Overwatch and implemented a system where you can buy currency, but the unlockables are only for cosmetic purposes.

It’s amazing how much you can learn by just doing it though. I remember not being able to understand for the life of me how to get loops working properly. Then one night, I was working on a section of the game, tipsy from drinking two pints, and coded a perfect loop in the character select screen. I finished, looked at it, and just thought, “did I seriously just do that perfectly on my first attempt?”

Question

How did you go about getting the art/animations done? Did you commission them? or how does that work

Answer

I used Unity as the game engine and it already has a very powerful animator built in. There are basically two ways of animating.

1) You can physically move different components around on the XYZ axis, rotate them, scale them, etc. This is how I animated everything but the characters.

2) You can swap out sprites. These are generally created as sets and are called from a spritesheet. This basically creates a “flipbook” sort of animation and it’s how I animated the characters.

For this project, I purchased all of my characters off of the Unity asset store as I wanted to make sure they had some quality and consistency to them. For the level and menu backgrounds, I used images from Unsplash which is an amazing place to get royalty free stock photos you can use in any project.

Other sprites, including UI, I don’t remember exactly where off the top of my head but I believe they came from various free game asset packs.

Question

What is your background in?

Answer

Sales and marketing. My day job is working for the family business doing a mix of sales, purchasing and IT. Not IT as in coding, IT as in “it’s a small business and I know more about computers than anyone else here so I’m IT by default.”

I also do some freelance web design (WordPress, no coding) and wrote a fantasy novel, which isn’t published.

I’ve been realizing over the last 8 months though that I have an actual passion for game design, whereas in my actual 9-5 it’s just getting through the day.

Question

Who do you think would win in a fist fight: Katy Perry, or Kristin Wiig?

Answer

Asking the real questions! 😛

I don’t know who Kristin Wiig is so I’m going to vote Katy Perry on this one for no other reason than I’ll root for someone who I know over someone I don’t.

Question

That’s awesome. I’m planning/hoping to teach myself coding as a hobby and potentially a career.

What would your advice be to someone just starting?

Answer

Great question!

1) Pick a reliable source to learn from and something that will interest you. If I had just started following random coding videos on YouTube I would not have made it this far. If you’d like any recommendations, I put a post together on my developer website that talks about the online courses I learned from, as well as tutorials I’ve built since I started.

2) Work at it at least a little bit every day. If you take a break for a few days it can be really hard to regain the pace again. Especially in the beginning.

3) As soon as possible, start helping others learn. If you’re taking a Udemy course, this is really easy as you can go back to earlier videos and help answer questions for lectures you’ve already completed as new ones arrise in the Q&A. In my case, I started a YouTube channel called Unity Game Programming For Beginners where I started answering questions in video format and making game development tutorials.

4) As soon as you feel competent enough (or maybe even a little bit sooner), start building your own game (building your own app, etc.) Making a game by following tutorials is great, but if you keep relying on them, you’ll only learn to be mediocre. Start your own project, make mistakes, learn from them, and figure things out for yourself.


Hope this answers your question!

Question

Where can I start? What website? I am complete beginner no history or background in the field. Thanks for any advice !

Answer

I am complete beginner no history or background in the field.

This is literally EXACTLY where I was at the start of last October – no worries!

I highly recommend Udemy tutorials. They cost at max $200 but often go on sale for a lot less (like $15). Not per month, you pay once and then you have access to the course for life. Tutorials are very well structured and they have active Q&A’s for each video.

If you’re hesitant about paying any money and just want to try it out, I’ve also put a free 20 video tutorial series together on YouTube that will teach you how to create a fully functional Pong clone. I cover everything, starting from what software you need to download, to how to upload your first game onto the Internet, and everything that falls between.

The nice thing is… all of the software you need to design games is free :).

Here is the page on my developer website with links to all of these. Any of these will be a great starting point for a 100% total beginner!

Question

Nice job op. Game is nicely designed and fun.I think it might be a little too easy at first, but that may be because I’ve played Doodle jump already. All in all nice work, I never would have known this was made by a newbie. Without knowing anything about your backstory I’d give it a 3/5. Keep up the good work!

Answer

Thanks very much and thanks for trying it out too!

It’s funny because I’ve given it to a lot of people to test, and most have so much trouble with even the first jump. Last few people told me it starts off too hard. Different levels of skill I guess, eh? I’m more inclined with you that it starts too easy, but my test audiences have demonstrated otherwise.

However, difficulty does ramp up as the game progresses. On the first level, it gets crazy hard around 9000 points. If you can get that high, you’ll likely have trouble getting much higher.

Question

Hey I just tried out your game, it’s good. I liked the characters and for your first release it’s pretty great. I kept getting my character stuck on the side of each ledge if I didn’t time my jump, also if you don’t mind me saying, it was a little difficult to control because of having to move the phone side to side while also tapping to jump. Would it be possible to have buttons as an option also? Overall it’s still a pretty good game!

Answer

Thank you for the feedback!

Look in the options menu. You will find options to change it from tilt only controls to tap only, or a combination of the two.

Honestly, tilting to move is the easiest once you get used to it.

BTW – where on the screen are you tapping to jump? Everytime I hear feedback like this it makes me think the player is tapping on the character to jump. You can tap anywhere on the screen to jump but I don’t know if that’s obvious or not.

Question

what programming languages did you learn?

Answer

C#. I actually started off with some Java tutorials on YouTube, but they were out of date and the lectures didn’t cover everything or make sense. Got frustrated and stopped. A while later I found the FB ad that led me to Udemy, and C# and Unity.

Question

Favorite kind of Perfumes?

Answer

I could have never predicted this question and I’m not sure how to answer it… lol.

I suppose, whichever ones give me the best memories of any women I’ve dated. Now if you ask me what any of them are called I’ll be at a loss.

Question

Have you ever heard of IGDA? If not, look it up and see if there’s one in your area to present your game (if that interests you).

Answer

I have not heard of this but I will look it up for sure! Thank you for the suggestion 🙂

Question

I downloaded the game not too long ago! Is there an end or are these furry little critters forever stuck in a jump purgatory? D:

Answer

LOL. That might just be my favourite comment I’ve gotten about this game.

They are forever stuck I’m afraid… or are they?

In Conclusion…

The Reddit AMA may have been pulled for unknown reasons, but this post won’t be. If you have any further questions, please ask in the comments! I will be happy to answer it no matter how long in the future you may ask.

The post Summary of Our Reddit AMA appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/summary-reddit-ama/feed/ 0
Dev Update – Jungle Jumpers and new Website https://wildcockatielgames.com/dev-update-jungle-jumpers/ https://wildcockatielgames.com/dev-update-jungle-jumpers/#respond Mon, 05 Jun 2017 16:12:36 +0000 https://wildcockatielgames.com/?p=229 Welcome to Megabyteex! This felt like an appropriate time to make our first dev update, June 4, with the launch of the new website. This has been a tremendous and extremely rewarding undertaking. For the past two months, I have been developing the first mobile game for Megabyteex, which was launched [...]

The post Dev Update – Jungle Jumpers and new Website appeared first on Megabyteex.

]]>
Welcome to Megabyteex! This felt like an appropriate time to make our first dev update, June 4, with the launch of the new website.

This has been a tremendous and extremely rewarding undertaking. For the past two months, I have been developing the first mobile game for Megabyteex, which was launched on the Google Play store a couple of weeks ago.  is available for free and offers hours of addictive, endless scrolling fun. At launch, the game has 12 playable characters and 3 styles of levels – jump, bounce and balance.

 

 

 

Since it’s launch, we’ve also released several updates, adding new features such as different control schemes, and fixing some of the bugs that were causing issues for players. Overall, we’ve been able to offer what is hopefully a fun game to play, which can be enjoyed in intervals without having to invest any substantial length of time in a single sitting.

Couple all of that with buiding a new website for your indie game studio, and you have a lot of work to do. Still, it’s extremely satisfying to have built all of this. There’s a lot more work to do moving forward, but it’s great to look back and see what’s already been accomplished.

If you have any feedback for Jungle Jumpers, Megabyteex, or anything else related, feel free to leave a comment and let us know.

Thanks for reading and we’ll see you in the next update!

The post Dev Update – Jungle Jumpers and new Website appeared first on Megabyteex.

]]>
https://wildcockatielgames.com/dev-update-jungle-jumpers/feed/ 0