Games Development - Advice for starting out.

Started by
7 comments, last by SirWeeble 8 years, 8 months ago

Right, I'm not sure if this was the best place to post this but this forum seems active. I've recently finished college (BTEC Level 3 Diploma IT, DDD) and am looking to go into games development but I don't really know where to start.

I have pretty much no experience coding in any language, the games development units in our college were useless we had to create a space invaders styled game using Phaser Game Engine, we had no choice in what we were making other than what graphics were used and we were pretty much told exactly what to write as the units were so short, so not much was learn't.

What I want to know is what would be the best language to start out with and why? Where should I start? Should I play around with Unity3D follow some tutorials? Learn Actionscript 3 and make a few flash games? Maybe start with something like Ruby? Or start out with a graphical based engine, something simple like RPGmaker VX Ace, although I'm not sure I'd learn much that way.

So, what would you recommend and why? And how long is expected before I can produce anything that would be commercially acceptable (I know this is a difficult question as it is different for everyone, I am just asking for an average).

Also it'd be very helpful if someone could recommend where to start out learning, I'm not a fan of reading books to learn, I prefer experience, and I'd choose a video tutorial over a text based tutorial any day.

Hmm, I'm not sure what else to say really, if any other info would be helpful just say and I'll provide. Hopefully I'll get some helpful replies biggrin.png

If there is a better place for this thread I'd be grateful if a forum moderator could move it for me, thanks.

Advertisement
Moving you to For Beginners. :)

- Jason Astle-Adams

Moving you to For Beginners. smile.png

Thanks, can a thread title be changed? Because looking at my title and its in the beginners section now, won't people click on this looking for advice, rather than to give advice?

It sounds like you know about some of the choices, so my advice would be to simply pick something and start doing something. Say you picked... Unity and went with that. There are TONS of tutorials and videos on Unity out there that are easy to find. You can watch those videos, read the tutorials, and start creating in the Unity editor right away.

If you do choose Unity I like the Digital Tutors site or Lynda. There are many other resources available but those are some I have used.

Flash is really a dieing tech in my mind. It wouldn't hurt to use it, but since you have used Phaser why not start with that? There is a good tutorial section.

Grab some tech, and spend some time working through the introductory tutorials for it. Stick with the tech and make a simple game. Repeat until you have made many games and then learning new technology will seem easier.

Also making a game for sale is tough. Your game will need to be high quality and even then you might not make anything. We can't realistically tell you in your situation when or if you will ever be ready to make a game for sale, only you can really determine that. I don't think there is an average I could tell you that would really mean anything. It could be anywhere from several months to several years to several decades. There is much more to making money at this then just being able to develop a game... Your audience, marketing, and game have to align perfectly to really make money on it.

The advice I normally give is start small and work your way up! There is so much to learn that you will learn a lot by simply picking a direction. There is no best, only different choices that are the "best" for their particular intended use. The choice of technology really depends on what your requirements are, but as a beginner the choice is really more of a matter of personal preference. Pick something you like and go with that.

As a developer you will learn and use many different languages/tools/engines in your career. Don't be afraid of making the "wrong" choice because all learning is valuable. You will hopefully eventually see that the concepts are fairly universal and that the knowledge you learn in one area easily translates to another.

It sounds like you know about some of the choices, so my advice would be to simply pick something and start doing something. Say you picked... Unity and went with that. There are TONS of tutorials and videos on Unity out there that are easy to find. You can watch those videos, read the tutorials, and start creating in the Unity editor right away.

If you do choose Unity I like the Digital Tutors site or Lynda. There are many other resources available but those are some I have used.

Flash is really a dieing tech in my mind. It wouldn't hurt to use it, but since you have used Phaser why not start with that? There is a good tutorial section.

Grab some tech, and spend some time working through the introductory tutorials for it. Stick with the tech and make a simple game. Repeat until you have made many games and then learning new technology will seem easier.

