Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Need help for how to start


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
11 replies to this topic

#1 samsungbrown   Members   -  Reputation: 104

Like
0Likes
Like

Posted 01 August 2013 - 08:29 AM

Just asking for some advice really on how to get into Game/App development from my perspective. Thought people on here would know a great deal more than me.

I have a great idea for a game I would love to make. I have a degree in Computer Science mainly using Java for programming but have not used this in about 4 years. Since university I have been working mainly on web Html/Php/Javascript etc. But am looking at maybe getting back into programming in my spare time to hopefully make this game/app in the future.

I basically don't want to waste my time researching the wrong things. I have spent the past few weeks learning C++ using the web (because I had always thought this was "The gaming language" and had not really thoroughly researched), and am enjoying getting back into this sort of thing greatly. I have since found out to make iOS apps I would need Objective-C and Android would be Java (I have both devices so ideally would want to program for both).

  • Am I wasting my time learning C++? Should I learn Java or Objective-C?
  • I recently found the Cocos2d-x engine which I could use to code in C++ and be multiplatform. This sounds ideal but it seems that there is a very small amount of tutorials/help/books available for this engine. Is this likely to become more popular? Would regular Cocos2d guides be usable at all?
  • Would the right way to learn be to get a fairly good understanding of C++ (or an alternative language) and then to move onto mastering the engine, then finally attempt to make my game/app?

Any comments would be greatly appreciated.

Thanks



Sponsor:

#2 ScottK   Members   -  Reputation: 255

Like
0Likes
Like

Posted 01 August 2013 - 09:49 AM

