Developing games is a whole different story from learning programming languages. To make any interactive applications
, you need to know (at least)
- how to handle user
input
(mouse, keyboard, joystick, etc)
- how to
draw
something on screen (this will be your first challenge unless you are making text-based-game)
- how to play
sound
(game without sound? no way! :)
Those three things are heavily related to OS you are developing on. You can use just plain OS API functions to do all the above things. Sometimes, they even offer better API functions specifically for multimedia applications like "a video game". Windows offer DirectX
. Other OS (like iOS) supports OpenGL
. There are even many other libraries or tools which enables you to draw complicated 3D model with an animation by writing a few lines of code (or even without writing any code). They are the Game Engine
like XNA, Unity, Unreal, etc.
It is totally up to you what you use but you have to understand how the three things are working. Since you are now studying, I recommend that you study OS API functions especially for multimedia related functions
without using those handy game engines, and make a really simple game
like space invader or tetris. You will realize the simple game
is not simple at all
and you will know what things you need to figure out. Something like,
- how to manage game
objects
(monster, princess, candy, etc)
- how to handle their
states
(move, jump, fly, die, etc)
- how to let game objects
communicate
each other
- and much much more. and much more. and much... you know what I mean.
As you know more about game programming, the first three things will be getting less important and the later ones become key
techniques for game development. That's why some people might say they are not very important or not even necessary to study. However, I still strongly suggest that you start with the first three things as it will give you strong basis for later game development life.
It will be a long journey but should be fun. Good luck! :)