Need help for how to start

Started by
10 comments, last by pressgreen 10 years, 8 months ago

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

Advertisement
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

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

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

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)

[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!


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.

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

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.

View my game dev blog here!

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

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

This topic is closed to new replies.

Advertisement