Which programming language would I use?

  • (2 Pages)
  • +
  • 1
  • 2

25 Replies - 1542 Views - Last Post: 24 October 2013 - 08:04 AM Rate Topic: -----

#1 Jack Lias  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 5
  • Joined: 18-October 13

Which programming language would I use?

Posted 18 October 2013 - 07:56 PM

I'll start off by mentioning that I have tried to use the search function, and it wouldn't work. I typed in my search criteria, hit enter, and nothing happened. The same thing happened when I manually clicked on the "search" button.

Basically, I have a desire to learn a programming language and begin working on an indie game, but... it seems like a daunting task, what with so many different programming languages to choose from and so many different ways to create a game.

So, my question is this: Which programming language would I use to create an RPG in the vein of Final Fantasy, Breath of Fire, or Star Ocean? Also, would the programming language I use differ based on whether I make the game on a PC, a Mac, or a console?

Thank you in advance for your responses.

Is This A Good Question/Topic? 2
  • +

Replies To: Which programming language would I use?

#2 M0ns7erS0u1  Icon User is offline

  • New D.I.C Head

Reputation: 6
  • View blog
  • Posts: 22
  • Joined: 13-October 13

Re: Which programming language would I use?

Posted 18 October 2013 - 08:02 PM

I would recommend C# because you can use the XNA API.
Was This Post Helpful? 2
  • +
  • -

#3 Jack Lias  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 5
  • Joined: 18-October 13

Re: Which programming language would I use?

Posted 18 October 2013 - 08:05 PM

So, C# would be better to use than C++? I don't know why, but I've got a fixation on C++, and I understood it was one of the best languages to use for video game development. I don't actually know what the differences between C, C#, and C++ are, but I suppose Wikipedia would be able to answer that question for me easily enough.
Was This Post Helpful? 0
  • +
  • -

#4 Mylo  Icon User is offline

  • Knows all, except most.

Reputation: 265
  • View blog
  • Posts: 747
  • Joined: 11-October 11

Re: Which programming language would I use?

Posted 18 October 2013 - 08:24 PM