Also making a game for sale is tough. Your game will need to be high quality and even then you might not make anything. We can't realistically tell you in your situation when or if you will ever be ready to make a game for sale, only you can really determine that. I don't think there is an average I could tell you that would really mean anything. It could be anywhere from several months to several years to several decades. There is much more to making money at this then just being able to develop a game... Your audience, marketing, and game have to align perfectly to really make money on it.

The advice I normally give is start small and work your way up! There is so much to learn that you will learn a lot by simply picking a direction. There is no best, only different choices that are the "best" for their particular intended use. The choice of technology really depends on what your requirements are, but as a beginner the choice is really more of a matter of personal preference. Pick something you like and go with that.

As a developer you will learn and use many different languages/tools/engines in your career. Don't be afraid of making the "wrong" choice because all learning is valuable. You will hopefully eventually see that the concepts are fairly universal and that the knowledge you learn in one area easily translates to another.

So if flash is decaying, I assume I should stay clear from it? I'd be interested in creating browser games to start out, for places such as Kongregate, what would you recommend for this if not flash? I'd like to start out with something fairly simple such as a TDG or Platformer.

If I were to go the Unity3D route I assume I'd have to learn C# and Java? Is this correct? I also understand that C# is an industry standard language so maybe a good starting point?

I'm not sure what you said about a game must be high quality to even think about generating income, I've seen so many terrible games that have even made it through to Steam and have sold in the thousands, I've seen alot of games I thought I could have done much better, maybe I'm being optimistic biggrin.png.

I've also seen alot of terrible Flash, iOS and Android games that have generated insane income, some just from displaying adverts, I also understand that alot of these are just very lucky developers. Generating income isn't going to be a priority for this yet anyway, for now I just want to be able to create and develop my own programs and games, and eventually I'll hopefully either get a job within games development, become an indie developer, or just keep this as a hobby laugh.png.

Hope you can get back to me, or someone else if you can't smile.png . Hmmm, still not sure on what to do...

Edit: Oh and thanks for your reply, still not sure on what to do but its given me something to think about.

It sounds like you know about some of the choices, so my advice would be to simply pick something and start doing something. Say you picked... Unity and went with that. There are TONS of tutorials and videos on Unity out there that are easy to find. You can watch those videos, read the tutorials, and start creating in the Unity editor right away.

If you do choose Unity I like the Digital Tutors site or Lynda. There are many other resources available but those are some I have used.

Flash is really a dieing tech in my mind. It wouldn't hurt to use it, but since you have used Phaser why not start with that? There is a good tutorial section.

Grab some tech, and spend some time working through the introductory tutorials for it. Stick with the tech and make a simple game. Repeat until you have made many games and then learning new technology will seem easier.

Also making a game for sale is tough. Your game will need to be high quality and even then you might not make anything. We can't realistically tell you in your situation when or if you will ever be ready to make a game for sale, only you can really determine that. I don't think there is an average I could tell you that would really mean anything. It could be anywhere from several months to several years to several decades. There is much more to making money at this then just being able to develop a game... Your audience, marketing, and game have to align perfectly to really make money on it.

The advice I normally give is start small and work your way up! There is so much to learn that you will learn a lot by simply picking a direction. There is no best, only different choices that are the "best" for their particular intended use. The choice of technology really depends on what your requirements are, but as a beginner the choice is really more of a matter of personal preference. Pick something you like and go with that.

As a developer you will learn and use many different languages/tools/engines in your career. Don't be afraid of making the "wrong" choice because all learning is valuable. You will hopefully eventually see that the concepts are fairly universal and that the knowledge you learn in one area easily translates to another.

So if flash is decaying, I assume I should stay clear from it? I'd be interested in creating browser games to start out, for places such as Kongregate, what would you recommend for this if not flash? I'd like to start out with something fairly simple such as a TDG or Platformer.

If I were to go the Unity3D route I assume I'd have to learn C# and Java? Is this correct? I also understand that C# is an industry standard language so maybe a good starting point?

