Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Learning Game engine or Programming first


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
19 replies to this topic

#1 Aris Savva   Members   -  Reputation: 123

Like
1Likes
Like

Posted 20 June 2014 - 07:19 AM

Hi everybody

 

I have seen various opinions on how to start learning mobile game development. I've seen suggestions such as "learn java fundamentals - advanced and other languages then try game engines" and also " learn game engine and learn the coding required for a specific task you are trying to achieve/tweak"  the last one sounds more exciting i guess, but I am looking for the most efficient path for mobile game development.

 

what way would be the most efficient, for a complete beginner, to learn mobile game development? 

 

thank you in advance! 

 

Edit: I used Unity before but recently Unreal 4 and looks like i want to give that a go. 


Edited by Aris Savva, 20 June 2014 - 07:20 AM.


Sponsor:

#2 Tribad   Members   -  Reputation: 957

Like
2Likes
Like

Posted 20 June 2014 - 07:26 AM

I think it depends on the complexity of problems to solve.

If you can solve all the problems with the game-engine easily there is no need to learn complex programming languages. On the other hand it sometimes might help to find solutions if you have some knowledge of more complex environments.

 

I have the feeling that I do not found the right words.



#3 Orymus3   Crossbones+   -  Reputation: 14489

Like
3Likes
Like

Posted 20 June 2014 - 07:44 AM

Is the intent to become a better programmer, or to complete a game?

You'll learn different things depending on the path you take.

 

Learning an engine teaches you less about the inner workings and low level elements of programming, but it gets you faster on your wheels to learn game development, gameplay programming, etc. 

Learning from scratch makes you a better programmer and gives you better "tools" or mental constructs to tackle problem solving later on (effectively increasing your velocity as a developer and developing your ability to resolve some issues such as optimization, which is critical in mobile).

 

The two are viable avenues.


-=- My Articles -=-
Getting Games Done - Method and tools on how to start a hobby project and get it Done!

Retro Mortis - "RTS" - Article Series (3 Parts) on the history of RTS development


#4 Buster2000   Members   -  Reputation: 2350

Like
5Likes
Like

Posted 20 June 2014 - 08:10 AM

You at least need to know the basics of programming,  loops, branches and logic before you start using an engine.  Even if you jump streight in you will eventually hit a bump and then go back to learning coding properly.



#5 Aris Savva   Members   -  Reputation: 123

Like
1Likes
Like

Posted 20 June 2014 - 08:13 AM

@Tribad thank man.. dont worry i understood:) 

 

@ Orymus 3  Thank you for the reply... the intent is to complete a game. I dont really care about becoming a programmer (unless i have too in order to develop games) if i can work around game engines and make games work just as fine .... i guess i would prefer that. 

 

I understand becoming a programmer first would be wise.  A lot more benefits, most importantly, less down time just jumping in and tweaking the code for a specific action than searching for codes and then trying to understand and learning it while making your game. 

 

I assume someone who chooses the game engine path would never be considered a programmer... since everything he learns is mostly related to the specific game he/she is developing only. Well.... Unreal 4 uses C++....If you want to make a character look like its walking ... you can probably learn that and use it when creating the next game that involves someone walking. So over time you will learn quite a lot of coding but nonetheless, it will be for specific actions that you want in a game. 

 

Becoming a programmer can be tedious but rewarding. 

 

Going straight to game engine can be exciting but take longer.

 

Am i understanding this correctly ? 



#6 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 20 June 2014 - 08:15 AM

You at least need to know the basics of programming,  loops, branches and logic before you start using an engine.  Even if you jump streight in you will eventually hit a bump and then go back to learning coding properly.

 

Understood ... would you recommend basic C++ (since i want to use unreal 4 engine) ? 



#7 Orymus3   Crossbones+   -  Reputation: 14489

Like
1Likes
Like

Posted 20 June 2014 - 08:40 AM


