Sign in to follow this  
ShinKoKyuu

Need Some Guidance

Recommended Posts

Hello everyone. This is my first post. I'm and intermediate c/c++/c# programmer and so interested in game programming world, particularly, in games graphics technology. I'm planning to start an individual journey based on books and gamedev resources self studying to grasp a lot about game graphics programming and make small projects to improve my skills regarding this topic, and i collected some information and necessities that i must get hands on to end the journey successfully. They way i'm intending to study in something like the "spiral model", meaning that I will study the materials in parallel and go through topics from different resources over and over as needed, while making small projects to make sure that I understood the practical parts. The goal is to be able to create and examine many of the modern graphics techniques and how they are embedded in modern games engines, so i can start another "professional" journey that will make me capable of joining large scale games workshops/project and even to work on game company in the future. Before I list the topics i collected, there are some standards i decided to follow: Language: C++ Compiler: Visual Studio (c++) 2008 Graphics API: Direct3D9 Modeling tool (when needed): Maya 2009 The ones between [ ] brackets are either optional or further readings in the future. Here are the main resources and topics: programming: -be as proficient as possible in c/c++ (c/c++ Primer "from cover to cover!") -good understanding of data structures specially their game-related applications (Data Structures and Algorithms for Game Developers) -good understanding of Win32 API basics, and digging on the UI topics a little more(Programming Windows API 5th edition) -[Microsoft Foundation Classes MFC / Component Object Model COM knowledge] ---------------------------------------------------------------------------- Games: - Having overall knowledge of DirectX9 in general and Direct3D9 in particular, and master the fundamental futures (Introduction to 3D Game Programming with DirectX9.0c A Shader Approach / Special Effects Game Programming With DirectX) - General knowledge of game desing (game architecture and design) -[ (3D Game Engine Programming) ] ---------------------------------------------------------------------------- Maths: - improve Algebra skills needed in computer Graphics (Essential Mathematics for Games and Interactive Applications : A Programmers Guide 2nd Edition) - [general calculus skills improvement?] ---------------------------------------------------------------------------- Graphics: - Reading the theoretical part and basics of computer graphics (Computer Graphics with OpenGL) - 3D Modeling essentials in Maya - [Practicing some classic Windows GDI and DirectDraw] --------------------------------------------------------------------------- Other: - have fair knowledge about Operating Systems, and the Windows OS in particular (Operating Systems: Design and Implementation) - fair/general knowledge about computer architecture (Computer Organization -by Hamacher Vranesic Zaky -) ------------------------------------------------------------------------------ That's all. The question now is: What do you think? :) Well, all I need are suggestions and advices from people who are either starting like me or professionals. any comment or modification/addition will be very appreciated :) Thanks in advance, and looking forward to your opinion.

Share this post


Link to post
Share on other sites
Quote:
Original post by ShinKoKyuu
Modeling tool (when needed): Maya 2009

To use this one legally, unless you already own it or have access to it through work or something, you'd be looking at an investment of 2000 bucks at least (5000+ for the high-end version). May I recommend the freely available and decently powerful Blender? You can also legally get a free and powerful version of Visual Studio, namely Visual Studio Express.

Quote:
Original post by ShinKoKyuu
The question now is: What do you think? :)

Not much to say, since everything you said so far was pretty general. Apart from linear algebra, you also need a good foundation in trigonometry. Quaternions are optional but won't hurt (using them is much easier than grasping the math behind them). Calculus will of course help with physics.

Share this post


Link to post
Share on other sites
The obvious first thing to do is write some kind of game. Make it small to start with. Pong is a common suggestion, if you are feeling more adventurous go for breakout (note that you can use the same "engine" for both games).

One thing you will always need, and i think this is one of the only things you will ALWAYS need, is linear algebra knowledge. Learn to use a linear algebra library fo some kind. For 3d stuff this is absolutely vital for your understanding of anything remotely complex.

Also, do yourself and everybody around you a favor; start small. Dont try to be the next WOW.

Share this post


Link to post
Share on other sites
Thanks speciesUnknown

