Difficult programming question

  • Guest, it's time once again for the hotly contested and exciting FoH Asshat Tournament!



    Go here and fill out your bracket!
    Who's been the biggest Asshat in the last year? Once again, only you can decide!

Arden

Blackwing Lair Raider
2,632
1,925
I am sure there is probably no easy answer to this question, but here goes:

If I want to design/program my own game, what programming language should I focus on? Is there anyonelanguage that I should start with? Is it hopeless to try and be versatile enough with just one language, or is there a list of languages I would need to learn to be viable?

I've worked in the mmo industry on a AAA title, but not in a programming capacity. I've messed around with engines like NWN's design engine and had success.

To be honest, I'm sick of waiting for someone to make the game I have in my head and want to make it myself- as completely unrealistic as I know that is.

My coding skills are pretty much nada at the moment. I was thinking of doing the online coding schoolhttp://www.codeschool.com/for a start and maybe taking classes if it progressed to that point.

Any advice on the above would be helpful.
 
  • 1Like
  • 1Worf
Reactions: 1 users

stupidmonkey

Not Smrt
<Gold Donor>
1,665
3,491
C/C++/C# generally with more on the C++ end but it depends on what you are programming for and what technologies you want to use. You'll probably also add in some scripting like Lua and Python.

There are a ton of books devoted to the subject so I'd recommend looking on B&N or Safari online. You can get the base from online "coding" schools like MIT, Standford, codingschool.com, etc. but you're going to need to spend quite a bit of time if you've never attempted to program before. The more complex your game the more time you're going to have to spend coding it up. Good luck.
 

Helios

Lord Nagafen Raider
8
0
I'm a web dev not a game programmer, but I'll take a shot in the dark and suggest C# (C-Sharp) as a language to look at for game programming, you will likely want to invest in Visual Studio 2010. You should familiarize yourself with object oriented design principles. Depending on the game you want to make, there are a whole bunch of other things to consider as well, i.e., 3-D modeling and sound effects. Even for a small / simple game, you are still looking at a very difficult and potentially overwhelming task ahead of you especially if you have no programming experience.
 
158
0
Most good 3D engines have C++ bindings. Java if you want to do something on android.

As for learning, I think learning to code by tinkering around on your own MUD is a really good way to learn programming. No worrying about art if you don't want to. Tons of codebases out there though many of them are pretty hackish. Or just use one of those game maker programs to keep yourself interested.

Another thing - any experienced programmer can learn a new language without much trouble. If this ends up being a long term thing for you, learning new languages is not something you should worry about.

CoffeeMud (Java)
NakedMud (C + Python for game logic)
PlainText (C++, Javascript. HTML 5 interface with graphical map editor)
MudBytes

Hey all,

PlainText author here
smile.png


Just noticed this thread and wanted to say I'm happy some of you show an interest in my engine
smile.png
As quixadhal already mentioned, my engine is written in C++ (modern C++11 even), and has an embedded JavaScript engine. JavaScript is mostly used for scripting game objects, but new commands can also be created in JavaScript and the (still rather immature) combat system is largely handled in JavaScript as well.

I think given the current state of the engine it's best compared to NakedMUD, but possibly even more naked at the moment, and you get C++/JavaScript instead of C/Python. One feature that sets PlainText apart is that besides the regular telnet access it also has an HTML5 interface with a graphical map editor.

I'm very much interested in seeing wide adoption of the engine, and if there's anything I can do to make it more flexible/extensible I would happily work with anyone on that. So, if you're interested in working with my engine, don't hesitate to send me a message!
smile.png


Cheers!
Arend jr.

smile.png


smile.png


smile.png


smile.png


smile.png


smile.png
 

Arden

Blackwing Lair Raider
2,632
1,925
Thanks for the responses, links, and suggestions all. It seems pretty clear that without completely rewiring my entire life, the programming thing isn't going to happen. That was my initial thought, but I wanted to get some feedback in case there was some type of new development that would allow me to speed up and simply the process.

Have you thought about being a producer, or manager?
Absolutely. I'd love to be a producer/manager. To be honest, I think my strengths, experience, and skill set lead in that direction anyway. Unfortunately, it is extremely difficult (if not impossible) to just walk into a job like that. It took me years to break into the industry as it was (with no contacts) and I was only there a short time before the company went under.

Not that I'm giving up
smile.png
I just am trying to find work-around ways to accomplish my vision.

smile.png


smile.png
 

xrg

Golden Squire
180
59
I just startedthis threadand threw a bunch of Computer Science resources in there. What kind of game are you wanting to make, 3D or 2D? Unity is pretty good for 3D stuff and uses Javascript or C#. I originally learned to code with Flash/Actionscript which is sort of on a decline, but pretty good for 2D games with the Flixel framework.
 

Noodleface

A Mod Real Quick
37,961
14,508
If your programming skills are nada, I would suggest learning C first. After learning C you'll be able to pick up most languages fairly quickly.
 

ninjarr_sl

shitlord
50
1
Start with C#. If you have trouble with C# and need to practice the very fundamentals of programming without a lot of semantic complication, get familiar with Python, then return to C#.
 