@ Orymus 3  Thank you for the reply... the intent is to complete a game. I dont really care about becoming a programmer (unless i have too in order to develop games) if i can work around game engines and make games work just as fine .... i guess i would prefer that. 

 

I think I can code, but I don't think of myself as a programmer.

I can make a game that works, or a prototype, but I'm not a low-level kind of person.

You can code games without having to program them (if the nuance makes sense).

Also, coding a game, brings your closer to understanding programming, and it is an applied way of learning more (especially about the basics).

 


Going straight to game engine can be exciting but take longer.

I think it's actually faster to use a pre-existing engine (isn't it the whole point too?). You may however grow into finding them limited if you want to do something very advanced, and may end up coding in the engine to "hack" the core logic. By making your own engine, you apply your strong understanding of what you set out to do to make things simpler for you in the long run, at the expense of spending a lot of time coding before getting any noticeable result.


-=- My Articles -=-
Getting Games Done - Method and tools on how to start a hobby project and get it Done!

Retro Mortis - "RTS" - Article Series (3 Parts) on the history of RTS development


#8 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 20 June 2014 - 09:00 AM

 


@ Orymus 3  Thank you for the reply... the intent is to complete a game. I dont really care about becoming a programmer (unless i have too in order to develop games) if i can work around game engines and make games work just as fine .... i guess i would prefer that. 

 

I think I can code, but I don't think of myself as a programmer.

I can make a game that works, or a prototype, but I'm not a low-level kind of person.

You can code games without having to program them (if the nuance makes sense).

Also, coding a game, brings your closer to understanding programming, and it is an applied way of learning more (especially about the basics).

 

 

 


Going straight to game engine can be exciting but take longer.
 

I think it's actually faster to use a pre-existing engine (isn't it the whole point too?). You may however grow into finding them limited if you want to do something very advanced, and may end up coding in the engine to "hack" the core logic. By making your own engine, you apply your strong understanding of what you set out to do to make things simpler for you in the long run, at the expense of spending a lot of time coding before getting any noticeable result.

 

 

I see,,,, so what do you recommend for someone who has an idea for a mobile game and whats to make it happen?(Wants to do it himself of course)



#9 CowKing   Members   -  Reputation: 154

Like
2Likes
Like

Posted 20 June 2014 - 01:26 PM


I see,,,, so what do you recommend for someone who has an idea for a mobile game and whats to make it happen?(Wants to do it himself of course)

 

 

I'm super biased, but C# in Unity3D can teach you a lot about programming.

 

Pros:

You don't need to worry about dependencies. Unity has about 95% of what a gameplay programmer needs.

C#, in my own opinion, is a no bullshit language.

Minimal effort, compared to a lot of engines/languages, to compile for different platforms.

 

Cons:

You'll most likely need to buy something off the asset store if you're doing something exotic. (Unity is actually really flexible, and you can emulate a lot of features from other engines, but it will just be a little slower)



#10 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 20 June 2014 - 01:32 PM

 


I see,,,, so what do you recommend for someone who has an idea for a mobile game and whats to make it happen?(Wants to do it himself of course)

 

 

I'm super biased, but C# in Unity3D can teach you a lot about programming.

 

Pros:

You don't need to worry about dependencies. Unity has about 95% of what a gameplay programmer needs.

C#, in my own opinion, is a no bullshit language.

Minimal effort, compared to a lot of engines/languages, to compile for different platforms.

 

Cons:

You'll most likely need to buy something off the asset store if you're doing something exotic. (Unity is actually really flexible, and you can emulate a lot of features from other engines, but it will just be a little slower)

 

Thanks a lot .. damn i really wanted to try unreal 4 though .. its a lot cheaper too ... unity is 70 dollars a month without the mobile stuff i believe... unreal gives you full access at just only 20 dollars

 

I believe C# is only for unity though right ? i believe unreal uses C++ 

 

Nonetheless, you are suggesting to learn C# from scratch and then use Unity ? or learn along the way while making the game ? 



