Sign in to follow this  
chris3d165

The Novices Guide to becoming a game Programmer and artist!.

Recommended Posts

chris3d165    384
Hello Viewers .
Im sure topics similar to this have been posted the only trouble is the material isn't quit all covered as to what im looking for and that's why i need help, me and alot of other beginners, please this is not intended to be a troll post please keep any negitive replies outside we are looking for help and not discouragements this thread is one that has questions that allot of beginners could benefit from, Now lets get started the first thing is programming i tried and failed i picked up a C++ book dived straight in but had hell and turned away but now ill try again with the help of you good readers with experiences and for the real question what is the proper way to begin programming in c++ and basically programming in general what should one learn prerequisite to diving into the real programming what topics should be covered in order to better understand it and also to be able to think like a programmer please name everything topic needed and also books that you guys would recommend we the beginners get and next what are some skills outside of IT that would also benefit. Next how about math what type is needed when programming per say games .Now onto the art side of things Lets talk architecture Where does one begin to learn about creating buildings and in my case buildings from the medieval times Where could i get started What books could be recommended and please guys don't just throw a book at us that you just so happened to see in amazon's search.A proper reference as to how to think like a medieval carpenter,architect would be much appreciated Id like to know how to become very creative and expand upon whats already made so that when 3d modeling comes the buildings aren't too generic but rather slightly more original and allot more interesting to look at ,the next thing is not only the outside but interiors and do you guys know good material not only books but videos and documentaries on medieval life ,tools they used, basically how the medieval times was broken down as in how was things back then.Now the other issue terrain where do i get started on building professional terrain that fits medieval times and lastly,Texturing the more colorful side of things where do you learn to make textures for clothes,skin and anything that's more on the complex side can you guys post references and tutorials thank you all i hope this thread becomes filled with inspiring , motivational words that come from great people with experience that love helping those that need it thank you readers im looking forward to seeing what's next

Share this post


Link to post
Share on other sites
chris3d165    384
What would the time line be if you guys were to lay it out on learning programming languages.

For example:

Python,Java,C++

I would like to know where to start and what to move onto, not to say im going to rush but more of an idea of what i should go after.

Share this post


Link to post
Share on other sites
Eastfist    160
[quote name='JTippetts' timestamp='1346535272' post='4975551']
What you should worry about instead of language progression, is learning one language [i]really well[/i]. Once you have a strong grasp on programming, you will understand that the differences between most languages is very superficial.[/quote]

+infinity

OP, make an HTML+Javascript+CSS webpage game first. Make a div box move around on the screen when you press the keyboard. Then try to duplicate that in c++. Once you understand what it takes just to make a simple rectangle move on the screen, then you have conquered your first step. Everything else is built on that and it will become very complex so organization is going to be vital.

Share this post


Link to post
Share on other sites
6677    1054
[quote name='chris3d165' timestamp='1346534502' post='4975548']
Python,Java,C++
[/quote]
Well thats already in a neat order of complexity. You might well get away with skipping java and going straight to C++, however you could well never get onto C++. C# is a frequent substitute for java aswell.

Share this post


Link to post
Share on other sites
GlenDC    549
I started with .NET, then I moved on to AS3. But that's all because of family and school.

In my spare time I learned Java and Python. Since last year I study a game development course at College University.
So now I've been working with C++ for a little bit more than a year. ( I also learned a lot of more languages than that, but for the sake of this post I'm not going to mention my entire history. The reason I wrote all these things, was to introduce my opinion.

In general the concept of how you have to think is the same for all languages. Yes, this is not true, but how I see it there are a few important differences to be mentioned:[list]
[*]Languages have typical their own set of rules and syntax format. However you will see that the general concepts stay the same. ( e.g.: conditional operators, arithmetic operators)
[*]Each language has its own history and standardisation process. With these each language his standard Libraries get bigger and bigger. So when you learn a new language it is really important that you learn about these libraries, so that you can get the most out of the language as possible. It also boosts your productivity A LOT. ( Just try to imagine what you would do without the STD library of C++ ). It's also important to know the important non standard libraries. (e.g. in C++ you have the Boost library)
[*]It's important to know that you also have layers of languages. Typical described with a generation. The higher the generation the easier it is to understand and use, but the less control you'll have.
[/list]
Personal, I don't think it's wrong to start with C++ from the start off. A lot of my fellow students learned C++ as their first language and they are doing quite well. Up to the point that they are now writing their own 3D Game Engine with DirectX10. The problem is that C++ has quite a lot to offer. Also don't try to go for some visual interfaces right from the bet. Don't expect to be able to make a visual game as a beginner. Just try to learn the basics and understand what the options are, what is possible and what you should best in certain situations. It's also important that you'll learn that there are certain things you can better avoid, although they exist. I learned C++ with[url="http://www.amazon.com/Primer-Plus-Edition-Developers-Library/dp/0321776402"] this book[/url] (I learned it with the 5th edition, but why bother buying that ancient thing if theirs a 6th edition?). He really explains it well and you will really know your basics. It also gives you an introduction to the STD library.