Tenks

Bronze Knight of the Realm
14,163
606
For game development your only real option is to learn C++. Most games are produced using C++ and more recently iPhone development uses Objective-C.
 

Tenks

Bronze Knight of the Realm
14,163
606
Well that certainly used to be true, it's not really true of game development these days except in the very large studios, below that level there's a lot of diversity.
I'll admit my knowledge is fairly dated. What is the language most studios use these days? Literally two months ago I found out Minecraft was written in Java. Blew my mind.
 

Tenks

Bronze Knight of the Realm
14,163
606
Yeah indie favors gameplay and design more than AAA which favors graphics and effects. I wonder what % of "game programmers" work for large studios and how many work for indie studios. I'd imagine the large studios represent a large majority. From what I understand being a game developer at a large studio is the most mind numbing soul sucking work out there.
 

Tenks

Bronze Knight of the Realm
14,163
606
I don't think many people would argue with you but just saying "game developer" is pretty broad. I believe most large companies specialize their people now. So you basically do the same thing every day but for different titles. Unless you're in indie the days of being the ui developer, the engine developer, the ai developer and the logic developer aren't relevant. Which I guess means you can get a "worse" developer since they're not required to have depth. I don't know if you can blame the developers for the lack of innovation, though. You can read many interviews with large companies and they flat out say innovation doesn't sell. They make their money on rehashes. You can see it on this board and on reddit. The latest Mass Effect or Assassin's Creed will get a ton of press but it is basically the same game as the previous one. The developers just get requirements and do what their bosses say -- just like any other corporate job.

But yeah indie developers are extraordinarily smart people. It is almost like a modern day gold rush. You see people like Notch become overnight multi millionaires but for the most part teams will crank out a title only to make a bit of cash back.
 

Tripamang

Naxxramas 1.0 Raider
5,169
31,558
Yeah, interning at a large studio like 11 yrs ago completely soured me on the field.

Game development is in this weird place, GD I think most of us would agree is probably the hardest type of development(in that it simply requires the largest indepth skillset), but the lowest paying.

imho it's a large part why the industry is so uninnovative at the larger studios, high skill low pay doesn't attract the creme de la creme...
I have never heard of game programmers making shit money. There are a few game companies in my city and far and beyond most of them offer well above what the average programming gig does. Generally beginners start in the 60-80k range with a senior making 120k+. These are base salaries with a bunch of performance incentives thrown on top, compared to a 60-70k range for senior programmers in the local market.

They have to pay well, the hours are shit and crunches are soul sucking.
 

splok_sl

shitlord
57
0
I'll go against most of the advice here and say that you shouldn't start with c++. If you were going to train yourself to be a proper programmer, you'd have already done so. You don't want to program. You want to make games (and programming them is the means to your desired end). This is a VERY big distinction that other programmers miss. The most important thing isn't any of the technical stuff, it's getting results fast. The biggest hurdle isn't the learning curve; it's the motivation curve. If you try to learn programming like a programmer, you won't have the quick wins that you need to stay interested.

Instead, grab something that will let you have a game of some sort up and running in a weekend. Grab something like GameMaker or maybe even Unity, then go through some noob tutorials, or you could even go through some flash tutorials and have a web game up and running in a few hours.

Even if you don't like the reasons I give, c++ probably still isn't a good starting point. That's great advice if you want to get a job at a AAA game studio, but if you're wanting to start/work in an indie company, then getting a good handle on web or mobile is the best bet and Unity (and a few others) fairly happily exports to those formats. Of course, you have to learn some scripting to do anything useful in Unity, but tutorials will get you started, and when you need to do something that you don't know how to do, you can search out the answer.
 
349
1
I'll go against most of the advice here and say that you shouldn't start with c++. If you were going to train yourself to be a proper programmer, you'd have already done so. You don't want to program. You want to make games (and programming them is the means to your desired end). This is a VERY big distinction that other programmers miss. The most important thing isn't any of the technical stuff, it's getting results fast. The biggest hurdle isn't the learning curve; it's the motivation curve. If you try to learn programming like a programmer, you won't have the quick wins that you need to stay interested.

Instead, grab something that will let you have a game of some sort up and running in a weekend. Grab something like GameMaker or maybe even Unity, then go through some noob tutorials, or you could even go through some flash tutorials and have a web game up and running in a few hours.

Even if you don't like the reasons I give, c++ probably still isn't a good starting point. That's great advice if you want to get a job at a AAA game studio, but if you're wanting to start/work in an indie company, then getting a good handle on web or mobile is the best bet and Unity (and a few others) fairly happily exports to those formats. Of course, you have to learn some scripting to do anything useful in Unity, but tutorials will get you started, and when you need to do something that you don't know how to do, you can search out the answer.
you know, you have a damn good point
 

Tenks

Bronze Knight of the Realm
14,163
606
But lets also be real and you can get a "game" up and running in C++ just as quickly. You may need to know the IDE a bit more but it isn't exactly hard to get 3d objects complete with physics working in C++ with the breadth of libraries freely available.