I'm not sure what you said about a game must be high quality to even think about generating income, I've seen so many terrible games that have even made it through to Steam and have sold in the thousands, I've seen alot of games I thought I could have done much better, maybe I'm being optimistic biggrin.png.

I've also seen alot of terrible Flash, iOS and Android games that have generated insane income, some just from displaying adverts, I also understand that alot of these are just very lucky developers. Generating income isn't going to be a priority for this yet anyway, for now I just want to be able to create and develop my own programs and games, and eventually I'll hopefully either get a job within games development, become an indie developer, or just keep this as a hobby laugh.png.

Hope you can get back to me, or someone else if you can't smile.png . Hmmm, still not sure on what to do...

Edit: Oh and thanks for your reply, still not sure on what to do but its given me something to think about.

You can use Flash if you want. Flash is still around and still in use, but there are security issues with it and I think (but am not totally sure) that some browsers are disabling it by default. There are HTML5 games on Kongregate. The tutorial for Phase is a platform game.

C# is the most popular language for Unity, but it also supports UnityScript and Boo. If you are using Unity then you really should write your code using C#. The other languages exist but I believe Boo is sort of going away in newer Unity versions. Most resources will use C#.

I doubt many people start out with the intention of making a "terrible" game. Making a game is hard work and takes a long time. There are countless decisions and countless hours that go into even "simple" and "terrible" games. I think it is easy to underestimate the effort that goes into creating something when there is a lack of familiarity with what goes into creating something.

If you are still looking for specific direction then download Unity and work through the tutorials. Then try to make a simple game like breakout. If you can work through all of that then I think you will have a better understanding of what to do next.

It sounds like you know about some of the choices, so my advice would be to simply pick something and start doing something. Say you picked... Unity and went with that. There are TONS of tutorials and videos on Unity out there that are easy to find. You can watch those videos, read the tutorials, and start creating in the Unity editor right away.

If you do choose Unity I like the Digital Tutors site or Lynda. There are many other resources available but those are some I have used.

Flash is really a dieing tech in my mind. It wouldn't hurt to use it, but since you have used Phaser why not start with that? There is a good tutorial section.

Grab some tech, and spend some time working through the introductory tutorials for it. Stick with the tech and make a simple game. Repeat until you have made many games and then learning new technology will seem easier.

Also making a game for sale is tough. Your game will need to be high quality and even then you might not make anything. We can't realistically tell you in your situation when or if you will ever be ready to make a game for sale, only you can really determine that. I don't think there is an average I could tell you that would really mean anything. It could be anywhere from several months to several years to several decades. There is much more to making money at this then just being able to develop a game... Your audience, marketing, and game have to align perfectly to really make money on it.

The advice I normally give is start small and work your way up! There is so much to learn that you will learn a lot by simply picking a direction. There is no best, only different choices that are the "best" for their particular intended use. The choice of technology really depends on what your requirements are, but as a beginner the choice is really more of a matter of personal preference. Pick something you like and go with that.

As a developer you will learn and use many different languages/tools/engines in your career. Don't be afraid of making the "wrong" choice because all learning is valuable. You will hopefully eventually see that the concepts are fairly universal and that the knowledge you learn in one area easily translates to another.

So if flash is decaying, I assume I should stay clear from it? I'd be interested in creating browser games to start out, for places such as Kongregate, what would you recommend for this if not flash? I'd like to start out with something fairly simple such as a TDG or Platformer.

If I were to go the Unity3D route I assume I'd have to learn C# and Java? Is this correct? I also understand that C# is an industry standard language so maybe a good starting point?

I'm not sure what you said about a game must be high quality to even think about generating income, I've seen so many terrible games that have even made it through to Steam and have sold in the thousands, I've seen alot of games I thought I could have done much better, maybe I'm being optimistic biggrin.png.

