Finally, an interactive tutorial series that WILL teach you C# for Unity3D

Keep Going. Some good tutorial on Asset bundle is what I need. Need to improve my knowledge on streaming scenes.

The problem at the end of the spaceshooter tutorial 5 was you had Space with a capital. It works fine with lowercase. :slight_smile:

enjoyed the lesson again though mate!

yvanbroeck,

Thank you very much for pointing that out!

I was tempted to stop the video and edit that whole bit out, but I figured it would be a great example of how to show someone to use the Unity Reference manual to do tasks.

Thanks for watching!

Video 8 (tutorial 6: spaceshooter)

will try and come out later this evening.

We will go over finishing the player script, and projectile prefab, and then move into Enemies for the game as well as building our astroids.

This is good stuff, I’ll be trying to be more interactive in my tutorials because of your amazing ones :smile:

Thank you very much everyone for the feed back and support. I’m glad that I’m able to contribute to the community in such a way!

I’ll be finishing up the SpaceShooter game entirely on hopefully Monday. After that, you’ll have enough knowledge and skills to build your most basic games.

In the next series, I’ll be getting into possibly RPG(Role Playing Game) and maybe even FPS. (First Person Shooter)

we’ll have a vote when the time comes.

Again,

As always, thank you for watching! :slight_smile:

Here is Video # 8!

Enjoy! Thank you for watching! Please message me any questions or comments. You can also post on the youtube page. I’ll respond within a reasonable time frame.

Thanks for watching!

I’m loving your series of videos so far. It actually feels like things are sinking in to my thick head enough that I can recall them later :slight_smile:

Also I love how your videos are what I’d call “real”. Meaning that when things don’t go quite right you don’t edit out or re-record them. You puzzle it out right there with the viewer. I usually try to puzzle it out myself at the same time which I think helps the interactive learning part of the process too.

Please keep the vidoes coming.

