Newbie here!: Looking for good Game Dev sites/book to start with

Started by
20 comments, last by buttnakedhippie 10 years, 1 month ago

I'm looking to start out with small games that I could maybe end up publishing to the Play Store/App Store. I would REALLY appreciate any suggested starting points with reading materials, different software to try, anything!

I took a short Computer Programming class my senior year of high school, but it didn't focus on much, and it was only one semester. We first covered a bit of HTML, then Kudo, Alice, and lastly, and very briefly, JavaScript.

Advertisement

Since you want to target the mobile device stores, you'll want to learn to develop on mobile.


Android devices run Java programs. (Well, not exactly, but close enough for the For Beginner's forum). There is support for other languages like C++, but that isn't the preferred language for the platform. So with that in mind, you could consider learning Java. There are many great books on the language, but let's not suggest a full list just yet.

Apple's devices run "Objective C" programs. The language, called "Objective C", has very similar roots to C and C++. There were many variants of the language before one version was declared as the international C language standard. When the choice was made there was one "standard C" language and a bunch of "not quite C" languages. Two of them became known as C++ and Objective C, and they became popular on their own. To develop on iOS you can write some code in other languages, but you will need to be able to read and write some parts of Objective C if you go that route. In that case, you'll probably want to learn C++ first and then transition to Objective C. Again, there are many great books on the language you choose.


If you want to write cross-platform code, something that runs on both Android and Apple devices, you can't really use either language directly because the devices are so different. There are several game engines and libraries out there that can bridge the gap between the systems.

Some of them, such as Unity3D, are full-featured game engines. That means you need to provide object scripts, models, textures, and shaders. Since Unity provides the main program and you are only supplementing it, the best languages for that are C# and JavaScript.

Other cross-platform systems are much smaller libraries. They give you code for graphics, sound, and a few other features, but you need to write everything else. For a very simple game like Tiny Wings or other very simple game, "everything else" can be a short list. For major games like 3D racing or a first person shooter, "everything else" can grow to a list that requires many years of work. The list is long, but probably the two most popular right now are LibGDX (uses Java) and Cocos2d-x (uses C++).

Thinking more in the longer term, game studios rely heavily on C++ for their console and PC game engines. Studios also rely on C# for tools, infrastructure, and scripting. Java doesn't really exist on consoles but occasionally found on downloadable games, including the very notable Minecraftbut also thousands of other web games found at online game hubs everywhere. Some webpage-only games are written in JavaScript, both developers and browsers are constantly pushing the envelope of what kinds of online programs can be built directly into a web page. That means all of them have good long-term prospects even if you don't end up with your dream of a mobile device game.

There are many paths to take. If you want to be a game programmer, choosing to learn Java, C++, Objective C, C#, or JavaScript can all start you down the path. There are lists of useful books and web sites for each of them.

You could just pick one randomly, but do any of those languages interest you specifically?

+1 to Unity - not only does it let you publish to iOS/Google Play, but also PC, OS X, Linux...you name it.

Also, apart from C# and 'JavaScript' (it's really UnityScript), you can also use visual scripting tools like Playmaker to get around the code side of things and still make complete games.

Well, to be fair, I was thinking that mobile games would be an easier start and also just a way for me to publish games when I'm finished with them. That's what drives me to want to make them. If this really isn't the case (it being slightly easier) then I might as well start out with what I'm working towards, which is getting into the industry of game development.

If I was planning on familiarizing myself with Unity3D, where would I learn about object scripts, models, textures, and shaders? Since I'm not very knowledgeable about it, should I stick with a basic program for now?

I don't have any languages that interest me specifically, because I haven't spent much time studying up on them. I've seen a lot about c++ being used and I always figured I'd start with that one, but I've recently heard that a language called Python is something people are using now.

So, C++ is programming, while C# (also how would you say that? :p) is for scripting?

Thanks!


So, C++ is programming, while C# (also how would you say that? ) is for scripting?

It's pronounced "C Sharp" and it's a full blown programming language.

Ugh. This is what I'm talking about! I'm still at the very beginning and I just wish there was some sort of linear path to follow. I want to start at the trunk of the tree but I have to pick one of the branches and I don't know which one is best for me.

Is there a book or some sort of resource that goes over the general basics first, or would that probably not even be the route to go? Should I dedicate to learning a language first?


Is there a book or some sort of resource that goes over the general basics first, or would that probably not even be the route to go? Should I dedicate to learning a language first?

Choosing just one language at first is best. Of the one's mentioned I'd probably recommend C# or Java as there's a lot of resources for learning programming that use these languages. Python is another good language to start with. Once you've mastered the basics of programming, it's easy to switch to another language if it suits your needs better.

Of the one's mentioned I'd probably recommend C# or Java

Are these the languages you've learned, if so, how did you go about learning them? Or could you recommend any resources?

Of the one's mentioned I'd probably recommend C# or Java

Are these the languages you've learned, if so, how did you go about learning them? Or could you recommend any resources?

I learnt C# from reading Microsoft's documentation. I don't know Java that well. I just picked up enough to put together a few Android apps. I have been programming for around 30 years though, so it makes it pretty easy to learn a new language.


I don't know Java that well. I just picked up enough to put together a few Android apps.

What program do you use to put together your Droid apps?

This topic is closed to new replies.

Advertisement