Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
I've been wondering and googling, but I thought I'd ask here for some definitive answers.

What language(s) would one have to know to create a proper computer game? C++?
What sort of resources would one need? (compilers, tools, etc)

I've been thinking long and hard about it, and I feel I want to take a stab at making a computer game. I know it's a long and arduous effort but I feel that it'd be in my best interest to try.

The kind of game I'm thinking about making is a Turn Based Strategy type game (i.e. Fire Emblem).
C++ or C#
C# won't make anything cutting edge, but you probably won't start by making cutting edge things anyway.
You can use just about any language you want, it's just that most commercial games are written in C++ with DirectX.

Some possible languages/frameworks:

I'm sure you could find similar frameworks for most languages, but these are just the few I'm familiar with.
I'm quite partial to XNA, but YMMV- it's very friendly if you don't know anything about 3D programming, though. I rigged up a basic full-3D system in less than a day of programming, and 2D graphics with XNA are even easier.
3D:
C++ and OpenGL using either GLUT or SDL for window creation

2D:
C++ and SDL
python and pygame
C# and XNA

As for tools...

Linux:
For Python you can just use whatever editor you want, gedit or kate is good enough to get started. Alternatively, you can use Eclipse with Pydev.

For C++ I recommend Eclipse CDT.

Windows:
For Python, you can use whatever you want. The IDLE editor that is bundled with python is good enough to get started. Otherwise you can still use Eclipse and Pydev. Or Notepad++.

For C++ or C#, use Visual Studio Express Edition.



Regardless, since you aren't actually going to get anywhere with whatever idea you have in your head, realistically I would do python + pydev. At least then you have a chance of having a working 2D game before you give up.
C# with OpenTK(bindings for openGL and some other stuff) is good for 3D also, and monodevelop is a good IDE for C#, and not nearly as bloat-tastic as eclipse.
Kllrnohj wrote:
3D:
C++ and OpenGL using either GLUT or SDL for window creation

2D:
C++ and SDL
python and pygame

This. C# won't get you anywhere except Windows, so if you like using other platforms at all, steer clear.


Quote:
Linux:
For Python you can just use whatever editor you want, gedit or kate is good enough to get started. Alternatively, you can use Eclipse with Pydev.

For C++ I recommend Eclipse CDT.

Windows:
For Python, you can use whatever you want. The IDLE editor that is bundled with python is good enough to get started. Otherwise you can still use Eclipse and Pydev. Or Notepad++.

For C++ or C#, use Visual Studio Express Edition.

Do not touch Eclipse with a 20 foot pole. It's bloated crapware and only barely functional for anything but Java. If you're using it and like it, you've either never used a proper editor, or are just masochistic. Let me say this again: Steer clear of Eclipse.

As far as python/scripting/general purpose programming editors go:

Komodo Edit is free (and has a big brother Komodo IDE which is not), and is hands down the best editor I've used on any platform for PHP and Python (and it supports a couple other scripting languages like Ruby and Perl to a similar extent), so if you're going with pygame, there really is no better choice. Also, it runs on Linux + Mac + Windows. Also, it has a full fledged vi-style editing mode, if you're used to that. Also, it's extensible through the same Mozilla add-on system as Firefox.

On Windows, Notepad++ is a reasonable choice for a general purpose programming-friendly editor, though I don't find it as useful as Komodo when it comes to Python.

On Linux, gedit and kate/kdevelop are both good options, but kate is a lot more helpful out of the box and I strongly recommend having the built-in terminal open at all times with an interactive python shell to test snippets of code when using it. I've been told that gedit is customizable, but I've found it to be a pain in the butt compared to anything except notepad or Wordpad on Windows (note: if you're forced to use a windows machine with no good programming editor, choose wordpad over notepad, because it doesn't screw your line endings).

On OS X, I haven't found any free general purpose editors that beat out Komodo in any fashion.

