C++ Newbish Programmer (How do I start with 3d games?)

Started by
9 comments, last by mmakrzem 14 years, 10 months ago
Hi, this is my first post here on gamedev.net. I having been programming in c++ for a month. I must say though, i am a newb to c++. I know strings, arrays, variables, functions, and stuff like that. I got it all from a book called "Beginning C++ Game Programming". The book taught me how to create text games, but now I think I am ready to start with 2d games. The only problem is, I have no idea how to get started. I have heard of directx, OpenGL, and stuff like that, but I really do not have any idea how to get started, and what to use. I have heard of dark gdk, but the thing is, I still kind of want my game to be by scratch a bit. The reason for this is, me and my freinds were going to work on a project in the future and make a game. The thing is though, we want to own all of the rights to the game. So, what I need is somebody to guide me through the process of creating 2d games that I own 100%.
Advertisement
If you are doing 2d I would recommend starting with sdl. Start with the tutorials found here. And gimp is a good software for creating the 2d images.

If you want to do 3d you have a couple options. Either DirectX 9(tutorials here) DirectX 10(tutorials here) or OpenGL(tutorials here they are a little outdated though). You can create the 3d artwork in Blender3d.
Check out my new blog: http://beefmachinegames.wordpress.com
well im also a beginner of 3d game programming...i think you should use either OpenGL(cross-platform) or DirectX(windows) depending on your needs
Moving thread to For Beginners.


Be warned that if you really want to own all the code for your projects, you will have to do an obscene amount of work. It is much more productive to take advantage of other, existing code - and most of that code is freely available in library form, so there's no reason not to take advantage of it.

Especially as you are starting out it will be much easier if you learn to use libraries first; and as you gain experience you can start experimenting with building your own stuff to learn how it works.

However, in general, you definitely want to use pre-existing code as much as possible (provided, of course, the code is good quality).

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

My advice is learn c++ thoroughly, I started programming 3D OpenGL stuff without much knowledge and was pretty much stuck for a while until I learned inheritance, polymorphism, smart pointers and STL library <- very very useful and easy. Then I would say get a good book on the graphics API of your choice, but make sure its a book that gets good comments on amazon or something similar, there are many books that just don't cut it.
Quote:Original post by Momowowmojo
I have heard of dark gdk, but the thing is, I still kind of want my game to be by scratch a bit. The reason for this is, me and my freinds were going to work on a project in the future and make a game. The thing is though, we want to own all of the rights to the game.

Use whatever engines and libraries you like. Unless you use GPL libraries (or LGPL libraries if you insist on static binding) you will still own all of the rights to your game. Dark GDK is, to the best of my knowledge, neither GPL or LGPL.

Wait, are you planning to write the operating system and hardware drivers for the game to run on, too? :D

Okay, jokes aside, it's actually pretty easy to make good use of libraries and still end up with a game where you do not owe anyone a cent nor have to release your source code. You just have to stay away from all extreme copyleft (ala GPL) and commercial licenses. Any code under a BSD license or equivalent is perfectly fine to use, even right as part of your program, as long as you just mention the source in your credits and include the license file itself as part of your distribution. Any code under the LGPL (not GPL) is also no problem, but you can't link to it statically (essentially, if the user is be able to swap out the LGPL'ed library for another version without waiting for you to ship it, it's fine. On Windows this usually means you are shipping with their DLL)

There are many libraries out there which will make your life a whole lot easier. There are also many libraries which are not worth your time, or where learning the API will take more time than writing something adequate for your needs. You'll have to shop around.
But it says that you only get a "Personal Use" license when you download it.
It's a commercial license with a "free as long as you do not sell your game" clause. When we recommend that you use freely available libraries we generally mean Open Source stuff. However, if you actually do decide to use Dark GDK for whatever reason, and actually end up building a complete game with it, and decide to sell it, are you really not gonna be able to scrape together the thirty bucks that license costs?

[Edited by - lightbringer on June 7, 2009 8:30:41 PM]
Quote:Original post by Momowowmojo
Hi, this is my first post here on gamedev.net.


Welcome!

Quote:
I having been programming in c++ for a month.
I must say though, i am a newb to c++.


Yup.

Quote:
I know strings, arrays, variables, functions, and stuff like that.


Right, next to nothing.

Quote:
The book taught me how to create text games, but now I think I am ready to start with 2d games.


No, you're not.

Quote:
The only problem is, I have no idea how to get started.


Which is a pretty good sign that you're not ready. If you have no idea how to even start a project, you've definitely no idea how to finish it.

This topic is closed to new replies.

Advertisement