I've also seen alot of terrible Flash, iOS and Android games that have generated insane income, some just from displaying adverts, I also understand that alot of these are just very lucky developers. Generating income isn't going to be a priority for this yet anyway, for now I just want to be able to create and develop my own programs and games, and eventually I'll hopefully either get a job within games development, become an indie developer, or just keep this as a hobby laugh.png.

Hope you can get back to me, or someone else if you can't smile.png . Hmmm, still not sure on what to do...

Edit: Oh and thanks for your reply, still not sure on what to do but its given me something to think about.

You can use Flash if you want. Flash is still around and still in use, but there are security issues with it and I think (but am not totally sure) that some browsers are disabling it by default. There are HTML5 games on Kongregate. The tutorial for Phase is a platform game.

C# is the most popular language for Unity, but it also supports UnityScript and Boo. If you are using Unity then you really should write your code using C#. The other languages exist but I believe Boo is sort of going away in newer Unity versions. Most resources will use C#.

I doubt many people start out with the intention of making a "terrible" game. Making a game is hard work and takes a long time. There are countless decisions and countless hours that go into even "simple" and "terrible" games. I think it is easy to underestimate the effort that goes into creating something when there is a lack of familiarity with what goes into creating something.

If you are still looking for specific direction then download Unity and work through the tutorials. Then try to make a simple game like breakout. If you can work through all of that then I think you will have a better understanding of what to do next.

Okay, I'll start with that, thanks for helping, also what do you think about doing a computer games development BSc honours 3 year undergraduate course such as this course around London: - http://goo.gl/TImhB

I am considering this, even if I don't go this year, I can next, what do you think? Oh and I completely understand that making a game takes up alot of time, but it doesn't take a game developer to see bad decisions and rushed content. I'm sure all those games I've classed as bad have had thousands of hours put into them.

Personally I would recommend staying away from game development specific curriculum and instead go with general Computer Science or Software Engineering. There are a lot of jobs outside of the game development industry if you are interested in programming and so locking yourself into just game development could be a mistake. (I am a Software Engineer but I don't work in the game industry even though I got my start programming games). The game development programs might be good (I can not judge them as I have not taken them), but I don't know how well received they will be outside (or even inside) of the game development industry.

Sometimes when working on games it might be apparent that certain aspects are not up to par with what you would like, but due to budget and time issues the situation is unavoidable. For example one time when I was working on a game the artist did not properly export alpha channels in the images that were created. This was not really a fixable situation for various reasons and so we did the best we could to correct the images, but the quality did suffer as a result. Another time I got animations back that were designed for a different FPS then they should have been and we had to make it work. Sometimes known bugs get released because it is supposed to get released on a product and it is viewed that the bugs are not game breaking enough to warrant delaying the product release and costing lots of money. Cool feature ideas that would enhance game play get cut by the project manager because of time constraints and because there are more critical issues to address. These things happen due to the reality of the world. Unfortunately not everyone can be like Blizzard and delay the games for months/years at a time to fix issues. There is not infinite time, and games are typically "done" when the money runs out and the deadline hits.

I'd highly recommend Unity3d and c#. You don't really need to learn Java AND C#, just one or the other. C# is probably more useful later down the road.

There's no better way to learn than just by jumping in. Try a few tutorials to get you started so you can get the basics of the programming language. From there on out it's trial and error. I personally never took a single programming class, I'm a 100% self-taught programmer. I went to school for game art. I may not be employable as a programmer- since I don't have a piece of paper that says I can program, but I can make all my own art and I can program pretty much anything I can imagine.

I put out my first iPhone game 2 years after i started learning c# (i knew c++ and BASIC before that ) It took a long time to make a fairly simple game, but i was able to learn everything I needed about C# in the time it took to make the game. From there on out, it's just about expanding your bag of tricks and learning to organize your code and project in a way that doesn't limit how complex you can make the program.

The real key is to start with something very simple. That way, you'll be able to actually finish it. By simple, i mean stupid-simple. Even copying a old NES game would be too complex for a beginner. Think Pong.

This topic is closed to new replies.

Advertisement