Agreed…great series! My vote would be for an RPG followup… Just sayin ;` )

Hi

Space Shooter Tutorial Series: 06 was great for two reasons:

  1. we finally have something usable which can be further improved.

  2. the nasty error at about 12:19 in the video where it is demonstrated how to look up information to solve the problem - I know that the error was ofcourse created with full intention so the author had a chance to show what to do when the project goes south :wink:

Personally I wouldn’t mind if we had more of these “incidents” as bugs and how to deal with them is also a part of the creative process.

Thank you so much everyone for the fantastic feed back! I’m very excited to say that I will be creating more.

After the SpaceShooter series, I will be looking into starting an RPG Series, and a FPS series.

I will continue to add trial and error. I will NEVER re-record my videos. I believe that when I demonstrate trial and error, it’s a great example to show how you can overcome your error with help from the reference files as well as just simply reading what the open parenthesis say.

As always,

Thank you for watching!

Thanks again Jonathan!

I asked a question on the YouTube channel but i’ll ask it in here as well

when instantiating i’ve used myTransform.position as the starting position of the prefab. This works just as fine as when creating a new Vector3. What i wanted to know was: Apart from not being able to adjust the y-axis so the prefab launches in front of the cube are there other reasons not to do it the way I did?

I have this logic about creating a game. The fewer code, the less it has to compile thus resulting in better optimization. I’m sure there is lots more to it, but I really believe that is the base logic.I might be completely wrong though xD

Oh and about the vote,

Gamer to Game Developer has produced a very nice tutorial about making an FPS. My vote goes to the RPG one then :wink:

Hi Yvanbroeck,

You can certainly do what you did.

The reason why I created a new Vector 3 position was to just show that you are able to do things manually through the inspector and through code.

When we first created our prefab it had the position of the cube, (-3,-3,-1)

The prefab looks more natural when positioned at (-3, -2,-1)

Thanks for watching, and I hope this helped you!

This is a great way to teach csharp :slight_smile:
I like it a lot and hope for more.

I vote for the rpg before an fps tutorial.

Thank you everyone for the amazing comments. This certainly exceeded my expectations on the feedback I would receive. I’m thrilled that my tutorial videos are actually working for people. I will be creating more, and when we finish the space shooter series, based on popular demand, i’ll create a series for RPG, or FPS.

For those who have been following my series, you now have the skills to build games that require the basic fundamentals. With pride, i’d like to say Congratulations! You are now a programmer!

As always, thank you for watching!

Best,

Jonathan Weinberger
SubZeroGaming

Hi

Based on the posts I have read then I’m under the impression that a RPG as the next tutorial project is what the majority wants, however, I would prefer a basic FPS as the scope will be much smaller and thus the risk of anyone loosing their newly gained momentum of enthusiamsm would be equally less as well.

To those of you who aren’t aware of the potential scope of making even a modest RPG then I suggest you take a look at the huge number of videos Petey from BurgZergArcade has made.

So please do a reality check and ask yourself: “Am I prepared to follow 40 - 60 (and then some more) tutorials in order to learn C# and Unity ?”

Nearly the same questions goes to the author - is he prepared to make 40 - 60 (and then some more) tutorials in order to share his knowledge of C# and Unity ?

Viking,

Well said. He is exactly correct, everyone.

I know the excitement of creating an RPG. But in order to create one, we may have to take a step back and work on a project that’s bigger than SpaceShooter, such as a FPS, and smaller than an RPG. There is a lot that goes into an RPG. To get a gist, you can certainly look at ZurgBergArcade. His series is a perfect example of how difficult it can be. And worst of all, it’s not very interactive, so if you aren’t confident with your skill level, you will encounter problems.

In Video number 9,

this will determine if you are confident in programming. It will be my most interactive tutorial to date. The viewer will be in charge of creating the entire enemy script from scratch with no visual aid from my code. If the majority of viewers can complete this, then maybe it’s possible for me to create a simple RPG project, but if not, It may be best to start out with a simple FPS, and make a small Call of Duty style game. And progress upwards.

You need to ask your self.

Do you want to learn Unity, and learn C#?

If you answered yes, you need to rethink the speed at which you are trying to learn. Moving too fast is a perfect example on how to get frustrated with programming. If you have followed me up to level 8, then you are officially a programmer. You have the skills to to understand the basic fundamentals of game design. RPG is very beyond the fundamentals.

As i’m rethinking my series,

I think after the spaceshooter, we are going to make a runner game with animations, and our own Mario style game. Then move to FPS, and then move into an RPG.

We’ll see.

Thanks for watching!

Video 9 - Coming soon!

Speaking for myself on this matter: I do know it takes a ton of work creating an rpg, and that it propably is a lot more manageable with a team of likeminded individuals.

I’ve started my own rpg just to get the hang of it and see what it’s all about. The amount of calculations, variables you need to account for and much more things I don’t even know about are mindblowing. I spent 4 bloody hours yesterday trying to get a box to show my current stamina while sprinting and when it hits 0 it should go back to walking speed. I did this with calling the variables from the player script to my GUI script. Calling variables from another script was new to me but in the end I got it to work… sort of :slight_smile:

What I’m trying to say is, maybe it won’t be a bad idea to do a sidescrolling platform game first before taking the next step. It won’t be bad for a new coder like myself to take it one babystep at a time, and it also won’t be bad for you as a new tutor. Maybe you can get some new ideas going this way… I don’t know :slight_smile:

Thanks yvanbroeck for the input.

We’ll see how the SpaceShooter tutorial series finishes up. I have completed video #9,

I’m just hesitating the release. It’s similar to Video 4 with the whiteboard, but certainly much, much more difficult.

If anyone would like a pre release of Video 9, and give me feedback, please go ahead and send me a pm requesting Video #9.

I’ll go ahead and send you a download link to the video.

I’m looking for feedback on if it’s too challenging or not. I have not introduced anything new, but i fear it may be too complicated.

Thanks.

Hi

While we wait for next part of the tutorial. I decided to take the plunge and try to write a bit of code myself, but it goes without saying that this had to cause me trouble !

I have made another cube and intend it to be at top of the screen, so I have something to shoot at.

I did manage to get a position for the cube (myEnemy) and also got it to move to the left, however, the when I try to make it go to the right once it reach the far left of the screen then my problem(s) started:

using UnityEngine;
using System.Collections;

public class Enemy : MonoBehaviour {
	
	private Transform myEnemy;
	
	public float myEnemySpeed;
	
	private float myEnemyleft;
	
	// Use this for initialization
	void Start () {
	
		myEnemy = transform;
				
		myEnemySpeed = 2f;
			
		myEnemy.position = new Vector3(0,5,0);
	
		myEnemyleft = -9f; //the left most position on the x-axis the meEnemy can have
	}		
	// Update is called once per frame
	void Update () {
	
		myEnemy.Translate(Vector3.left * myEnemySpeed * Time.deltaTime);
		
		if(myEnemy.position.x = myEnemyleft ){
			myEnemy.Translate(Vector3.right * myEnemySpeed * Time.deltaTime);
		}
	
	}
}

The two errors I get are:

  1. Assets/Scripts/Enemy.cs(28,28): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position’.
    Consider storing the value in a temporary variable

  2. Assets/Scripts/Enemy.cs(28,17): error CS0029: Cannot implicitly convert type float' to bool’

I did try to decipher what it is Unity tells me, however, I don’t really understand - due to my lack of knowledge of C# I guess.

As far as I can tell it has a problem with the vector3 coordinates and now it suggests me to make a variable to store them in before it process them - I’m not sure how to do that

Furthermore it don’t seem to like that the Vector3 coordinates are float values - does it prefer int values instead ?

Well, I’m not sure what to do, so I hope some of fellow students have more insight or else I might be forced to strike my colors and ask Jonathan.

At line 28 where you have

if(myEnemy.position.x = myEnemyleft )

It should be == instead of =. Using = means to assign the value of the right into the left while == means equal to which is what you want to use in this case. Once you change from that to this:

if(myEnemy.position.x == myEnemyleft )

All your errors should be gone =)