I would suggest you go with Unity as you are talking about going iOS/android and Unity will allow you to do this without having to re-code. While it is not c++ (javaScript,c#) it has a lot of support and if you already have knowledge of javaScript I don't see any reason why you would not be able to "pick it back up". The biggest problem with Unity for your particular application is the price. You can start for free and even make games for free but, (please correct me if I am wrong folks) to be able to publish to smartphones you will need to pay for a licence.

As for your questions.
  • Am I wasting my time learning C++? Should I learn Java or Objective-C? >>It is up to you honestly C++ is still a great language and if you find it fun stick with it and find a engine that will work for you.
  • I recently found the Cocos2d-x engine which I could use to code in C++ and be multiplatform. This sounds ideal but it seems that there is a very small amount of tutorials/help/books available for this engine. Is this likely to become more popular? >>I can not say as it is open source/2d and their are other more popular engines I would guess that its popularity is not going to explode anytime soon. Would regular Cocos2d guides be usable at all?>>If you understand them than yes, else no.
  • Would the right way to learn be to get a fairly good understanding of C++ (or an alternative language) and then to move onto mastering the engine, then finally attempt to make my game/app?>>I would say this is the best way all too often people get excited and jump into an engine without knowing anything, untimely this hurts them. Its like learning to drive in a race car on a racetrack yeah you get good a making left turns but outside that track you have no idea on what to do in a car.
hope I helped smile.png

#3 samsungbrown   Members   -  Reputation: 104

Like
0Likes
Like

Posted 01 August 2013 - 11:44 AM

Hi Scott,

 

Thanks for the tips. I want to make sure I do it thoroughly so your analogy with the car makes me glad I am going about it  in the right way. I've just had a quick google and Java/C++ isn't too different so I think I will try and find a quick Java guide online to recap myself. Then move onto maybe getting a book and looking at the engine.

 

The Unity engine actually looks a lot better than the one I had found. The game I am planning is going to be isometric and a bit retro (kind of in the same style as Theme Hospital). I think looking at some of the other games created with Unity this should be possible.

 

Thanks for the help



#4 3Ddreamer   Crossbones+   -  Reputation: 3160

Like
0Likes
Like

Posted 02 August 2013 - 12:11 AM

Any of the most common 6-8 languages are just fine once you find a well made development framework for it which targets your deployment platform.  Some development frameworks have binding for several languages, one or more to be chosen by preference. 

 

For many who are new to game development, choosing the development framework may come first and then second select the native language of that framework.

 

 

 

Clinton


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#5 SimonForsman   Crossbones+   -  Reputation: 6293

Like
0Likes
Like

Posted 02 August 2013 - 12:25 AM

I would suggest you go with Unity as you are talking about going iOS/android and Unity will allow you to do this without having to re-code. While it is not c++ (java,c#) it has a lot of support and if you already have knowledge of java I don't see any reason why you would not be able to "pick it back up". The biggest problem with Unity for your particular application is the price. You can start for free and even make games for free but, (please correct me if I am wrong folks) to be able to publish to smartphones you will need to pay for a licence.

 

As for your questions.

 

  • Am I wasting my time learning C++? Should I learn Java or Objective-C? >>It is up to you honestly C++ is still a great language and if you find it fun stick with it and find a engine that will work for you.
  •  
  • I recently found the Cocos2d-x engine which I could use to code in C++ and be multiplatform. This sounds ideal but it seems that there is a very small amount of tutorials/help/books available for this engine. Is this likely to become more popular? >>I can not say as it is open source/2d and their are other more popular engines I would guess that its popularity is not going to explode anytime soon. Would regular Cocos2d guides be usable at all?>>If you understand them than yes, else no.
  •  
  • Would the right way to learn be to get a fairly good understanding of C++ (or an alternative language) and then to move onto mastering the engine, then finally attempt to make my game/app?>>I would say this is the best way all too often people get excited and jump into an engine without knowing anything, untimely this hurts them. Its like learning to drive in a race car on a racetrack yeah you get good a making left turns but outside that track you have no idea on what to do in a car.

hope I helped smile.png

 

It might be worth noting that Unity does not use Java , it uses C#, Boo or UnityScript (Which is based on JScript.Net, a .Net language which is quite similar to JavaScript), JavaScript and Java are two completely different languages that only have similar names for some most likely insane reason.

Unity is now free for iOS/Android as well (pro still cost $1500 per seat and platform though and the free version has quite a few restrictions)


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!

#6 Pink Horror   Members   -  Reputation: 1227

Like
0Likes
Like

Posted 02 August 2013 - 08:55 AM


Would the right way to learn be to get a fairly good understanding of C++ (or an alternative language) and then to move onto mastering the engine, then finally attempt to make my game/app?

 

I don't know why so many people here are working on their own "engine". In my experience, a game engine is whatever is shared between multiple games. That's the problem the engine is really meant to solve: an engine is something that saves you work, either by making one part that can be reused, or by using someone else's engine so you do not have to make that part at all. I don't really think anyone could make a good engine until they already have made at least a couple games to see what would be most useful to share between the types of projects that you tend to work on. A graphics engine might be meaningless if you switch graphics code all the time, but you might always design your AI the same way, so that's where the engine work should go.



#7 3Ddreamer   Crossbones+   -  Reputation: 3160

Like
0Likes
Like

Posted 02 August 2013 - 08:38 PM

Pink Horror,

 

I would add that making a comprehensive game engine from scratch which is really a good one would have to be a team effort over years.

 

 

Clinton


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#8 Solid_Spy   Members   -  Reputation: 450

Like
0Likes
Like

Posted 02 August 2013 - 10:54 PM

The code you use depends on what platforms you want to support. You could learn c++ if you want to make professional games for the pc/mac/Linux, or C#, Java. C++ doesn't work on the android however java does, and C# is easier but not the company standard.


Edited by Solid_Spy, 02 August 2013 - 10:55 PM.


#9 fatzilla   Members   -  Reputation: 200

Like
0Likes
Like

Posted 02 August 2013 - 11:07 PM

If you already know Java check out http://libgdx.badlogicgames.com/ . It can deploy to any platform that supports java pretty much. Also it's really fast according to this benchmark: http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Also I believe the community is pretty big so you'd always be able to find help along with decent amount of samples/tutorials. Good luck



#10 samsungbrown   Members   -  Reputation: 104

Like
0Likes
Like

Posted 03 August 2013 - 04:25 AM

Hi guys,

 

Thanks for the additional info. Has clarified a lot - I definitely feel like I have a direction I can now follow.

 

Just to clarify I wasn't wanting to make a engine from the ground up, I thought it would be easier to learn the language completely to gain a full understanding of how a existing engine worked.

 

I think I read too fast and saw Java instead of JavaScript. I use JavaScript in my day-td-day at work so that would probably be the one to use for now. How much different is UnityScript from JavaScript? I will probably just head straight into using Unity using tutorials online for now to see how I get on. I might try and pick up some C# as well.

 

Thanks again



#11 fatzilla   Members   -  Reputation: 200

Like
0Likes
Like

Posted 03 August 2013 - 08:12 AM

Oh, terribly sorry about that! Here's a wiki for the differences between UnityScript and JS so you can check for yourself: this and this . Unity is a great choice since the community is also as active as ever. Best of luck



#12 greenzone   Members   -  Reputation: 672

Like
0Likes
Like

Posted 03 August 2013 - 08:15 AM

Well personally I believe if you wanted to make your own game engine I think it would be an amazing way to learn. especially if you wanted to get into games. I have written my own engine to in fact learn thoroughly all of the aspects of what goes into a game engine. Plus it kind of forces you to think about how what your doing should be useful for possibly many different applications. Engines are tools used often for many different types of games. You are also going to have to play with just about every major foundational concept through out the process. Plus what your doing the whole time is making tools. Tools that you can build upon and refine and use for a very long time if not just mentally from the experience gained like literally if you write your code so its portable. Yes serious game engines are usually written by many people but I think that as a way to learn it's a great exercise. And either way if you make a game with out writing an engine by yourself its not like the game is going to be of AAA a quality game the first time most likely. And if your game is going to have a higher level of complexity your going to have to write a lot of the code that goes into a game engine any ways. Now I am not saying making small games is not a way to start learning because it certainly is, but I am just saying there is nothing wrong with writing your own engine as a way to learn. With out knowing the complexity of the game you want to make in the end, i would say Either approach is going to take a while, but will be a great learning experience on the way to get to the game your thinking about.

 

I think C++ is an awesome language and is what I use the most but its certainly not the only language. I will say that many other languages are super easy to understand and dive into after you learn C and C++ so your not wasting your time learning that for sure.

 

I will also say if you want the quickest path from where you are to making the game you have in mind, then I would just learn the language that is most appropriate for the game engine you want to use and then just us the tools already provided in that game engine. If you want to become a stronger programmer in the realm of making games then I would either start out trying to write (small games or write your own game engine) as a way to learn Using the language that is the most appropriate for the type of games you want to make as well as the environment you want the game to exist with in.  

 

Good luck and above everything have fun.


J-GREEN

Greenpanoply




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