#11 zee_ola05   Members   -  Reputation: 334

Like
3Likes
Like

Posted 20 June 2014 - 02:24 PM

What is your end goal? Are you just a hobbyist game developer or are you planning to break into the Industry in the future? If you're a hobbyist then I think you really need to be a good programmer, as you are the all around guy. If you want to break into the industry, what position are you thinking? A game designer, level designer doesn't really need intensive programming skills. You just need to have good imagination and familiarization with the tools. But if you want to do gameplay, you will need programming.

 

As to what language, for a beginner, I would suggest C#. Then play with Unity. As a beginner, you probably won't need a license for Unity. Unity Free version would definitely be enough to get you going. C++ is rather a difficult language. It is nice to dig deep into that when you are comfortable with programming.



#12 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 20 June 2014 - 03:30 PM

What is your end goal? Are you just a hobbyist game developer or are you planning to break into the Industry in the future? If you're a hobbyist then I think you really need to be a good programmer, as you are the all around guy. If you want to break into the industry, what position are you thinking? A game designer, level designer doesn't really need intensive programming skills. You just need to have good imagination and familiarization with the tools. But if you want to do gameplay, you will need programming.

 

As to what language, for a beginner, I would suggest C#. Then play with Unity. As a beginner, you probably won't need a license for Unity. Unity Free version would definitely be enough to get you going. C++ is rather a difficult language. It is nice to dig deep into that when you are comfortable with programming.

 

 

 

 

 

My end goal is to make the games im thinking about.. they are considered small games... .. i want to be able to make them fully functional and put them in google play and app store


Edited by Aris Savva, 20 June 2014 - 04:24 PM.


#13 Jason Z   Crossbones+   -  Reputation: 6079

Like
2Likes
Like

Posted 21 June 2014 - 07:22 AM


Thanks a lot .. damn i really wanted to try unreal 4 though .. its a lot cheaper too ... unity is 70 dollars a month without the mobile stuff i believe... unreal gives you full access at just only 20 dollars



I believe C# is only for unity though right ? i believe unreal uses C++



Nonetheless, you are suggesting to learn C# from scratch and then use Unity ? or learn along the way while making the game ?

