Hi, I'm new and need some advices

Started by
8 comments, last by Serapth 11 years, 6 months ago
Hi, I want to start game programming...Can someone guide me trough programming?(what softs, tutorials etc)...Please?
Advertisement
Let me be the first to say, Welcome to fun and exiting world of game programming!!!

There are a lot of resources available for software and tutorials...but the right software and tutorials for you will be based on your programming experience and what you want to achieve.

If you are completely new to programming I would suggest learning a language like python first to get an understanding of programming.

Then you can move on to game development.

What type of experience do you have?
(I'm guessing you don't have much programming experience, my apologizes if i'm wrong)

Python > http://www.python.org/ < Download and documentation AND tutorials all on that site.
http://wiki.python.org/moin/BeginnersGuide/NonProgrammers < List of good tutorials for python from the main site
After you've learn python and you are comfortable with it, I would move on to pygame and learn that library for a general idea of how games are made (basic games)
Also, START SMALL. You will not make a Call of Duty game in 20 minutes. Pong, Tetris, Simon Says etc.
I agree with Inuyashakagome16 on the programming resources.
I do however think that the best games to create when starting out are text based games.

The reasoning behind this is that you do not need to worry about graphics and sound. This not only makes the code simpler but also helps new game developers understand the structure of a video game.

I see way too many beginners in game development get stuck trying to create a game and get distracted with the code.
This may seem like a counter-intuitive statement but the truth about game development is that it is less about the actual code and more about the design. Building small text based games gives you great insight on game design because there is only one thing that you need to worry about, text processing.

Once you have a few text-based games under your belt, it becomes much easier to put in graphics and sound because you have a much better understanding of what you need and how to structure your game source.

Hope this helps.
The first rule of the programmers club is: you do not worry about languages.
The second rule of the programmers club is: you DO NOT worry about languages!

Python is cool and easy to get started, give it a go, create some text based games, have some fun with it. Keep making bigger text based games, evolving concepts, learn about object oriented programming, and once you are finally feeling cool about your programming skills, give graphics a try.
@Arthur Souza
Best first and second rule of programmers club ever! smile.png And I totally agree. A programming language is just a way to express your ideas.
It is a lot like an artist. There are many different mediums in which an artist can create(i.e. painting, watercolors, pencil,...etc.) but even though a picture may look different in different mediums it is the same picture.
I think the same applies to programming.

The first rule of the programmers club is: you do not worry about languages.
The second rule of the programmers club is: you DO NOT worry about languages!


Excuse me... wth are you doing? The first rule of programmers' club is there IS NO programmers' club... ;-)

As I always do, I recommend the OP starts off learning C#. That way he/she can try out XNA and get a beginner's level introduction to what programming DirectX is like. That is, if the OP plans to develop PC or XBox games. If not, you can just use C# and another API (like OpenTK or even Unity engine), and Mono will help you get up and running on Linux, Mac, whatever. When he/she is ready for "the real deal" they can jump to SlimDX, OpenTK or Tao, whatever. Even learning C and C++ will be a breeze once C# is mastered. As the joke goes, the "#" symbol in C#'s name is actually 4 + signs... because the language is C++++. :-)
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine

Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________
Totally forgot to say anything about text games first! :P Thanks guys. C#? ehhh I'm not sure. I mean the thoughts behind C# are simple (at least now) and C# (to me) resembles C++ so maybe it would be a good idea to head in that direction. I don't think i would be able to choose if i had to between the two languages. o.o
When I was at your stage, the thing that eased me into, let's say, "real programming" from scratch, was GameMaker:

http://www.yoyogames...amemaker/studio

Believe it or not, there was one point where I knew absolutely nothing - not a clue on how computers worked from square one.

Programming is writing instructions that perform actions, in the simplest sense.

GameMaker can be witnessed as real programming - it just helps you get the job done way easier than without most of the tasks done for you.

One day I just decided to find out what programming really is, how computers really work ... and I did.

My first ever language learned was, believe it or not, as a total beginner (excluding some GML), C++, bare bones. Yes.

It was so complicated at first, but after months passed, it was like a newly spoken language.

You can start programming from any level or step, so long as it's not so advanced you'd be lost as to where to start observing.

For example, a typical computer-user with absolutely no programming skills or knowledge would be hopeless trying to analyze an Assembly language(low-level programming language).

But a beginner can start with C, C++, Java, etc. It depends on which one suits you best.

But here are some things you need to know, and that will make everything so much easier for you, from my experience:

1.You have to know how a programming language works, the basics of how computer hardware works, and know what and how you can do certain things in that language before pursuing game programming.

I'm not trying to shun anyone from programming here, but knowing proper language syntax, rules, data types like arrays, vectors, characters, linked lists, pointers, etc., are all a major bonus in programming, and the best part is - they are also a bonus in game programming specifics as well.

2.You need to know the mechanics of games.

A game-loop is a function/method or region of code in your program that constantly loops and executes your game, game logic, game functions, animation, artificial intelligence, input and output, graphics, etc. Anything you want, but without a loop it would be nothing.

What I'm trying to say is that in order to accomplish making a game, you are really going to be urged to know how games work, and the best practices on how to get certain tasks done. To make a game you will need something to provide a graphical window (mostly graphic - though games can be made through text-only interfaces), and there are things called libraries that do that for you.
Some languages (like Java) come with that stuff, and others (like C++) do not by default. You need to set up these libraries and link them with your program code, bind them together, and the result is executed through the windowed interface.

The more you know about games, how objects in games work, and how you can implement the methods of how to code these things, the faster, better, and more smarter programmer you'll be.

Mario in Mario Bros. moves left and right on a 2-D dimensional axis(same as Luigi and all the other characters).
You implement x-coordinate axis positioning on a screen, and update the window repeatedly in your game-loop code to keep Mario's position "repainting" itself on the screen. As easy as following those basic levels of logic you're already on a good track.

3.Learn to observe more, analyze details more, and use the tools you have, or make your own, to accomplish in-game statistics.

You should never let a good old array go to waste. Learning data types are essential, but knowing how to use them in all the right places is what puts the icing on the cake. Think about the things you want your game to do, and know how you can transition those ideas into a real working executable program on your display. If I want Mario to simply move left and right, I'd learn what left and right means - and then I'd learn how to implement an x (or left and right) axis to increment or decrement values necessary to adjust an image's position on the screen, and take all the necessary steps to get it right how I want it.

I can't stress this enough - learn the basics, learn how things work, and then do them as best you can.

-> http://en.wikipedia....ame_programming
Yes, this is red text.
Read this http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx

It is long, but covers pretty much everything you need to get started.

This topic is closed to new replies.

Advertisement