• 0

Game Development Language Choices


Question

Hey everyone. I'm a web developer with experience in PHP, MySQL, Ruby, JavaScript to name a few and have reached a point in time where I have plenty of free time to branch out into things I *really* want to do - specifically game development. I have a fantastic artist wife that can handle any artistic side of the project, so that leaves me to handle the development side of things. Now, I'm not going crazy saying that I want to be a one man team making AAA games... however, I do want to put some basic indie titles together (think Cave Story, Fez, Braid) eventually with a few friends (I know a few programmers that would probably jump on the opportunity - though their skills are spread out over a wide spectrum of languages/fields).

So yeah, I'm thinking 2d, maybe some isometric 2.5d stuff. Side scrolling, top down, NES style games to start.

What language should I look into learning? I've heard conflicting opinions on each option.

C# - Most will tell me to jump straight into C# and work with XNA, but that leaves mutli-platform out of the question. I'm not too concerned about multi-platform, but I think it's a good option to leave open.

Java - So, that would lead me towards Java. I'm not a fan of Java, as a user. VM always seemed bulky and slow, with tons of vulnerabilities.

C++ - C++ might be a little bit too much of an undertaking, but I can see the benefit of learning proper memory management out of the gate. However, it might add too much time to development where, say, C# has XNA that handles a lot of the work out of the box.

Python - I see Python as an alternative, but I'm not sure I want to venture too far off the beaten path. Python is a very elegant language that I could pick up rather quickly, but the games I have seen developed in Python leave me wondering how capable it -really- is.

Would love to see some opinions here. Hopefully I didn't come off as too optimistic. :)

Link to comment
Share on other sites

Recommended Posts

  • 0

Done with this thread.

Like I said:

Cheesy, lazy and fast development = C#

Professional, hard work, and slow/long development = C++

I just want everyone to know that I hate C++ with a passion and love C#. Amazing language. Im just being realistic....

Link to comment
Share on other sites

  • 0

I HOPE that this is a joke. Performance wise, C# (in fact nearly any .NET language) kicks Java's ass. Excuse me; almost ANYTHING kick's Java's ass in performance.

I know this because I devlop in Java; It is the most disgusting slowest memory hogging piece of **** ever created. Multiplatform? Yes. Of course. Is it worth it? Hell ****ing no. The thing that most ****es me off is that there has been 17 years to improve it and STILL the performance is horrible. And Im not even going to start on the security portion.

You clearly have no idea what you're talking about. I too develop in Java, quite extensively in fact, dealing with highly computationally and memory intensive problems as part of my PhD (ever tried to do nearest-neighbour clustering on 0.5TB of data? Because that's the sort of thing I do every day in both Java and C#). I happen to know quite a lot about Java and C# performance, and how both Java and C# work under the hood - there are lots of differences, however at the end of the day you have 2 languages, both of witch perform JIT compilation, both of which perform garbage collection, and both of which have similar benchmark results. Yes, Java has slightly slower start-up times, but performance wise they are near identical. With every new release of the JVM Java gets faster.

I completely disagree. C is almost mandatory to at LEAST have coded in ONCE. Even as a school project. Even as agenda that stores a person and certain attributes such as name, numer, etc. It shows so many low level concepts on programming that nowadays with IDEs using mostly OOP (C#, Java, even C++) that you lose core fundamentals.

Low level concepts such as what? Using pointers to pass by reference? Allocating and freeing memory? You do not need to learn C to understand how these work. If you want to know how programming really works, go learn assembler, that's how I was taught.

Link to comment
Share on other sites

  • 0
Veiva: I assume you are using XNA since you said C#? If you said it in an earlier post, I apologize. I agree and I think C# will be more than enough for the beginners first five or so games they make. Not to mention if you like sticking with 2D, it has more than enough power for you. Why would I need C++ if XNA is MORE than enough for my game's needs? One of XNA 3.0's starter kits is a 3D racing game that runs at 60 fps. I say C#/XNA has more than enough power for a beginner's first several games.

Sort of ;)! I am using my own game library, which uses Allegro 5 through P/Invoke and forward compatible OpenGL 3. The actual library is modeled similarly to XNA. As for my game, it is a 3D/2D hybrid:

MeHNp.png

Again, the only bottleneck so far is the GPU... Which proves to not be a problem on a 9800 GTX or better. I fail to see how C# makes a game cheesy or lazy, as per pes2013's comments...

Link to comment
Share on other sites

  • 0

Sort of ;)! I am using my own game library, which uses Allegro 5 through P/Invoke and forward compatible OpenGL 3. The actual library is modeled similarly to XNA. As for my game, it is a 3D/2D hybrid:

SNIP

Again, the only bottleneck so far is the GPU... Which proves to not be a problem on a 9800 GTX or better. I fail to see how C# makes a game cheesy or lazy, as per pes2013's comments...

I agree. It is only cheesy if the graphics represent it as cheesy......I can make a cheesy C++ game with cheesy graphics from Photoshop.

Link to comment
Share on other sites

This topic is now closed to further replies.