[edit] Btw, I also wrote a small post about my blog a few days ago in which I list some really great articles, lists. Most of them are more advanced but still, there are some basic ones. So if you have some spare time over you can maybe check it out [url="http://www.glendc.com/?p=321"]here[/url].

Ofcourse you could start with a more basic language like Python, but I do not think it is necessary.
Keep in mind that I'm just a student, who sucks at expressing himself in the English language.Most of the people answering these topics are way more experienced than I am. With that in mind I hope that i didn't write to many things in a wrong way. And I hope it helps you a little bit.

Btw you really ask a lot of questions about a lot of different things. Don't expect to learn arts and programming at the same level at the same time. Frankly, I think it is quite impossible to become really good in both fields. This is even more true for when you learn everything on your own. In this game course for example, we also learn 3D for games. In which we learn to model, texture and other stuff. For this we use 3dsmax, photoshop and Mudbox. The thing is their is no student that is really good in both 3D and programming. And even in programming there are people who are better in certain areas than they are in others.

So try to learn only one or two things at the same time and try to really master them for a while. If you want to learn to Program don't expect to become good in something really fast. There is really a lot you'll have to learn. There is so much you have to know. Becoming a master, takes a life of experience. With this in mind, just try to learn the basics and continue from there on. Get to know yourself and your boundaries. Learn to embrace failure and headaches.

Good luck mate! Edited by GlenDC

Share this post


