I'm new and need advice

Started by
14 comments, last by Lordtac 12 years, 3 months ago
Alright for years I feel like I've been an amateur (if you can all it that) programmer in that I've practiced with some languages in as much of a practical way as possible.

I have many many wonderful game idea's inspired by alot of the games I've played and alot of the movies I've seen.

Yet I do not know any C++ at all.

I did dabble in C# enough with visual studio to make a calculator but only with a tutorial.

So... Here's what I want to do (eventually)

I want to use C++ (or LUA) with a 3D graphics engine (Preferably OpenGL only if DirectX isn't easier) which will involve guns, vehicles, and general FPS themes. Also in the course of learning I need to be able to practically see my results. (That is... when I change the code, I need to be able to test it, and see if the changes had an effect)

I've worked a little with LUA, Actionscript, C#, and a "SMIDGE" of JAVA. However only to the point that I understand some of their most basic functions. LUA is the only language I actually produced a program in from scratch without help (It was a battle cruiser for an old game I used to play).

I would like to know what programs I can use to facilitate my learning of C++ and any other languages (like OpenGL) I may need to learn in order to finally produce or at least start my game.

At this point and time I have no compilers, no graphics engines, and no clue what to get. I've thought about working with the Unreal Development Kit (UDK) using C++ as a means to get used to the code. Would that be beneficial or negligable?

Thanks in advance for any assistance.
Advertisement
Stop thinking about the game. Pick a language that isn't C++ and learn it well enough to make trivial programs without tutorials. Then work towards non-trivial programs. Then consider an engine to make graphical demos, then simple games, then maybe the games you're working on now (with a lot more insight about what you need to do to make them go).
So after you build a calculator i bet you have the knowledge of building somekind of math game, otherwise you should do basic tutorials untill you can. That should be your next goal. Then you might want to do somekind of simple text based battle game in the console. Now you pretty much have the basics of C# and can start learning about direcX or take a shortcut and install XNA.

You don't want to use C++ right off the bat, it's a hard and unforgiving language. It will most likely make you hate programming and never do it again.

-edit-
Get MS visual studio express for C# (free).
Thanks for the replies so far, MS Visual Studio Express should behelpful, but why not start learning C++? If its so hard doesn't that mean I should begin learning it sooner rather than later if I intend to use it?
When you start C++ with none or little prior knowledge of programming chances are big that you get stuck and dislike programming because you won't see much progress at all. It's a hard and unforgiving language that hands you riddles about what is wrong with your code.

C# is much user friendly and thus you can see more progress in a shorter time period which is fun and rewarding. By learning C# you will get familiar with all the programming concepts and once you feel comfortable with C# the leap to C++ is much smaller. Chances are you stick with C# for at least a long time since you can do pretty much anything you want with it.

Thanks for the replies so far, MS Visual Studio Express should behelpful, but why not start learning C++? If its so hard doesn't that mean I should begin learning it sooner rather than later if I intend to use it?


You're not learning C++, you're using C++ to learn to program. Learning to program (the important/hard part) is easier with other languages. No need to impede your learning more than you have to.
The problem with C++ is that it's so versatile and flexible but on the other hand there's not too much hand-holding for writing components or systems for your larger programs. The ways in which you can use and how you should use C++ is overwhelming- especially now with the C++11 standard which even I'm not familiar with (I have diverged to C# for now). Making simple console programs is easy enough with it, but anything non-trivial will be a lot harder to make with the language.

I would suggest C# as well, and it also has a good selection of libraries and frameworks for creating games. With OpenTK it is possible to use OpenGL with C#.
Electronic Meteor - My experiences with XNA and game development
Ok so you've all convinced me to use C# (I'm familiar with it at least hahaha) what would be a good program to use with it (For game programming purposes)

I tried it with MS-Visual Studio but I never got past just making a little window that could be used for Text-Based-Games. Is there any program I could use with C# to make... say... A game like mario for instance? (only because 3d is much more graphically intensive and my art-skills are pretty weak right now)
No, there is no program you could use to help you make a "simple" game like mario. You write everything in code and you test everything in code. I hate to be blunt, but on the other hand I wish someone had told me the same thing a couple of years ago so I didn't have to spend 2 years figuring out that I wasn't the best programmer the world had ever known.

Here goes, you are not yet good enough to write your own game, not even mario, tetris or pong.

Start with figuring out how that calculator you wrote with the help of a tutorial really works, change something and see if it breaks, make addition work like subtraction for a while, try to rewrite the calculator without looking at the tutorial or your previous code.

Have a look at http://projecteuler.net/ and see if you can solve some of the first 10 problems using the programming language of your choice. Read the papers you get for completing each problem.

Try to write a "guess the number" game like this one http://www.dreamincode.net/forums/topic/76122-c%23-tutorial-basic-gui-guessing-game/, then change it from 1-10 to 50-1000, add something else...

And if you're really into programming, read a book about the programming language you're learning (although I can't recommend any good books for C#, guessing Microsoft has one).


If you start your career in programming with attempting to make something great I can promise you that you'll end up with nothing but a bad experience.
Those who can do, do; those who can't do, do teach.

So after you build a calculator i bet you have the knowledge of building somekind of math game, otherwise you should do basic tutorials untill you can. That should be your next goal. Then you might want to do somekind of simple text based battle game in the console. Now you pretty much have the basics of C# and can start learning about direcX or take a shortcut and install XNA.

You don't want to use C++ right off the bat, it's a hard and unforgiving language. It will most likely make you hate programming and never do it again.

-edit-
Get MS visual studio express for C# (free).


I started programming with C and quickly moved on to C++ and I don't hate programming. You can't say "don't do this because you will probably hate it.", It will only scare him into alienating C/C++. What you should say is that C/C++ is a difficult language to start with and that it takes more effort and dedication to learn (Not to mention the fact that C++ is one of the most popular languages when it come to game development in console & PC games).

Aluthreney -- the King of sheep.

This topic is closed to new replies.

Advertisement