• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Aris Savva

Unity
Learning Game engine or Programming first

19 posts in this topic

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
1

Share this post


Link to post
Share on other sites

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.

2

Share this post


Link to post
Share on other sites

@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 ? 

1

Share this post


Link to post
Share on other sites

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) ? 

0

Share this post


Link to post
Share on other sites


@ 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.

1

Share this post


Link to post
Share on other sites

 


@ 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)

0

Share this post


Link to post
Share on other sites

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)

2

Share this post


Link to post
Share on other sites

 


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 ? 

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites


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...

2

Share this post


Link to post
Share on other sites

 


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:)

0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites


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.

2

Share this post


Link to post
Share on other sites

 


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
0

Share this post


Link to post
Share on other sites

 


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 :) 

0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • By Tset_Tsyung
      Hey all,

      As the heading says I'm trying to get my head around Goal Objective Action Planning AI.  However I'm having some issues reverse engineering Brent Owens code line-by-line (mainly around the recursive graph building of the GOAPPlanner).  I'm assuming that reverse engineering this is the best way to get a comprehensive understanding... thoughts?

      Does anyone know if an indepth explanation on this article (found here: https://gamedevelopment.tutsplus.com/tutorials/goal-oriented-action-planning-for-a-smarter-ai--cms-20793), or another article on this subject?

      I'd gladly post my specific questions here (on this post, even), but not too sure how much I'm allowed to reference other sites...

      Any pointers, help or comments would be greatly appreciated.

      Sincerely,

      Mike
    • By E-gore
      Hi all,
      This is our (xDBAGames) first game
      Called Iron Dome Legacy.
      It is a Missile Command clone. In this game you control the Israeli "Iron Dome" anti missile defence system.
      Features: 
      The player has limited amount of missiles. The Iron dome system is upgradable. The money is determined by the outcome of a level. The game is free. There are only rewarded ads. We tried to create a game that has some context to the daily life, but we are sure not trying to be political here.
      I hope you could try this game, and we will appreciate any comments.
      xDBAGames is a company of two programmers. That have no experience in the video game industry, but have a lot of passion for games.

    • By UNNYHOG
      Hello, Colleagues!
       
      We have been working on our newest Fantasy style Gesture based MOBA game for a long time and it's releasing on Steam on July 26. Meanwhile you can already try it out by downloading our launcher from the website.
       
      Any feedback is welcome here. Thank you.
       
      If you don't want to play, I would love to share with you our teaser : 
       
       
       
    • By Scouting Ninja
      So I am working on a mobile game.
      It uses slides for a story, the slides are very large. Each slide is almost 2048*2048; the max texture loading size I am using for the game.
       
      My problem is that Unity keeps each slide in the memory after it's loaded, even when it will show only once per game. This leads to the game crashing on older mobiles.
      My idea was to destroy each object after it was shown using a coroutine, so it deletes the past slide and loads the next slide. This worked because instead of crashing on 23 slides it crashed on 48 slides.
      After some profiling I realized that destroy() isn't clearing all the memory that a slide used.
       
      What I want to do now is assign a limited amount of memory as a slide slot. Then I need some way to unload the slide from the slot, freeing the slot for the next slide; without Unity storing the slides in the memory.
      Any ideas on how I would do this? 
    • By LoverSoul
      Hello everyone.
      I had a problem with transferring my character from the creation editor to the game engine. I created the character in Adobe Fuse, then imported it to Mixamo to put rig and animation.
      However, the appearance of my character has deteriorated significantly, and after importing into Unity, the character even began to look like a meme from the Assassin's Creed. Can you please tell me how I can fix all this so that my character's hair does not look like bits of bacon sticking to her head, and her eyes and mouth have taken their stable position in the skull?
      Thank you for attention.



  • Popular Now