first time game design, which language would you recommend?

Started by
12 comments, last by !Null 11 years, 8 months ago
I am currently planning a management/rpg type game which will be low in graphics and high in stats, not quite a text based game but the graphics/physics will definantly be of lower importance. I am new to programming and am mostly creating this game as a way to learn the language/more about game creation. i understand that this may take years to fully understand the language and am totally commited. so i must ask, what lanuage would you recommend for a beginner for this type of game? so far i am looking at Java, C++, C#, and python. would i be better off just starting with something like Game Maker and then head over to a language when i understand the basic ideas more? i honestly just want to dive head first into it but also dont' want to totally discourage myself. thanks for any help!
Advertisement

would i be better off just starting with something like Game Maker and then head over to a language when i understand the basic ideas more?


Yes.

-- Tom Sloper -- sloperama.com


[quote name='bustout65' timestamp='1343682249' post='4964604']
would i be better off just starting with something like Game Maker and then head over to a language when i understand the basic ideas more?


Yes.
[/quote]

so i should use game maker? is it the best program of it's type? what is your opinion of the java language for the game type i described above?
bustout65. Let us know what programming experience you have and we can point you in the right direction, as GameMaker might be the right step for you. But maybe something more advanced is at your level.
/********************************************************************************\
/**********************He Who Dares, Wins**********************************\
/********************************************************************************\
If you want to learn how to write programs then pick a language and get started. I think C# or Python tend to be popular recommendations for beginners around here. Learning to program takes time. A lot of it. Learning to program well takes even more. Figuring out how to take what you've learned and turn it into a specific program like a game takes experience. And of course then it also takes time and patience to write, test, and revise the program.

If you want to put a game together a little more quickly you can look at programs like Game Maker. Personally, I've used earlier generation programs (in the C64 days) that are similar and found the results can be quite rewarding. Using something like Game Maker to make a game didn't stop me from trying to learn programming at the same time.
Meh, I started programming in Pascal when I was 10, so I think going for something like GameMaker when your end goal is to program real games (here we go, what is a real game?) is a waste of time. it's really not that hard to get started.

My recommendation? Read some C# books, and do many practice problems. After a few months of this, dive into XNA. Make a few basic games, Tic Tac Toe, Asteroids, Snake, Invaders, Pacman etc. This should take another couple of months. Maybe overall a year or so. Finally if you want to drastically improve your development time, start using a game engine, eg Unity.

bustout65. Let us know what programming experience you have and we can point you in the right direction, as GameMaker might be the right step for you. But maybe something more advanced is at your level.


i have some very limited experience with java. i see game programming as something i would be very interested in as something as a hobby to begin with and possibly more. I guess i am just curious where i should spend my time concentrating. I am mostly interested in management games, my ideas stem from games like football manager from sports interactive and Out of the Park baseball. My idea would be to implement other types of games into this sports stat model. i just need to know where i should start this endeavor. thank you for any help you can give!

Meh, I started programming in Pascal when I was 10, so I think going for something like GameMaker when your end goal is to program real games (here we go, what is a real game?) is a waste of time. it's really not that hard to get started.

My recommendation? Read some C# books, and do many practice problems. After a few months of this, dive into XNA. Make a few basic games, Tic Tac Toe, Asteroids, Snake, Invaders, Pacman etc. This should take another couple of months. Maybe overall a year or so. Finally if you want to drastically improve your development time, start using a game engine, eg Unity.


that is precisely what i was curious about with game maker, i didn't want to spend 3 months learning the program only to learn that the skills i have picked up will not be useful for me in the future. I am mostly just curious where i should concentrate my efforts, what would be the best use of my time when it comes to first learning how to make a game. what mistakes did everyone first make when learning how to make games, what languages would they reccemend first concentrating on, ect. Once i get started with this i will be completely concentrated on learning as much as possible, i just want to make sure i'm headed in the right direction first and not setting myself up for failure.

my friend was stating i should use java as that would lead to being able to implement games into android devices? Although i am not completely sure about making phones games i wouldn't mind being able to someday have skills to create games on that platform.

thank you for the advice with C#,XNA, and unity.

If you want to learn how to write programs then pick a language and get started. I think C# or Python tend to be popular recommendations for beginners around here. Learning to program takes time. A lot of it. Learning to program well takes even more. Figuring out how to take what you've learned and turn it into a specific program like a game takes experience. And of course then it also takes time and patience to write, test, and revise the program.

If you want to put a game together a little more quickly you can look at programs like Game Maker. Personally, I've used earlier generation programs (in the C64 days) that are similar and found the results can be quite rewarding. Using something like Game Maker to make a game didn't stop me from trying to learn programming at the same time.


what are the advantages of starting with C# and python as apposed to say C++ or JAVA? i am fully prepared to take the necessary time to fully learn a language and implement the skills toward creating a game when the time comes, i just really want to know i'm starting off on the right foot before hand. thank you for your help.
bustout,

C# - Easy language to learn & use. Slowly gaining recognition in the game industry, both professional and indy. Has lots of support for it, has OpenGL & DirectX bindings for when you're ready for working at that level. Also has XNA and Unity for when you're ready for those levels. No real cons.

C++ - Harder language to learn, more contextual in nature. Also, the ancestry of the language makes it more difficult to get started in than say C# or Java. Not recommended for new programmers, however it is the industry standard for PC and console games. If you want to get a job as a professional game programmer, you will need to know C++. But you don't need to start with it.

Java - Similar to C#, but lacking many of the features of C#. Great for writing web apps and android games (though there is a native SDK now). Bindings for OpenGL allow for 3D when you get there, but in all honesty, there's no real reason to get started on Java when there is C#. With Java there's less community support for writing games, fewer support libraries (Physics, AI, etc..), and very few complete frameworks to allow you a gradual transition. And aside from the few companies making Android/web games, there's no real industry support right now.

Python - Can't really speak to this aside from saying there's very little of Python among professionals, aside from like EVE Online. I'm not a Python programmer so I'm not even sure if there's a native compiler for it. What I can say is the syntax is different enough that learning C# or C++ afterwards will be a bit steeper learning curve.

Thus: My ultimate advice is:

1. Learn C#
2. Start making 2D Games with C#/XNA
3. Pick up Unity when you're ready to work on some 3D games (Unity uses C# for code-behind)
4. Use C#/XNA to write your own 3D games (no more Unity)
5. Use SharpDX to write managed DirectX games
6. Learn C++
7. Make games with C++/DirectX11.

By the time you reach 7, you'll be among the best of us here.
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints

This topic is closed to new replies.

Advertisement