I think you need to take a step back and think about things in more detail.  The licensing models are different between UE4 and Unity.  Unity gives you free access up front, but if you pass a certain amount of revenue then you have to purchase the pro license (the addons for mobile development may require the upfront purchase, I'm not familiar with that).  UE4 is only $19 a month, but they will take a cut of your revenue.  If you make tons of money on your game, Unity is way better from a financial model.  If you make little or no money, then UE4 will probably be better.  But you need to make a realistic plan about your expected income before making a financial decision.

 

If you don't have any programming experience, then the faster way to get started is probably C# with Unity.  I have seen some of the UE4 stuff and there is lots of visual editors for most tasks, including for scripting, but sooner or later you will have to dip down into C++.  The general consensus is that C++ is harder to learn initially than C#, but is also more widely used in the game industry.

 

If you are planning to make a game, you will need to know at least the basics of the language you are using - otherwise you are just asking for pain and suffering...



#14 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 21 June 2014 - 09:49 AM

 


Thanks a lot .. damn i really wanted to try unreal 4 though .. its a lot cheaper too ... unity is 70 dollars a month without the mobile stuff i believe... unreal gives you full access at just only 20 dollars



I believe C# is only for unity though right ? i believe unreal uses C++



Nonetheless, you are suggesting to learn C# from scratch and then use Unity ? or learn along the way while making the game ?

I think you need to take a step back and think about things in more detail.  The licensing models are different between UE4 and Unity.  Unity gives you free access up front, but if you pass a certain amount of revenue then you have to purchase the pro license (the addons for mobile development may require the upfront purchase, I'm not familiar with that).  UE4 is only $19 a month, but they will take a cut of your revenue.  If you make tons of money on your game, Unity is way better from a financial model.  If you make little or no money, then UE4 will probably be better.  But you need to make a realistic plan about your expected income before making a financial decision.

 

If you don't have any programming experience, then the faster way to get started is probably C# with Unity.  I have seen some of the UE4 stuff and there is lots of visual editors for most tasks, including for scripting, but sooner or later you will have to dip down into C++.  The general consensus is that C++ is harder to learn initially than C#, but is also more widely used in the game industry.

 

If you are planning to make a game, you will need to know at least the basics of the language you are using - otherwise you are just asking for pain and suffering...

 

 

 

Fully understood and im aware about the subscriptions ... i was reading yesterday about the difference is peanuts... someone also did the math and using unity saved just a couple of thousand dollars at the end... all the addons unity has are expensive too but thats not my concern. I think ill stick with Unity since C# is considered easier than C++ and that will keep me busy for the next few years :)

 

Thanks a lot for the assistance everybody ... made it clear and simple to understand what i should be doing now.

 

Ill start learning C# and Unity and we'll see what ill achieve:)



#15 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 22 June 2014 - 06:27 AM

My apologies guys but i have 1 more question i didnt add here. 

 

Im currently reading a book that teaches you how to use C# in Unity 3d (so basically learning both concepts the same time). Seeing that unity 3d has more or less anything you require to make a fully functional game, do i really need to know how to WRITE code ? or just clearly understand what exactly the code is saying ? 

 

The reason im asking is because, while im reading this book and seeing examples... i had a lot of "ah-HA" moments and i fully understand whats going on so far(in relation to the example codes in the book)... but if i think of trying to write the whole code myself ... i just cant remember it...

 

I can see why writing code will be useful if something doesnt work out properly with unity but ill probably be able to google something specific.... so how important is it to actually learn how to WRITE the code? 

 

I think its good to know but not very important ... but im new to this and could be wrong 

 

Thanks a lot



#16 Artemiye   Members   -  Reputation: 958

Like
2Likes
Like

Posted 22 June 2014 - 07:06 AM


do i really need to know how to WRITE code ? or just clearly understand what exactly the code is saying ?

 

If you're interested in becoming a game programmer then yes, you'll want to learn how to write code as it'll increase your available tool set and it'll drastically help your workflow.

 

If you don't plan on spending a lot of time on this, then I would say go ahead and just focus on Unity and C# scripting, or Unreal 4 and their visual Blueprint system (or [insert game engine of choice here]).  I would definitely not recommend a beginner jumping into UE4 C++ because they're doing some interesting things with their build tool that you normally wouldn't see in a stand alone C++ program and it'd only confuse the hell out of someone who's trying to learn C++; However, you can get extremely far with just their Blueprint system.

 

 


but if i think of trying to write the whole code myself ... i just cant remember it...

 

Indeed.  It will take time.  With more practice, you'll learn to solve problems you encounter without needing to memorize specific solutions.  Unity has been around for long enough that you can search "How do I do [X] in Unity?" in google and you'll likely find someone else who encountered the exact same problem and someone else who provided a solution for said person.



#17 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 22 June 2014 - 07:25 AM

 


do i really need to know how to WRITE code ? or just clearly understand what exactly the code is saying ?

 

If you're interested in becoming a game programmer then yes, you'll want to learn how to write code as it'll increase your available tool set and it'll drastically help your workflow.

 

If you don't plan on spending a lot of time on this, then I would say go ahead and just focus on Unity and C# scripting, or Unreal 4 and their visual Blueprint system (or [insert game engine of choice here]).  I would definitely not recommend a beginner jumping into UE4 C++ because they're doing some interesting things with their build tool that you normally wouldn't see in a stand alone C++ program and it'd only confuse the hell out of someone who's trying to learn C++; However, you can get extremely far with just their Blueprint system.

 

 

 

 


but if i think of trying to write the whole code myself ... i just cant remember it...

 

Indeed.  It will take time.  With more practice, you'll learn to solve problems you encounter without needing to memorize specific solutions.  Unity has been around for long enough that you can search "How do I do [X] in Unity?" in google and you'll likely find someone else who encountered the exact same problem and someone else who provided a solution for said person.

 

 

 

Hey and thanks for the reply

 

The intention is to make a fully functional game and release it.... nothing really big though and most probably be in 2d. My wife is very good in designing (im not too bad smile.png ) so i have that part covered.

 

I just want to try and make a game using unity from start to finish, all by myself.

 

I understand what you mean about unreal... when i decided a couple of days ago to move on to c# and unity is because i attempted several times in the past to jump directly into c++ ... it was hectic! Couldn't remember anything because i was trying to understand everything that was going on and learn how to write it... its the writing that made me give up c++ but it suddenly hit me ... that these engines already have more or less, everything you need. So how important is it to know how to write in order to create a "simple" game in unity ?  Will understanding the code, identifying problems ,google searching, learning and amending the issues be enough to get started off? 

 

I was hoping to get through the basics of c# used in unity this week and begin with learning unity's function and then trying to put the game slowly together.


Edited by Aris Savva, 22 June 2014 - 07:29 AM.


#18 Artemiye   Members   -  Reputation: 958

Like
3Likes
Like

Posted 22 June 2014 - 07:58 AM


Will understanding the code, identifying problems ,google searching, learning and amending the issues be enough to get started off?

 

A great way to learn is to run into problems and solve them so I would suggest to start making prototypes until you're comfortable (if you just thought of a prototype, then think even smaller - trust me).  Though if you run into a lot of "I don't know how to do this in C#, or I don't know how that works in C#" then you may want to take a step back and just focus on C# console programming until you're more comfortable with it so it doesn't effect your game development workflow.

 

Get started as soon as you can, but don't burn yourself out.  This is a long process.



#19 Aris Savva   Members   -  Reputation: 123

Like
0Likes
Like

Posted 22 June 2014 - 08:26 AM

 


Will understanding the code, identifying problems ,google searching, learning and amending the issues be enough to get started off?

 

A great way to learn is to run into problems and solve them so I would suggest to start making prototypes until you're comfortable (if you just thought of a prototype, then think even smaller - trust me).  Though if you run into a lot of "I don't know how to do this in C#, or I don't know how that works in C#" then you may want to take a step back and just focus on C# console programming until you're more comfortable with it so it doesn't effect your game development workflow.

 

Get started as soon as you can, but don't burn yourself out.  This is a long process.

 

 

Crystal clear man ... thanks a million 

 

Thats exactly what i plan to do. 

 

Thank you everybody you were very helpful .. you'll be hearing from me very soon again :) 



#20 zee_ola05   Members   -  Reputation: 334

Like
0Likes
Like

Posted 24 June 2014 - 11:43 AM

My apologies guys but i have 1 more question i didnt add here. 

 

Im currently reading a book that teaches you how to use C# in Unity 3d (so basically learning both concepts the same time). Seeing that unity 3d has more or less anything you require to make a fully functional game, do i really need to know how to WRITE code ? or just clearly understand what exactly the code is saying ? 

 

The reason im asking is because, while im reading this book and seeing examples... i had a lot of "ah-HA" moments and i fully understand whats going on so far(in relation to the example codes in the book)... but if i think of trying to write the whole code myself ... i just cant remember it...

 

I can see why writing code will be useful if something doesnt work out properly with unity but ill probably be able to google something specific.... so how important is it to actually learn how to WRITE the code? 

 

I think its good to know but not very important ... but im new to this and could be wrong 

 

Thanks a lot

You want to finish a game all by yourself with Unity? You will definitely have to learn how to code. Unity offers a great set of tools but you have to code to put them all together. If you're using GameMaker, then you probably won't need to code. But with Unity, I'm almost sure you will need it.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS