The best path to getting started for me?

Started by
7 comments, last by fecharacterguid 12 years, 5 months ago
I'd like to start programming a game both for fun and for making some extra cash. I have a few game design ideas that would work well, but I'm not sure which frameworks/platforms, etc. that I should be using. I'd like to make games that are RPG-ish in-nature, but I had a few ideas for other kinds of games that don't require a lot of motion and 3d requirements.

I'd like to use frameworks/libraries that are easy to use but not limiting. I remember learning DirectX many, many years ago... and the API was terrible. Is it still like this? I don't think I could put up with it if it was. OpenGL seemed to have a cleaner and more straight-forward API at the time. Still the same?

Is developing games on the phones viable? Do I need to own a phone to develop a game for one? (I don't have a snazzy smart phone or anything like that honestly). Is it relatively easy to do compared to regular PC gaming?

If I wanted to make standard games that work on Windows, what kinds of tools and frameworks would I need? I have a copy of Visual Studio 2008 already. Will that help, or will I need something else?

Can you make a game that works on XBox and still distribute it to PC users?

I have a lot of experience in Java (12 years+) and some experience in Scala, Ruby, PHP, etc., but something tells me those skills won't be immediately transferable. I have used C/C++ though, but it's been about 12 years. I'd rather use a language that's clean and modern - that's my preference anyway.

What would be the best path for me?


Advertisement
With 12+ years of Java, and zero game programming experience, it's pretty much a no brainer to start with Java.


If you want to target Xbox and PC, you can do that with Xbox Live Arcade using XNA and C#, which are freely downloadable. ( XNA Game Studio Express ). If you want to target XBox 360 and not Live Arcade, you need a Dev Kit from Microsoft ( several grand each ) and use C++.
Okay, well I have no experience with any of the frameworks/libraries that people use to make games using Java (and I'm guessing that Scala would also be suitable then, correct?).

So which frameworks and libraries are powerful, well-supported, etc. to make well-performing games with? Most game publishers tend to use c++/directx combo, so I was not really aware that I could even use Java.

As for the XNA, that sounds like a nice alternative. I can get around c# well enough. I don't know the APIs nearly as well as I know the java space, but it's similar enough to how Java is designed that I think I could get around. I also have VS.NET 2008 already. If I have this already, do I just download 3.1 version of XNA from Microsoft's website? (Version 4.0 seems to require Visual Studio 2010, but I don't have that).

Will my XNA games work on the PC too? Like, could I sell/distribute them on both platforms, or just use Xbox live?

Okay, well I have no experience with any of the frameworks/libraries that people use to make games using Java (and I'm guessing that Scala would also be suitable then, correct?).

So which frameworks and libraries are powerful, well-supported, etc. to make well-performing games with? Most game publishers tend to use c++/directx combo, so I was not really aware that I could even use Java.

As for the XNA, that sounds like a nice alternative. I can get around c# well enough. I don't know the APIs nearly as well as I know the java space, but it's similar enough to how Java is designed that I think I could get around. I also have VS.NET 2008 already. If I have this already, do I just download 3.1 version of XNA from Microsoft's website? (Version 4.0 seems to require Visual Studio 2010, but I don't have that).

Will my XNA games work on the PC too? Like, could I sell/distribute them on both platforms, or just use Xbox live?


Most of this info will be of no use to you, as you are already an established history with Java, but it contains links to the key java game libraries. If you scroll through it, it also address C# and Java common game libraries if you see nothing you really want for Java.

Basically LWJGL seems to dominate as the low level 3D API, jMonkey as the higher level engine and Slick as the 2D library of choice, but there are other options.

Moving from Java to C# is easy, now... moving back after, that's not so easy. :) If you go the XNA route, just download Game Studio Express, its C# 4.0 with XNA 4.0 built in. There is actually a bit more to XNA than just being a library, so you rather need GameStudio ( or VS2k10 ). You can of course install an older version into 2008, but I am totally one of those people that always wants the newest and shiniest, so I would go the 2k10 route. The download link for XNA is included in the above link.

And yes, your XNA game will work on PC, and yes you can distribute it on PC. I believe there are some XNA authored games on Steam now. Actually, with a product called ExEn, if you stick to 2D, you can actually target your game for Android and iOS too!
I think I'll go the xna route as the java stuff hasn't impressed me. Besides, I don't see java as a modern language. C# looks a lot nicer. Scala would be nice to use too though - sexy language ;P I've used that on a few things.

Besides that xna game studio being a new version of c# and xna, is there anything I'm going to lose by not using visual studio 2008? My copy is msdn professional edition. I got it from my last place of work. Like, it's actually a legit disc and everything. Might as well use it if it's going to be good for me. :P

One thing I don't think I could live without is great ide support for the language. Does it have things like refactoring and does it make unit testing easy out of the box, and things like that? I know visual studio 2008 has some of these things, and jetbrains resharper will add what's missing.

I think I'll go the xna route as the java stuff hasn't impressed me. Besides, I don't see java as a modern language. C# looks a lot nicer. Scala would be nice to use too though - sexy language ;P I've used that on a few things.

Besides that xna game studio being a new version of c# and xna, is there anything I'm going to lose by not using visual studio 2008? My copy is msdn professional edition. I got it from my last place of work. Like, it's actually a legit disc and everything. Might as well use it if it's going to be good for me. :P

One thing I don't think I could live without is great ide support for the language. Does it have things like refactoring and does it make unit testing easy out of the box, and things like that? I know visual studio 2008 has some of these things, and jetbrains resharper will add what's missing.


There is stuff that is stripped out of the Express versions obviously, but generally its the enterprisey stuff, GSE should be sufficient for your needs.
I wonder if resharper would still work with it. If you haven't seen resharper, you should look at it. I can't see this being useful for enterprise stuff - it's just an amazing programming tool. I find refactoring tools in any language to be really very helpful.

I don't expect to be unit testing the graphic parts of the game obviously, but there's going to be an object model that represents the game world, the objects in it, the game rules, etc., and I'm guessing that unit testing all of this code will be a big plus. I've been a test-first programmer for at least 10 years, and I'm not sure I could go back to hacking. The fact that I'm not as good at c# as Java would probably make this even more necessary actually.

To be clear on the game studio link, is the refresher 1.0 version, or is it another one?

I wonder if resharper would still work with it. If you haven't seen resharper, you should look at it. I can't see this being useful for enterprise stuff - it's just an amazing programming tool. I find refactoring tools in any language to be really very helpful.

I don't expect to be unit testing the graphic parts of the game obviously, but there's going to be an object model that represents the game world, the objects in it, the game rules, etc., and I'm guessing that unit testing all of this code will be a big plus. I've been a test-first programmer for at least 10 years, and I'm not sure I could go back to hacking. The fact that I'm not as good at c# as Java would probably make this even more necessary actually.

To be clear on the game studio link, is the refresher 1.0 version, or is it another one?


No, resharper won't work, and yes its a nice tool. No plugins in Express editions, although a bit of ( but not nearly enough ) the refactor tools were built in.

Refresher 1.0 is ancient. XNA GS4 I think was the last release ( http://www.microsoft.com/download/en/details.aspx?id=23714 ), otherwise it is now part of the WIndows Phone SDK ( which was a dumbass move on Microsofts part, way to confuse branding ). That link is here ( http://create.msdn.com/en-us/home/getting_started )
Hrm, so am I at a big disadvantage to target vs 2008 with xna 3.1 instead of 4.0? To me, I'd rather have the ability to use resharper if the difference is nothing that will concern me. Even then, is it worth getting a non-express version of visual studio 2010 in order to have both resharper and xna 4.0? :)

This topic is closed to new replies.

Advertisement