Link to post
Share on other sites
ifthen    820
[quote name='chris3d165' timestamp='1346454142' post='4975258']
* what is the proper way to begin programming in c++?
[/quote]
The proper way to begin programming in C++ is to start from the scratch (that means console). Get a good book about it (I personally liked Teach yourself C++ in 21 days) and try to understand. C/C++ is hard to learn because you have to understand everything in your code (and how the computer processes it). After a year of learning (and failing), you should be able to jump to other things that interest you (say DirectX/OpenGL, because you want to make games). That means 3+ years of experimenting with the graphics API and C++ (since you probably still don't understand it perfectly and you get a lot of segmentation faults). You should be able to start writing your game engine after you grasp all of this. And that means many years of work.
[quote name='chris3d165' timestamp='1346454142' post='4975258']
* what is the proper way to begin programming in general?
[/quote]
Get a book about an easy language to learn (Python should be okay). Be warned: if you would someday need to learn low-level languages and be proficient only with the high-level ones, you will have to learn a lot of things. Low-level to high-level, on the other hand, is practically seamless.
[quote name='chris3d165' timestamp='1346454142' post='4975258']
* what prerequisites should one learn before diving in to programming?
[/quote]
Excellent English (if you are not a native speaker), very good computer skills. Above all, you must be able to think logically.
[quote name='chris3d165' timestamp='1346454142' post='4975258']
* what topics should be covered in order to better understand programming and also to be able to think like a programmer?
[/quote]
"Thinking like a programmer" is a vague term. In any case, you should know how to structure your program flow. If you are learning a low-level programming language, you should know how a computer works and "thinks". And you should be familiar with paradigm of the language you are programming in.

[quote name='chris3d165' timestamp='1346454142' post='4975258']
*What types of math are needed when programming games?
[/quote]
A lot of maths is needed. High-school maths are surely needed. If you are programming something special, you will probably need a subset of college maths.

That's probably all I am qualified to answer. Feel free to ask other questions.

Share this post


Link to post
Share on other sites
chris3d165    384
Firstly i am a native speaker of English Ny,USA and next Thank you for you'r kind answers.I look forward to what awaits in the future thankfully now with the help of you wonderful people hopefully i will be able to accomplish my goals.

Now lets see i don't think i am going to jump into any low level languages at the moment because they really do seem like they were invented in hell, So do you Users think it would be a nice idea to stick with learning python then c++ or should i change that, Honestly id love to go with c++ but as stated earlier it isn't such a good idea ,what do you think.Also thanks GlenDC for recommending that book i am going to purchase it hopefully it will be a good buy, i trust your word. but in the future i would like to get into low level languages maybe in a few years, i bet ill have to do it in college at some point but yes as for now i am anxiously awaiting your responses .

Share this post


Link to post
Share on other sites
LennyLen    5715
[quote name='chris3d165' timestamp='1346609220' post='4975783']
Firstly i am a native speaker of English Ny,USA
[/quote]

In that case, before you click the 'Post' button, read your own post. Then read it again. Next, imagine you are somebody who has no knowledge of your situation, then read it [b]again[/b]. People here would love to help you, but you're making it harder for everyone with your incoherent writing style. The more effort you put in to making yourself understood, the more effort others will put in to helping you.

Share this post


Link to post
Share on other sites
chris3d165    384
I'm sorry lennylen
i,m still working on that issue.My apologies to those who get angered or have a hard time figuring out what i'm trying to say.
Next i just wanted to say im native to english because people think im something else at times i though it might clear up as to why i might have written like that earlier.I'm still fairly new to the forums so bear with me please.

I have made my choice with which language to go with and its C++. I got the book :
Starting Out with C++: From Control Structures through Objects, 7th edition.
As of now my funds for buying new books are going to have to pause so if anyone has any suggestions on more free material please post thankyou

It seams like a great book to start with due to its reviews and such [url="http://www.amazon.com/Starting-Out-Control-Structures-through/dp/0132576252"]http://www.amazon.com/Starting-Out-Control-Structures-through/dp/0132576252[/url]

Share this post


Link to post
Share on other sites
jbadams    25677
[quote name='chris3d165' timestamp='1346622871' post='4975843']
I have made my choice with which language to go with and its C++. I got the book :
Starting Out with C++: From Control Structures through Objects, 7th edition.
As of now my funds for buying new books are going to have to pause so if anyone has any suggestions on more free material please post thankyou
[/quote]
You might also try [url="http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html"]Bruce Eckel's "Thinking In C++"[/url], which is a two-volume book available for free online and provides an excellent coverage of the C++ language and standard library. You might supplement your reading with a couple of online references: [url="http://www.learncpp.com/"]LearnCpp.com[/url] provides a series of tutorials on the language, and when you're getting a little further along but want to look up a particular topic [url="http://en.cppreference.com/"]cppreference.com[/url] provides a good reference.

For best results, make sure you don't just read through your book -- actually do all the exercises, even if they seem trivial or boring, as the experience of actually working with your tools and writing (even simple) code and solving any problems that occur is an invaluable experience.

You might also text your understanding of the material by making your own changes to the exercises and sample code:[list]
[*]Pick some small change to make, and try to predict what the result will be. Then try it out and see if you were correct. If you were then you're starting to have a good understanding of the material. If you were wrong, then you have an excellent opportunity to learn something new by figuring out or asking [i]why[/i] the result was different than you expected.
[*]Mess up simple example programs completely randomly -- but make sure to only change [i]one[/i] thing at a time before testing so you know the cause of the problems. Simple things like adding a random character, deleting a single character, or changing the spelling of something. This will expose you to different error messages and problems that can occur, so that you might have an idea of what to look for when you run into the same problems for real with bigger programs.
[/list]

Don't be afraid of mistakes, and don't be too frustrated when you make them. Don't be ashamed to admit you made a mistake or don't understand something, and seek help. You will make [i]many[/i] mistakes whilst programming, and every other programmer makes (or has made) just as many. Mistakes are your most valuable opportunity to learn, and they provide an excellent example of what does and doesn't work in the real world. The greatest programmers have learned what they know by writing hundreds of thousands of lines of code, and by making and learning from thousands of mistakes along the way. As a beginner, trying and failing -- and then taking the time to learn [i]why[/i] -- is one of the most valuable experiences you can have.

[quote name='chris3d165' timestamp='1346623193' post='4975844']
What motives you to keep programming ?
What is the drive, the desire and how do you build that motivation?
[/quote]
That's a bit of a personal question, and different people will have different answers. Why did you originally decide you wanted to learn programming? What was it that encouraged you to come to this forum and create a topic asking for advice? I suspect that for you, like many others, the answer probably involves bringing some game ideas to life, or perhaps a bit of curiosity about how your favourite commercial video games were created. If that's the case, then you probably want to aim for small goals along the way so that you can see you are moving towards your dream of creating a great game. You might aim for a simple "guess the number" game, then a simple text-based fighting game, then "hang man", then something graphical like a Pong clone, and so-on-and-so-forth.

Personally, I have two main motivations in programming:[list=1]
[*]I love problem solving, and at it's essence that's exactly what problem solving is. You have some goal to be achieved, and a set of limitations on how it must be done. It's wonderful to encounter and solve new problems, or even to find newer or better solutions to old problems.
[*]It's useful. Programming can help you to solve real-life problems or make your day-to-day life easier, and for me it's part of how I make my living.
[/list]


Hope that's helpful! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Share this post


Link to post
Share on other sites
chris3d165    384
Thank you Sr. that answer made me smile because it sparked a light for hope.
You know, since i was about 12 ,a bit younger maybe i always told my mom i'm going to make a game someday, i always told my family i will ,ill show you all.
That is one of my most biggest motivations ,the fact that i was so young and drem't of accomplishing such a big task,
it is one thing that i just have to accomplish no matter how many times i fail ill keep trying the one major obstacle in my course at this moment is programming ,its the logic it always has been, i'm more of a creative person, the game engine isn't much of a hurdle for me , I've been in cry engine , UDK which is my favorite ,and unity which i got for mobile development ,but the programming just always shut me off to the real part of game development i could never go farther than creating a level and this is the next reason as to why i am here ,that's why i created this thread because i saw the light and i had to find it,i saw the guides and you all are helping me well that last post really was, thank you :)