As far as C++ is concerned:
Under Windows, I use Visual Studio Express, and the editing interface is far and away the best editor I've used for C++ on any platform, but I've found project management to be a bit of a hastle, and the debugging interface is downright primitive (to be blatant, I've found a gdb console more useful than the VS Express debugger). If you want to develop for gcc under Windows, you'll want something like dev-c++, but vc++ is honestly the better compiler under Windows.

Under Linux, I've used both Code::blocks and KDevelop, but I don't have much feedback here. I mostly use Code::blocks to cross compile code that I've written under Windows or OS X. I like the KDevelop interface a lot, but haven't used it on any large projects, largely because I haven't started any large projects completely under Linux. Also, I've used and enjoyed NetBeans for Ruby on Rails development, but no C/C++. That was a pretty good experience, but I don't remember too much of it.

Under OS X, you have the whole suite of XCode tools. The editor is decent, though not as nice as some of the others I've mentioned, but the OS X developer tools as a package are the best single IDE I've ever used, bar none. Project management and managing the build process are easy, managing libraries to link against is a breeze, and the graphical debugger is THE best debugging environment I've ever used. My biggest complaint about any other debugger I've used is that it isn't XCode. On top of that, you have a whole suite of profiling, leak monitoring, and other instrumentation tools for monitoring your program as it runs.
Gedit+syntax highlighting+build tools works quite well for me.
elfprince13 wrote:
Kllrnohj wrote:
Linux:
For Python you can just use whatever editor you want, gedit or kate is good enough to get started. Alternatively, you can use Eclipse with Pydev.

For C++ I recommend Eclipse CDT.

Windows:
For Python, you can use whatever you want. The IDLE editor that is bundled with python is good enough to get started. Otherwise you can still use Eclipse and Pydev. Or Notepad++.

For C++ or C#, use Visual Studio Express Edition.

Do not touch Eclipse with a 20 foot pole. It's bloated crapware and only barely functional for anything but Java. If you're using it and like it, you've either never used a proper editor, or are just masochistic. Let me say this again: Steer clear of Eclipse.


Eh, Eclipse CDT does have its uses (AVR plugin anyone?), but personally I prefer gedit w/syntax highlighting and a terminal.
elfprince13 wrote:
Do not touch Eclipse with a 20 foot pole. It's bloated crapware and only barely functional for anything but Java. If you're using it and like it, you've either never used a proper editor, or are just masochistic. Let me say this again: Steer clear of Eclipse.

...

As far as C++ is concerned:
Under Windows, I use Visual Studio Express, and the editing interface is far and away the best editor I've used for C++ on any platform, but I've found project management to be a bit of a hastle, and the debugging interface is downright primitive (to be blatant, I've found a gdb console more useful than the VS Express debugger). If you want to develop for gcc under Windows, you'll want something like dev-c++, but vc++ is honestly the better compiler under Windows.

Under Linux, I've used both Code::blocks and KDevelop, but I don't have much feedback here. I mostly use Code::blocks to cross compile code that I've written under Windows or OS X. I like the KDevelop interface a lot, but haven't used it on any large projects, largely because I haven't started any large projects completely under Linux. Also, I've used and enjoyed NetBeans for Ruby on Rails development, but no C/C++. That was a pretty good experience, but I don't remember too much of it.

Under OS X, you have the whole suite of XCode tools. The editor is decent, though not as nice as some of the others I've mentioned, but the OS X developer tools as a package are the best single IDE I've ever used, bar none. Project management and managing the build process are easy, managing libraries to link against is a breeze, and the graphical debugger is THE best debugging environment I've ever used. My biggest complaint about any other debugger I've used is that it isn't XCode. On top of that, you have a whole suite of profiling, leak monitoring, and other instrumentation tools for monitoring your program as it runs.


Clearly you haven't done much C/C++ work. Eclipse CDT has the best code completion of any IDE I have ever used, including VS2005, VS2008, and VS2010 (all pro versions). Eclipse CDT is easily one of the best IDEs for C/C++. You're claim of it being bloated crapware suggests that you've only ever used an install that has had way too many plug-ins installed or you used an old version. Get just the Eclipse CDT version, and its *fantastic*. Its only real downfall is debugging.

Which you also clearly haven't done much of. If you think VS's debugging is poor, you suck at debugging. VS has the best debugger in the game. A truly fantastic debugger.

Although to be fair I haven't used XCode, but I highly doubt it is anywhere near as good as you claim. I'm guessing you just don't know VS's debugging interface very well.
KeithJohansen wrote:
I've been wondering and googling, but I thought I'd ask here for some definitive answers.

What language(s) would one have to know to create a proper computer game? C++?
What sort of resources would one need? (compilers, tools, etc)

I've been thinking long and hard about it, and I feel I want to take a stab at making a computer game. I know it's a long and arduous effort but I feel that it'd be in my best interest to try.

The kind of game I'm thinking about making is a Turn Based Strategy type game (i.e. Fire Emblem).


http://lazyfoo.net/SDL_tutorials/index.php
elfprince13 wrote:
Kllrnohj wrote:
3D:
C++ and OpenGL using either GLUT or SDL for window creation

2D:
C++ and SDL
python and pygame

This. C# won't get you anywhere except Windows, so if you like using other platforms at all, steer clear.
The C# language and CLR specifications are available and implemented on a variety of operating systems. Microsoft's own .NET implementation may limit you to Windows, Xbox 360 and Zune but Mono or related technologies (e.g. Unity3D) support Linux, Mac OS X the Wii, the iPhone and so on and so forth.

Quote:
On Windows, Notepad++ is a reasonable choice for a general purpose programming-friendly editor, though I don't find it as useful as Komodo when it comes to Python.
Notepad++ has a pretty awful user interface in my opinion. Programmer's Notepad does a good job and uses the same text editing component (Scintilla) internally.

Quote:
and the debugging interface is downright primitive (to be blatant, I've found a gdb console more useful than the VS Express debugger). If you want to develop for gcc under Windows, you'll want something like dev-c++, but vc++ is honestly the better compiler under Windows.
I'm increasingly convinced this is a joke post. Wink What's wrong with the Visual Studio debugger? Why you shouldn't use Dev-C++.

Anyway, I'll refer the OP to How do I get started on the GameDev wiki. There is an entire article dedicated to picking a language too.
benryves wrote:
The C# language and CLR specifications are available and implemented on a variety of operating systems. Microsoft's own .NET implementation may limit you to Windows, Xbox 360 and Zune but Mono or related technologies (e.g. Unity3D) support Linux, Mac OS X the Wii, the iPhone and so on and so forth.


Fine in theory, but not in practice. Specifically, only Windows will let you do XNA development for free.

C# is an excellent language for Windows (and WPF is phenomenal), but it isn't remotely cross platform. Even among MS technologies, C# the language is cross platform but .NET sure as hell isn't.

Also, iPhone *only* supports Objective-C, nothing else. If you code for the iPhone in anything but Objective-C (quite possibly the worst language ever, btw), you violate the developer agreement you spent $100 agreeing to.
Kllrnohj wrote:
Eclipse CDT has the best code completion of any IDE I have ever used, including VS2005, VS2008, and VS2010 (all pro versions). Eclipse CDT is easily one of the best IDEs for C/C++. You're claim of it being bloated crapware suggests that you've only ever used an install that has had way too many plug-ins installed or you used an old version. Get just the Eclipse CDT version, and its *fantastic*. Its only real downfall is debugging.

The code completion may very well be fantastic. I wouldn't know about that, any time I've ever used Eclipse I've given up in disgust before I wrote enough code that code completion was relevant. I've given it 3 or 4 chances over the last half decade on both Linux and Windows, and every experience with it has been a nightmare.

kllrnohj wrote:
Which you also clearly haven't done much of. If you think VS's debugging is poor, you suck at debugging. VS has the best debugger in the game. A truly fantastic debugger.

Although to be fair I haven't used XCode, but I highly doubt it is anywhere near as good as you claim. I'm guessing you just don't know VS's debugging interface very well.

benryves wrote:
What's wrong with the Visual Studio debugger?

For starters, the data+thread inspection and code stepping interfaces are freaking retarded (or in the case of thread debugging, entirely absent from VS Express). I know full well that neither of you develop for OS X, so you don't know what you're missing out on, but the XCode debugger does exactly what I want it to, exactly how I expect it would to, and I taught myself how to use it in less than an hour. In Visual Studio after I went through the shenanigans to connect to the Microsoft symbol server, I was stuck with the stupid breakpoints/stepping interface and DataTips (which appear to be a lobotomized version of XCode's data inspection facilities, lacking the dedicated window and tree view of an entire file's variables that make it possible to work quickly.
elfprince13 wrote:
The code completion may very well be fantastic. I wouldn't know about that, any time I've ever used Eclipse I've given up in disgust before I wrote enough code that code completion was relevant. I've given it 3 or 4 chances over the last half decade on both Linux and Windows, and every experience with it has been a nightmare.


Only troubles I've had has been with older versions or versions bundled with a ton of crappy plugins. Straight Eclipse CDT has worked great for me.

Quote:
For starters, the data+thread inspection and code stepping interfaces are freaking retarded (or in the case of thread debugging, entirely absent from VS Express). I know full well that neither of you develop for OS X, so you don't know what you're missing out on, but the XCode debugger does exactly what I want it to, exactly how I expect it would to, and I taught myself how to use it in less than an hour. In Visual Studio after I went through the shenanigans to connect to the Microsoft symbol server, I was stuck with the stupid breakpoints/stepping interface and DataTips (which appear to be a lobotomized version of XCode's data inspection facilities, lacking the dedicated window and tree view of an entire file's variables that make it possible to work quickly.


I didn't think VS Express's debugger was any different from Pro's, but thread debugging is there and stepping works fine. You also get the immediate window, which is *awesome*
Quote:
I didn't think VS Express's debugger was any different from Pro's, but thread debugging is there and stepping works fine. You also get the immediate window, which is *awesome*

This would say differently: http://msdn.microsoft.com/en-us/library/w15yf86f.aspx
elfprince13 wrote:


Heh, shows how much I've used the express editions. Why bother when you've got Ultimate?
Kllrnohj wrote:
elfprince13 wrote:


Heh, shows how much I've used the express editions. Why bother when you've got Ultimate?

Does Vista Ultimate come with Visual Studio Pro? If so I'm going to be installing that off my discs straightaway.
elfprince13 wrote:
Does Vista Ultimate come with Visual Studio Pro? If so I'm going to be installing that off my discs straightaway.


No, I meant Visual Studio Ultimate ( http://www.microsoft.com/visualstudio/en-us/products )

Previously I got Pro through my schools MSDN. Now I get all of them through my work's MSDN. Very Happy
Go to www.yoyogames.com and download Game Maker 8.you dont need to know any language and it has a very simple drag-and-drop interface though it supports dll's and uses an easy scripting language of its own. Some games can be made in about 5 minutes and it support 3d game making
I'm not an Xcode fan in the least. I'm building an iPhone game at work and have found Xcode to be awful. It won't even throw a warning if you are missing a closing bracket. It compiles and runs, and your app just crashes back to the home screen in the iPhone simulator. Granted, I've only been using it for 3 days so I may be missing some sort of feature to protect against that kinda thing, but the clean install just makes me mad.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement