Jump to content

  • Log In with Google      Sign In   
  • Create Account


C++, C#, or something else? Also some other questions


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 Kahroo   Members   -  Reputation: 113

Like
0Likes
Like

Posted 16 January 2013 - 05:36 PM

So I am new to programing and I would like to learn how to make my own game. But I am not sure what language to start with. What language do you suggest a total beginner to start with? Also which do you find easier to work with when trying to make a 3D game, Unity3D or XNA?

Thanks for the help, Kahroo

Sponsor:

#2 Karsten_   Members   -  Reputation: 1459

Like
0Likes
Like

Posted 16 January 2013 - 06:01 PM

XNA is a relatively low level API when compared to Unity. It is almost like comparing OpenGL to Unreal UDK.

I suggest C++, others suggest Python, Java, C# etc... So I guess you might want to simply start learning the language you intend to keep with or the one that the majority of libraries you intend to use natively support.

So, if you are most interested in making a game quick (perhaps to test out a new idea) then yeah, Unity and any of it's languages it uses (they all perform the same task).

However, if you have a passion for programming itself and are in no rush to knock up a game, then I would suggest starting with C++ and OpenGL (follow some books first).

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#3 Kahroo   Members   -  Reputation: 113

Like
0Likes
Like

Posted 16 January 2013 - 06:11 PM

@Karsten_
I'm in no hurry to put out a game yet. I'd rather learn first then try to make my game. I would like it to look good too. Also do you have and recommendations for any C++/OpenGL Books. And wouldn't learning DirectX be better then OpenGL? Don't most games use that more?

#4 Poigahn   Crossbones+   -  Reputation: 516

Like
0Likes
Like

Posted 16 January 2013 - 06:34 PM

For Books try "Learn C++ through game programming"  No Graphics, All text.  But would get you a good start on C++

 

Then there is 3D Game programming Complete.  Uses a C++ off shoot called Torgue.  But introduces you to the elements of 3D


Your Brain contains the Best Program Ever Written : Manage Your Data Wisely !!


#5 Kahroo   Members   -  Reputation: 113

Like
0Likes
Like

Posted 16 January 2013 - 06:51 PM

@Poigahn
So you recommend I get this one? http://www.amazon.com/gp/aw/d/1435457420

#6 Karsten_   Members   -  Reputation: 1459

Like
0Likes
Like

Posted 17 January 2013 - 06:30 AM

recommendations for any C++/OpenGL Books. And wouldn't learning DirectX be better then OpenGL? Don't most games use that more?

Only in AAA titles (due to heavy marketing by Microsoft). Remember that DirectX is not portable to iPhone, Android, Linux... etc (or anything but Microsoft based platforms)

As for books, the best I know is the OpenGL Programming Guide.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#7 3Ddreamer   Crossbones+   -  Reputation: 2960

Like
0Likes
Like

Posted 17 January 2013 - 10:42 AM

Hi,

 

First, a total newbie should write a few simple programs before programming any game.  Make "Hello World", simple data base, easy letter display application, or other programs, but keep them very simple.  These should be made as console applications, which can be done in practically any language.

 

Languages most friendly for newbies are Python, Lua, C#, Perl, Ruby, and some other common ones - mostly scripting languages.  Look for auto-memory management language (unmanaged) for your first one, such as C#. After you have made some simple applications, then you are ready to start programming a game.  Make simple games before you touch a complex IDE or SDK.

 

Avoid the lower level programming in the beginning of your learning, a must if you want to make the most progress in the first few stages of your growth.  You should be focused on programming basics and game structure first and not a publishable game.  Don't try to make that popular game for a year or maybe two.

 

Game examples for beginner level - make several of them:

 

Crossword puzzle

Tic-Tac-Toe

Pong

Tetris

Pac Man

Defender

Asteroids

Mario Brothers

 

...or other simple 2D game imitations...

 

Make each one well before moving to the next, polishing it and maybe adding some art assets, game functionality, or U.I. complexity with each version.  This will get you into the habit of completing projects according to a Software Development Cycle.

 

If you want to create nice games either as a hobby or a profession, you must have good fundamentals at all times just like any other major profession in life like sports or business.  Sorry, no shortcuts are recommended by me in the early months, year or two, but make sure that you are making real progress with visible and satisfying results.  This is why I advise that you stay involved with game programming communities forever to help you do that.

 

Give it a minimum of about a year with 2D games before you start 3D game development, in my opinion.

 

 


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#8 Kahroo   Members   -  Reputation: 113

Like
0Likes
Like

Posted 17 January 2013 - 01:16 PM

@3Ddreamer
SO why isn't C++ a good language for a beginner to start with?

#9 3Ddreamer   Crossbones+   -  Reputation: 2960

Like
0Likes
Like

Posted 17 January 2013 - 02:13 PM

The real question is, what are the things which scripting languages have which streamline the learning for the beginner?  We recommend unmanaged, interpreted, (at least first stage of learning), and fewer choices/options than C++ has to enable a more orderly and less confusing path of learning.  


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS