Is Unity3D spoiling me?

Started by
19 comments, last by runonthespot 12 years, 5 months ago

@OP: the only meaningful question to ask in this context is "am I progressing towards my goal?" - if the answer is "yes" then the remaining questions are "can I do it faster?" and "can I do better?"

If your goal is to make a game, then make a game. Waste no time with stuff that is unnecessary to making that goal come true. That includes building things from scratch (or do you think I'll start by building my own kitchen tools if I want to be a chef?)



You made it look like if someone wants to ship a game they need to use a third party engine. Most of the people here roll their own engines and plan to ship a game. What the statistics said about most popular indie games and the technology they use ? It's not a black and white thing, as someone already said, and don't call me "silly", please. Thanks.
Advertisement

[quote name='DarklyDreaming' timestamp='1320938642' post='4882617']
@OP: the only meaningful question to ask in this context is "am I progressing towards my goal?" - if the answer is "yes" then the remaining questions are "can I do it faster?" and "can I do better?"

If your goal is to make a game, then make a game. Waste no time with stuff that is unnecessary to making that goal come true. That includes building things from scratch (or do you think I'll start by building my own kitchen tools if I want to be a chef?)



You made it look like if someone wants to ship a game they need to use a third party engine. Most of the people here roll their own engines and plan to ship a game. What the statistics said about most popular indie games and the technology they use ? It's not a black and white thing, as someone already said, and don't call me "silly", please. Thanks.
[/quote]

It doesn't matter what the others are doing. If your goal is to get a game out and you have the choice between reinventing the wheel or using the thousands of hours of work people more knowledgeable provided to you on a silver platter, reinventing the wheel seems like a silly decision to me. Your game won't sell more because you wrote everything yourself or you did it in a "pro" language.

As for spoiling, as long as you learn proper programming concepts and architecture, the language and environment is irrelevant. With experience, you will be able to learn new languages in a matter of days as long as you have programming discipline. Using Unity might even help you because you can play with the big picture and have a better idea of how to do core stuff instead of redoing every classic mistakes. That is if you ever need to do it.
Developer for Novus Dawn : a [s]Flash[/s] Unity Isometric Tactical RPG - Forums - Facebook - DevLog

[quote name='DarklyDreaming' timestamp='1320938642' post='4882617']
@OP: the only meaningful question to ask in this context is "am I progressing towards my goal?" - if the answer is "yes" then the remaining questions are "can I do it faster?" and "can I do better?"

If your goal is to make a game, then make a game. Waste no time with stuff that is unnecessary to making that goal come true. That includes building things from scratch (or do you think I'll start by building my own kitchen tools if I want to be a chef?)



You made it look like if someone wants to ship a game they need to use a third party engine. Most of the people here roll their own engines and plan to ship a game. What the statistics said about most popular indie games and the technology they use ? It's not a black and white thing, as someone already said, and don't call me "silly", please. Thanks.
[/quote]
First, don't take "silly" so seriously -- being silly at times is a good thing. Second, yes -- shipping a game faster means using a third-party technology. Problem? Third, apologies if you took offence -- silly me for thinking that it was just humor leaking through; guess it didn't translate well :)

But yes, after rolling my own and comparing it to using an existing alternative multiple times, I've come to the conclusion that I'd rather spend all that time fixing nonsensical stuff like an editor be better spent towards achieving a more solid playtest, better QA, more time refining game mechanics, better graphics, sound or just about anything other than doing stuff that has nothing to do with making a better game.

Rarely, if ever, is there need to do anything else -- with the disclaimer that this is specific to you wanting to make a game and nothing else. Learning will of course change some of the parameters, depending on what you want to further educate yourself in.
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus
What you aim for? That should be your main concern if you are in learning phase. Is it gameplay developer? is it runtime development? Is it tool development? Do you really know? Depending on your aim Unity is the right tool or not.

For example, if you want to pitch a position as a Physics programmer, creating your own collision solver will impress a way more a technical recruiter than anything you may do on Unity. On the other hand, If you want gameplay programming of any sort, stick with unity, as you will focus your mind on those problem you worry about, and not bother on lower level systems. If you don't have any specific idea on what you want to do, Using unity will always help you to understand the big picture first, which is always a good approach.

My 2 cents.

[quote name='GHMP' timestamp='1320918195' post='4882498']
Is Unity spoiling me and hiding me from the 'real world'? Am I not learning anything actually useful while using this engine?


Yes.

Now go back to kiln and smelt silica so you can make vacuum tubes. Learn programming the proper way by building your computer from scratch.
[/quote]

Pff, buying silica is cheating, if you don't mine it yourself you're not a real programmer™. (obviously using tools you've built yourself, from scratch)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

You would probably be surprised of how many professional teams are using Unity for their commercial projects. So no you are not spoiling yourself by using Unity. I would however say (based on experience) that you are spoiling yourself/Unity by using Java Script in Unity. You are both missing out on some cool features such as generic lists you can access directly from the Unity editor and enums you can access as drop down boxes in the editor. Plus the auto completion in mono develop doesn't work that well with Java Script, while it works super with C#. Finally Java Script in Unity hides away some of the code, which makes it a lot harder to understand the core principles behind object oriented programming.

So keep using Unity, but switch to C# now! If you in two years still haven't tried anything but Unity, then yes you are spoiling yourself :)

Hey, thanks for the reply. Just wanted to make a quick note: Unity's JavaScript allows creating enums and setting them in the Inspector.
Example:

enum Effect
{
Stun,
Immobilize,
Mana Steal,
Mana Drain

}
var effect:Effect;


Things like that work and you can set them in the Inspector. I'm not really sure what generic lists are.

If I switch to C#, should I attempt to translate all of my JS scripts into C# scripts..? Sounds like a waste of time, but...

*********************************

Regarding the rest of the replies:

*********************************

Thanks for all of the answers! I think I'll just keep using Unity and try to get something presentable, at least in gameplay (because models are pretty much a lost cause with me).

I suppose I should try to switch over to C# sometime soon. I haven't necessarily had any problems with JavaScript so far, but I know in a lot of situations, knowing C# will be much more helpful than knowing JavaScript, especially since JS is so Unity-specific.

[twitter]Casey_Hardman[/twitter]


[quote name='VildNinja' timestamp='1320935990' post='4882595']
You would probably be surprised of how many professional teams are using Unity for their commercial projects. So no you are not spoiling yourself by using Unity. I would however say (based on experience) that you are spoiling yourself/Unity by using Java Script in Unity. You are both missing out on some cool features such as generic lists you can access directly from the Unity editor and enums you can access as drop down boxes in the editor. Plus the auto completion in mono develop doesn't work that well with Java Script, while it works super with C#. Finally Java Script in Unity hides away some of the code, which makes it a lot harder to understand the core principles behind object oriented programming.

So keep using Unity, but switch to C# now! If you in two years still haven't tried anything but Unity, then yes you are spoiling yourself :)

Hey, thanks for the reply. Just wanted to make a quick note: Unity's JavaScript allows creating enums and setting them in the Inspector.
Example:

enum Effect
{
Stun,
Immobilize,
Mana Steal,
Mana Drain

}
var effect:Effect;


Things like that work and you can set them in the Inspector. I'm not really sure what generic lists are.

If I switch to C#, should I attempt to translate all of my JS scripts into C# scripts..? Sounds like a waste of time, but...

*********************************

Regarding the rest of the replies:

*********************************

Thanks for all of the answers! I think I'll just keep using Unity and try to get something presentable, at least in gameplay (because models are pretty much a lost cause with me).

I suppose I should try to switch over to C# sometime soon. I haven't necessarily had any problems with JavaScript so far, but I know in a lot of situations, knowing C# will be much more helpful than knowing JavaScript, especially since JS is so Unity-specific.
[/quote]

Woo, wait what?

Javascript is Unity specific?

Alright, first off, all things being equal C# is my weapon of choice. I love the language and would personally choose it over Javascript in a heart beat. That said, Javascript is used far in away in more applications, spaces, nooks and crannies than C# is, by a country mile. That it is being forced like a bad enema on us all with HTML5 as the apparently future of programming, this is only going to become more true.


Basically what I am saying is, Javascript is anything BUT Unity-specific.

[quote name='GHMP' timestamp='1320964848' post='4882756']
[quote name='VildNinja' timestamp='1320935990' post='4882595']
You would probably be surprised of how many professional teams are using Unity for their commercial projects. So no you are not spoiling yourself by using Unity. I would however say (based on experience) that you are spoiling yourself/Unity by using Java Script in Unity. You are both missing out on some cool features such as generic lists you can access directly from the Unity editor and enums you can access as drop down boxes in the editor. Plus the auto completion in mono develop doesn't work that well with Java Script, while it works super with C#. Finally Java Script in Unity hides away some of the code, which makes it a lot harder to understand the core principles behind object oriented programming.

So keep using Unity, but switch to C# now! If you in two years still haven't tried anything but Unity, then yes you are spoiling yourself :)

Hey, thanks for the reply. Just wanted to make a quick note: Unity's JavaScript allows creating enums and setting them in the Inspector.
Example:

enum Effect
{
Stun,
Immobilize,
Mana Steal,
Mana Drain

}
var effect:Effect;


Things like that work and you can set them in the Inspector. I'm not really sure what generic lists are.

If I switch to C#, should I attempt to translate all of my JS scripts into C# scripts..? Sounds like a waste of time, but...

*********************************

Regarding the rest of the replies:

*********************************

Thanks for all of the answers! I think I'll just keep using Unity and try to get something presentable, at least in gameplay (because models are pretty much a lost cause with me).

I suppose I should try to switch over to C# sometime soon. I haven't necessarily had any problems with JavaScript so far, but I know in a lot of situations, knowing C# will be much more helpful than knowing JavaScript, especially since JS is so Unity-specific.
[/quote]

Woo, wait what?

Javascript is Unity specific?

Alright, first off, all things being equal C# is my weapon of choice. I love the language and would personally choose it over Javascript in a heart beat. That said, Javascript is used far in away in more applications, spaces, nooks and crannies than C# is, by a country mile. That it is being forced like a bad enema on us all with HTML5 as the apparently future of programming, this is only going to become more true.


Basically what I am saying is, Javascript is anything BUT Unity-specific.
[/quote]

Sorry, what I meant to say was it seems like JS with Unity isn't the same as JS in website development. Of course, I could be wrong there, but I looked a bit into using JS with HTML and it seems different than what I've been doing. For example, it seems variables were declared differently:

var name="John" was what I saw when reading on website development with JS, whereas

"var name:String = "John" is what I'd use while scripting with JS and Unity.


I also was under the impression that JS wasn't actually used to develop games with any engines other than Unity, though it is used with website development.

Of course, it's more than likely that I'm wrong :P

[twitter]Casey_Hardman[/twitter]

Technically, the "JavaScript" used with Unity is a custom dialect, and isn't quite the same "JavaScript" as used in a browser. Some people actually outright call it "UnityScript" in recognition of this. In fact, I think the MonoDevelop extension for Unity3D does this, too.

The following link may be of interest: http://www.unifycommunity.com/wiki/index.php?title=Head_First_into_Unity_with_UnityScript
JavaScript is an implementation of the ECMAScript specs.
Unity's JavaScript is another implementation, except it doesn't really conform to the specs (same story with Flash's ActionScript).
That being said, JavaScript usage is all over the place, also in the game department, mostly since HTML5 and friends started getting implemented.

This topic is closed to new replies.

Advertisement