actually I wrote some simple games in .Net/c# before, but will try to finish at least one known classic game as a beginning.

I know game programming is a very wide area full of physics/AI/software engineering ..etc, and i believe i can't WOW myself and this requires a team. that's why i choose to improve myself in graphics mainly to be a productive team member in the future.. maybe :P

Share this post


Link to post
Share on other sites
Quote:
Original post by BlueBan007
isnt blender only available for use with python?


I'm not sure what you're getting at. You can do various things inside Blender in Python (like, write an entire game, because Blender has a game engine built in). You can of course export your model to any file format you want (if there's no plugin, you can write one in Python easily) for loading in whatever programming language you want - nothing is restricting you to Python.

Quote:
Original post by ShinKoKyuu
will try to finish at least one known classic game as a beginning.

I know from personal experience that this can be pretty hard. I have written a rudimentary 3D renderer and am on my second GUI toolkit but am still not done with my Pacman and TicTacToe clones ^_^;;; All I can say is, just get it done!

Share this post


Link to post
Share on other sites
hehe

well lightbringer, I know my plan is not easy at all and full of challenges, but starting simple thing from the scratch and finish it may give me motivation when i see it done and say (look at that! I'm the superman! :P)

Share this post


Link to post
Share on other sites
hehe

well lightbringer, I know my plan is not easy at all and full of challenges, but starting simple thing from the scratch and finish it may give me motivation when i see it done and say (look at that! I'm the superman! :P)

Share this post


Link to post
Share on other sites
Quote:
Original post by BlueBan007
isnt blender only available for use with python?


Blender is designed to let you write scripts with Python that help you get more out of Blender. However, the end result of whatever you're doing with Blender is a model file. And files are just files. You can take the resulting file and read it with code written in any language.

Share this post


Link to post
Share on other sites
Um guys, i'm a beginner and i have study C++ about 2 weeks now, and i understand the basic (pointers,loops,array,classes,variable) but let's say a few weeks i understand C++, what books would you recommend me if i want to make games using C++ ? (i'm using visual studios 2008)

Share this post


Link to post
Share on other sites
Hi goldenKnight

in my opinion, 2 weeks might not be enough to start thinking about studying game programming oriented C++.

i recommend (and guarantee maybe ;) ) that if you follow the following reading order, you'll be very comfortable with c++ when you start learning game programming in c++:

1st: C++ Primer 5th edition (read it from cover to cover -like me :p- and try not to miss any of the exercises and make sure you understand everything you read)

next: Beginning C ++ Through Game Programming, 2nd Ed (read it carefully to get familiar with games related c++ topics and how the things you studied in the c++ primer can be used in game programming. here you can skip some of the topics that you're 100% sure that you fully understand)

if you try so, I guarantee you will master c++ as a language for game programming ;)

don't you think so guys?

Share this post


Link to post
Share on other sites
Quote:

if you try so, I guarantee you will master c++ as a language for game programming ;)

don't you think so guys?

No.

Quote:

Um guys, i'm a beginner and i have study C++ about 2 weeks now, and i understand the basic (pointers,loops,array,classes,variable) but let's say a few weeks i understand C++, what books would you recommend me if i want to make games using C++ ? (i'm using visual studios 2008)

Depends. If you don't want to spend much (any) money, you can look up Thinking and C++ and C++ A Dialog, which are both free online books that are generally pretty decent.

If you have a passing familiarity with the language, however, you're going to want to start practicing with it. That will likely accelerate your learning process far more than books alone will. If you really know what you claim you know, then you should be more than capable of building some simple text-based games -- guess-the-number, hangman, tic-tac-toe. Give those a shot and see how that works out for you. If are able to do them easily enough, you can think about how you might add additional features or options to them, or continue on to something more complex like one of those old Infocom-style text adventure games.

Share this post


Link to post
Share on other sites
Quote:
Original post by jpetrie
Depends. If you don't want to spend much (any) money, you can look up Thinking and C++ and C++ A Dialog, which are both free online books that are generally pretty decent.

You obviously meant Thinking in C++. Going by how helpful Thinking in Java was, I can only recommend this author.

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