There is another thing id like to know is hero script the only language available in hero blade/hero engine ?

Share this post


Link to post
Share on other sites
6677    1054
I think C++ might be available, really Hero engine is for MMO's which you shouldn't be touching with a barge pole (a very very long barge pole) until you've had a few years experience in programming and a few more in game development. Its also not free.

Unity for mobile development will set you back even more than hero engine at $400 each for android or iOS plus the developers licenses applicable to those platforms ($25 for android, $99 for iOS plus the official SDK requires a mac normally which is another $1500 or so but I don't think unity requires that)

Something to consider with those engines which may influence your choice of programming language to learn and work towards is what language the engine uses.

Cryengine uses C++. Cryengine has a bit of a reputation for making experienced C++ game developers want to rip their hear out as its incredibly difficult but then it was aimed at professional studio's not indie's but the eye candy........ (last point would require high quality models and artwork of course, just loading a cardboard box into cryengine isn't gonna make it look any better than some other engine)

UDK uses its own scripting language which is unrealscript. From what I know its structured similarly to C++ and supposedly easy enough to pick up IF you have prior programming experience.

Unity can use one of 3 languages by default in the free version. Unityscript which is a modified form of javascript, C# or Boo which is a newish language inspired by the syntax of python but aimed at usage on the .net and mono frameworks - I've used it once and think its quite nice but there are hardly any tutorials around.


If your now dead set on C++ and one of those 3 engines I think you might be best off getting to grips with C++ first (think 6 months or a year or so of console based applications, command console not games console :D) and then maybe taking a look at UDK. Cryengine will make you cry, its in the name.

Share this post


Link to post
Share on other sites
chris3d165    384
Thanks, i knew about the other engines i mostly wanted to get into hero so i can get experience with it, so that when i can program properly ill find a bigger team and be set.
The great thing about unity is that they were giving out free android and ios mobile license and i got one it was funny..i was just about done with game development and one day it sparked my mind to go online and look at the unity page and what did you know i got my self $800 in savings and a chance to dev.but me and a friend wanted to try making an mmo around late next year or so and here i am today trying to figure of whats best and i cant thank everyone enough :)

Share this post


Link to post
Share on other sites
6677    1054
The MMO is something that alot of people want to work towards but they must remember its not a realistic goal to do themselves.

Most have large maps already designed by someone, these take ages and to be unique normally have to have multiple people working on them. Take oblivion, personally I thought it was a bit samey absolutely everywhere, skyrim had a larger team but the map is still a bit samey with alot re-used. Procedurally generated maps aren't always as interesting. This is a point that applies any game with a large world.

Then you have hardware requirements, dealing with a 500 or so connections (tiny compared to an mmo really) isn't something you can do with a home PC and home internet connection, you need dedicated servers, not virtualised servers either, full on dedicated hardware which is not cheap to rent.

Then theres the network programming and databases, these can be godly.

You and your friend may well be able to do it one day and hero engine will probably be fine for you guys. Unity or UDK could do it with a little more work too. But its a huge amount of effort and should only be undertaken once you BOTH have experience. Its september now, so 14 months would take you through to november, seems like a long time but its not enough. I think you should ignore planning an mmo for now and reconsider it late next year, then you can start thinking about how viable it is, what you've learnt and what other tools are available to assist making it. It might well be late 2014 until you are ready to begin.

Share this post


Link to post
Share on other sites
chris3d165    384
Thanks 6677, that was exactly the plan.
You see,another reason i wanted to do this MMO was because of CS in college when i go into it, i though it would have brought some experience into the picture which it will so yea for now im dealing with c++ and open gl .

The MMO is really just a home project but you never know when something interesting could spark :) thanks again.

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