If you wanted to match the fidelity (based of what I see on Google images, I haven't played the games) of Final Fantasy, or Star Ocean, I doubt C# will give you the required performance. A game like Breath of Fire would easily be accomplished by C#.

However, despite any of that, learning to make such games are at least a couple years away (assuming you are not using an game engine to do the work for you), so I wouldn't get caught up in what language to learn yet, just pick one, start it, if you finds it's too hard for you, try another one. Just don't spend weeks thinking about which language to learn as you are just wasting time.

Whatever language you decide to learn, it's the concepts that are more important. Those concepts that then be transferred to whatever language you need to it be in.

I also suggest you focus on just regular programming for a while, game programming just adds another layer of problems.

As for the search feature, it hasn't worked for me for a long time either, the advanced search feature works though.
Was This Post Helpful? 1
  • +
  • -

#5 Jack Lias  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 5
  • Joined: 18-October 13

Re: Which programming language would I use?

Posted 18 October 2013 - 08:28 PM

To me, what seems to be the biggest issue is that it feels like time is running out. For me, and for the video game industry. Sony, Microsoft, and Nintendo have all but killed console gaming for me for this generation (Wii-U, PS4, XB1), and next generation is only going to be worse. Due to my age, I feel like if I don't get started soon, I'm going to be starting way too late. I'm 26 now, and I know it may not seem like I'm all that old, but to take years to learn, and then years to create the game... That's why I'm rushing things.
Was This Post Helpful? 0
  • +
  • -

#6 mostyfriedman  Icon User is online

  • The Algorithmi
  • member icon

Reputation: 725
  • View blog
  • Posts: 4,473
  • Joined: 24-October 08

Re: Which programming language would I use?

Posted 18 October 2013 - 08:31 PM

Use ANY language whatsoever, but I highly recommend that you start with something other than C/C++. Forget about what languages and tools the pros use to design AAA games, they have many years of experience and these games have many people working on them at once. Right now you just want to get started in programming to start making some simple games. So I recommend learning a language with less quirks and a lower learning curve than C/C++. At this stage, you don't want to drown yourself in language specific details, you just want to be able to learn an easy enough language to get yourself up and running and start making some games. Your first game isn't gonna be an RPG or anything fancy, you'll probably start out with tic tac toe, hangman, snake, tetris, etc. You'll be making a lot of really simple games before you can handle more complicated ones, so don't get bored or discouraged. Which language you should start with?, My personal recommendations are Java, Python, C#. I would go with C# though because of the XNA framework, It's a pretty neat framework and it's beginner friendly. After a day of getting familiar with it, I was able to make a tetris clone in an hour or so. So I think it's a great tool to get started with. After some experience, you can then make the leap to a language like C++ and learn opengl or directx, but I highly recommend that you stay away from C++ if you have no programming experience.
Was This Post Helpful? 4
  • +
  • -

#7 Mylo  Icon User is offline

  • Knows all, except most.

Reputation: 265
  • View blog
  • Posts: 747
  • Joined: 11-October 11

Re: Which programming language would I use?

Posted 18 October 2013 - 08:36 PM

I know what you mean about that feeling, despite being much younger. There's no age limit to learn programming though. If you work really hard and have good learning habits, you can cut that time down. But I think most importantly is that you don't have to do everything alone. You can have several different people taking care of different parts of the game, or even the same part, and that time would be cut down dramatically.

This post has been edited by Mylo: 18 October 2013 - 08:37 PM

Was This Post Helpful? 2
  • +
  • -

#8 Jack Lias  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 5
  • Joined: 18-October 13

Re: Which programming language would I use?

Posted 18 October 2013 - 08:42 PM

Thank you for the replies. I think I've got a fair idea of where I should begin. I will start with C# for the XNA framework, and when I feel comfortable enough with it and have made a few creations, I will look towards C++. I feel I was right to come here, and I got the help I was looking for.

Once again, thank you!
Was This Post Helpful? 1
  • +
  • -

#9 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10183
  • View blog
  • Posts: 37,596
  • Joined: 27-December 08

Re: Which programming language would I use?

Posted 18 October 2013 - 09:55 PM

Just be advised that XNA is no longer going to be supported by Microsoft. While many people still use it and it is a good learning platform, it is still a dead/dying technology. You may want to at least consider other options. There is Pygame (Python), as well as a number of Java options like JOGL.
Was This Post Helpful? 3
  • +
  • -

#10 Jack Lias  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 5
  • Joined: 18-October 13

Re: Which programming language would I use?

Posted 18 October 2013 - 09:59 PM

When the XNA framework becomes unsupported, is that going to render C/C#/C++ obsolete languages that shouldn't be used?
Was This Post Helpful? 0
  • +
  • -

#11 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10183
  • View blog
  • Posts: 37,596
  • Joined: 27-December 08

Re: Which programming language would I use?

Posted 18 October 2013 - 10:05 PM

Quote

When the XNA framework becomes unsupported

You're already there. Microsoft no longer supports XNA. You can certainly find additional support, such as on DIC, though. Again- XNA is a great learning tool, but that's about it.

Quote

is that going to render C/C#/C++ obsolete languages that shouldn't be used?

I'd probably move away from C# (or you might consider MonoGame), but XNA has nothing to do with C/C++. In fact, C++ is still the industry standard. You could very well attempt C++. There are many arguments as to whether or not to learn C++ as your first language. That's ultimately your decision though. C++ has more syntax and more things to deal with like memory management that are abstracted out by Java and (more so) by Python, which is nice for beginners to focus on the programming concepts.
Was This Post Helpful? 2
  • +
  • -

#12 traxix  Icon User is online

  • D.I.C Head

Reputation: 85
  • View blog
  • Posts: 116
  • Joined: 10-August 13

Re: Which programming language would I use?

Posted 19 October 2013 - 05:02 AM

*
POPULAR

By reading your posts. The language is the least of your concerns.

I'd just recommend a swift start with C# and XNA. C# is anything but obsolete. XNA is no longer supported by Microsoft, true. But there's stuff like Digital Rune and MonoGame, which are totally viable options for multiple platforms! The good thing about XNA is that you'll be able to get to some game programming pretty fast, and you'll start learning and understanding concepts way better than if you would have started with C++. And after that, all that you would have learned is transferrable to other languages too. So the language is not the real problem. What you should be doing if you're serious about it is to start learning ASAP.

Here's some great stuff on C# and XNA.

http://www.amazon.co...r/dp/0985580100

http://rbwhitaker.wi...m/xna-tutorials

And the MSDN tutorial is pretty good for beginners too.

http://xbox.create.m...gamedevelopment

Also this thread might be a good read for you.
http://www.dreaminco...ming-questions/


Also, I'm pretty sure if you'd start C++ game programming, you'll just waste your time and give up. It's really not a friendly beginner language, considering you haven't done programming before. And it will take you years until you can make anything. If you can even do it without a team... It just depends on your nerves and dedication, really (and people usually underestimate their nerves). You could go that way too. But as a wanna-be hobbyist, C# and it's API's are your best bet. That's just my opinion.

Well, good luck!
Was This Post Helpful? 5
  • +
  • -

#13 axel1994  Icon User is offline

  • D.I.C Head

Reputation: 79
  • View blog
  • Posts: 163
  • Joined: 27-May 13

Re: Which programming language would I use?

Posted 19 October 2013 - 06:17 AM

Game Programming is 1 of the (if not the) most difficult field in programming.
You can't just start learning a language and expect something like final fantasy to pop out a year later.
So expect to put in multiple years of hard work.

Do note: Final fantasy and such are programmed by multiple programmers (and designers) which are all very experienced and good at what they do.

Now that my rambling is done. :)
I suggest different things, depending on what you want.

