Some basic questions from a beginner

Started by
3 comments, last by Dawoodoz 11 years ago

First of all, hello people! I'm new to the GD.net forums but I've read many of the articles here in the past and they've been really helpful. In this first post, I'd like to ask some questions so as to clear the fog that surrounds game development for me.

I was interested in developing my own game since I first came in contact with the concept of programming in High School, when I was around 16 years old. Of course, back then, I was thinking complex 3D games like Crysis (which had just come out) and I thought that if I could gather a few of my friends, we could easily top that. I've always been a fanatic gamer and was lucky enough to grow up in what I believe was a 'golden age' for gaming; the era when games like Metal Gear Solid and Resident Evil came out, so the idea simply fascinated me. After many starts and bitter ends of me trying to get down and serious with gaming (thank you, procrastination), I think that only now that I'm in my 20s am I mature enough to pull it off, because I kind of understand the limitations of what a person can achieve. While I know I'm very far from that, my ultimate goal would be to work on games similar to the ones I grew up with, or even older style games with some contemporary additions.

Now, back to reality. My experience with programming is mixed. In school, we started out with Turbo Pascal, where we got to write fairly simple code, like 'Calculate the area of the rectangle given X and Y'.Then, we moved on to algorithms like the bubblesort and the quicksort algorithm. After the first year (I forgot to mention that all of these classes were extracurricular and offered by a really great IT teacher) I got interested in C++ and this teacher mentored me on that; we even got to the point where we worked seperately from others and developed some simple shape animations with a graphics library (moving a circle around, moving waveform etc.). In pure theory, I have a good grasp of principles like variables, basics of functions, loops, math operations, and I've only barely touched OOP. Nothing more, nothing less.

On to the questions:

1) Now that I plan on starting again, I don't know if I should either expand on my base or start all over again. Meaning, should I stick with C++ as hard as it is, or give in to the people who suggest Java? I'm asking this mostly because I have to buy a book, but my budget is limited so I can buy only one book at a time.

2) Talking about books, some suggestions about either language (or any other language you suggest) would be great.

3) As I see things now, my first step in creating a game would be a text adventure where I would apply all of the principles I'm going to learn. Then, I could maybe move into 2D. Another area of game development that interests me, though, is modding an existing game. I've tried that many times, but the most I could do was create a simple map; nothing to do with programming. For example, I was reading code from the Half-Life 2 modding source, and I simply got lost. I don't understand how people think to write such complex code, let alone how I could edit that code to make something on my own. So, what knowledge is needed to mod a game? Will this knowledge be included in the regular path (learning how to program in general, making simple games, then moving into modding) or is it a separate route to follow?

4) Any other suggestions for a beginner are more than welcome!

Bear with me for such a long text! I know that many of the things here are asked everyday, I just had many different questions. I would like to start correctly this time, and not ditch any projects that I start - I have a whole folder from the past, full of unfinished .cpp files. I like games so much, that I think I should pass the bridge from playing them to making them, but I feel so overwhelmed, and I'll admit I'm a bit scared of losing something along the road and not being able to move on.

Thanks for taking the time to read this!

Advertisement

1) Now that I plan on starting again, I don't know if I should either expand on my base or start all over again. Meaning, should I stick with C++ as hard as it is, or give in to the people who suggest Java? I'm asking this mostly because I have to buy a book, but my budget is limited so I can buy only one book at a time.

Both languages are valid for game development, though C/C++ seems to be still the main AAA game industry language around. If you want to develop for PC and are familiar with C++, then stick to it. If you consider to make a web-based game or android etc., Java is a good idea.

So, what knowledge is needed to mod a game? Will this knowledge be included in the regular path (learning how to program in general, making simple games, then moving into modding) or is it a separate route to follow?

Modding is a good way to learn game development. You have an already working game, including art, and you will get into contact with game tools and programming languages, though often only scripting languages. If your primary goal is to learn a programming language, the other way around (e.g. start small with a text adventure ) might be more suitable.

4) Any other suggestions for a beginner are more than welcome!

Start small and simple, complexity will come without invitation :)

Hi, given that in your post it says that you are starting small from text adventure to 2D and so on, you are (in my opinion) in the right direction.

1) Do what feels right for you. You can try Java for a day or two to see if its suitable. If its not, at least you gave it a try. Regarding books, buy one when you really need it. There are alot of good resources online to start you off.

2) Design Patterns by Gang of Four, Game Coding Complete by Mike McShaffry , Game Engine Architecture by Jason Gregory

3) I am not really sure. I wouldnt say its a seperate path. Eg Some games use Lua for scripting. In a sense they are just the same thing. I think the difference is that in modding the modder needs time to understand the systems already developed by the programmers and their thought process why things are like this.

4) Like Ashaman73 says, start small and go up from there.

2) The book I started out with is called C++ Primer Plus (5th Edition). I really like this book because it can be used as a page by page book but it's also great for referencing. It has great code examples with a little test after each chapter.

Sorry I don't have any answers for your other questions but although my C++ is decent i'm quite new to game programming. If there is one thing I can suggest though is look at game architecture quite early on. When I started my first few games I had no idea of how all the systems should work so the result was quite messy and completely non-modular.

I think if you learn some good architecture your first few games would end up a lot more structured.

My DirectX graphics engine include an example for C# and is designed for people who prefer functional and table driven programming before object orientation. Some people just think in tables instead of objects.

This topic is closed to new replies.

Advertisement