• 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
samsungbrown

Need help for how to start

11 posts in this topic

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

0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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)

0

Share this post


Link to post
Share on other sites


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.

0

Share this post


Link to post
Share on other sites

Pink Horror,

 

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

 

 

Clinton

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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.

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