If you only care about the game, but not on how the lower level systems of the game works. Then I would use an engine (like Unity).
Engines do a lot of work for you. And as such make it easier to make a game.
But, it's still a lot of work to make a good game.

If you would prefer to make games, but not necessarily know all details:
Use a framework: C# and XNA, Java and Libgdx, Python with Pygame...
note: if you chose XNA, definitely check out the links given by Traxix, and his other posts
For them, ofcourse you need to use general programming languages.

If you really want to know how games are made inside out.
I would advise: OpenGL + C++.

This is not an easy path.
You don't just need to know C++, but also OpenGL and know how to create games.
But C++ game programming isn't as bad/slow as described above.
Yes, you need to know more before you begin, but it's doesn't need to take years before you can begin.

This is the route I personally take.
The reason being, I enjoy learning the lower level stuff.
But yes, It takes longer to actually make a game

Anyway, these are all great routes to take.

In the end, we can only give you advises.
The most important is that you chose your path and start learning.
And of course have fun in it. :)

Good luck
Was This Post Helpful? 2
  • +
  • -

#14 BBeck  Icon User is offline

  • Here to help.
  • member icon


Reputation: 535
  • View blog
  • Posts: 1,189
  • Joined: 24-April 12

Re: Which programming language would I use?

Posted 19 October 2013 - 08:14 AM

One thing I would like to add is that: you're going to go through multiple programming languages if you spend enough time at it to get good at it.

Every programming language that you learn makes it that much easier to learn the next programming language. So, I don't think its a waste of time to learn any programming language.

Regarding whether to go with C++ or C#, both are good languages used in the professional business world. Actually, in the business world I think there are more C# jobs open than C++ jobs. In the professional game industry C# will probably not be used unless it is used to build game building tools, like level editors or something.

C# is faster to program in but because it is managed code, it doesn't necessarily run as quickly or as low level as C++ code does. Although, honestly, I've never seen a program where C# didn't run fast enough in any game code I've written or any business program I've ever seen.

There's a bit of a hold over from game programming a decade or more ago. Back then, it was just common knowledge that you could not program a game in anything other than C++. There just wasn't anything fast enough, plus you usually had to go through either Direct X or OpenGL to make it work and C++ was the only language that really worked with DX or OpenGL. But things have seriously changed in the computer industry over the last decade.

Now I'm hearing that you can make 2D games in HTML with HTML5. It's like you can make 2D games now with anything.

The XNA framework for C#, for example, is built on DirectX without you having to actually learn DirectX (which is a very advanced topic that you need to get a few years of experience before trying to tackle). So, you get almost the power of a C++ with DirectX program without the learning curve of DirectX programming.

But I think a lot of languages, libraries, and frameworks work somewhat similarly these days. So Java might be an option. C++ can be done with libraries like SDL or SMFL rather than the more complex DX (or OpenGL).

Now one thing I've noticed with C++ vs. C# is that people don't learn C++. It seems that everyone learns C and then "says" they know C++. Most classes that I've seen including the one that I took in college taught C, not C++. At best, it's taught as C and then "Oh. And by the way, you can program objects too."

C# on the other hand is highly object oriented, especially with XNA. So, from the very beginning you are thinking extremely object oriented. I've noticed that when I go back to C++ these days, I'm thinking very differently in terms of how to organize my C++ code into objects. And that's from spending so much time in C# where you're always thinking object oriented.

So, for that reason, I would tend to recommend C# over C++ starting out even if you eventually want to go with C++. From what I've seen C# just really helps build a habit of object oriented thinking that you will want to have when you do C++ that isn't usually taught with C++.

There are also some merits for C++ over C# including that C++ is what is generally used for AAA games. Not to mention that there are other options too besides just C++ or C#.

Really, the main thing is to pick a language whether that's C++, Java, C#, or something else and just get started. As you get more experienced, you will be able to carry over most of that experience with you to the next language and you'll learn more about what your options are and be in a better position to make your own decisions about what path you want to take.

Oh. And I'm an XNA forum leader, so I'm obviously a fan of XNA. B) We would love to have you over there.

This post has been edited by BBeck: 19 October 2013 - 08:32 AM

Was This Post Helpful? 4
  • +
  • -

#15 farrell2k  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 797
  • View blog
  • Posts: 2,423
  • Joined: 29-July 11

Re: Which programming language would I use?

Posted 19 October 2013 - 12:43 PM

I would avoid C++ like the plague. There's just no need for it these days, considering that languages like C# and even Java are plenty fast enough for 2D games like Breath of Fire and Final Fantasy. Why anyone would ever want to subject themselves to the abuse of having to do their own memory management for such purposes is beyond me.

XNA may be dead, but MonoGame is not going anywhere. It looks like the new PS4 will also be using c# for indie games, much like the Xbox 360 did. I know you can already create PSVita games with C# and Sony's SDK. As much as I love Java, it seems like C# is becoming the end-all solution for everything. I'd throw every bit of time and resource I have into C#, if I were interested in game programming.
Was This Post Helpful? 1
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2