What Languages is M&B Coded In?

Users who are viewing this thread

Anthropoid

Sergeant Knight at Arms
What programming languages is M&B coded in? If one were to pursue training in languages that would apply to AI programming in M&B and similar games, what language would you guys suggest?
 
Mb is kind of it's own language. It uses python but still, it has a unique language. C#/C++, java etc is probably the most useful I think. Pretty sure if you learn C#/C++, you wont have much problems with other languages.
 
Thanks!

I'm asking this same question on a bunch of different gaming forums (EVE Online; Bohemia Interactive; Creative Assembly) and a few points of consensus seem to be emerging:

1. C++ has become the standard for the more established developers though some of the indies rely primarily on other languages such as Python or Java

2. EVE Online for example was originally coded in stackless python, but also utilizes SQL and has been increasingly shifted to C++

3. Java is a more forgiving way to start: learn Java then go for C++

This guy from the EVE Online forums pretty much sums it up:

Scripting is "stackless" python (stackless for reasons that might be obvious to a programmer - i.e. concurrency). Client is probably a mixture of C++ and python. Back end all I know is it's SQL server, but I expect that and the middleware are C++.

If you're going to start writing code, I would start with Java these days. Personally I started with BASIC (it was a while ago!) and then moved on to C and then C++ and then .NET. I work as a developer now and all of my stuff is either C++ or C#. For games the language of choice is C++, but of course these days a lot of games are mobile based and they are either Java (Android) or Objective-C (Apple).

So I'm probably going to start with Java.

What I'm planning to do at this point is take the O'Reilly School of Technology courses. They cost a few hundred per course, but that is motivation to actually get it done and learn it, without having to take college courses. I alreayd got a Ph.D. so it's not like I need more degrees, just training to get me going on a portfolio and maybe some modding projects that I can use to get a job.

Would any of you guys suggest against OST or have an alternative that you suggest?
 
My advise is not to worry about which language to learn.
The problem with creating scripts is entirly logical based.
The question is do you have the know-how, do you have to tools, and can your results be achieved with the programming module.
An understanding on how to manipulate data is all you'll need.
Object oriented languages (C#, C++, java, python, etc.., all children of C) are very translatable in logic regardless of syntax.
 
I have experience with several languages, commercial projects and now, modding a game.

Theoretical knowledge of languages is not that important, and not a prerequisite to making games. What is more important is thinking in concepts transferrable to any language, and you get that from experience. Finishing a course in something, or getting certified in something else, may sound like an achievement, but it really means very little in practice.
If you want to make games, then make games, don't waste too much time with courses. You can learn a lot by doing. Get into scripting mods for any of the games you know and like, make new things, and you'll learn as you go.
 
But it is nice to have that Harvard Masters degree hanging on the wall.
And by nice I mean means absolutely nothing if youre stuck in a cubical.
 
Thanks guys, some very helpful responses.

I have had an interest in modding for a long time, but it has never materialized. Now that some things are changing in my current job, I've decided to devote the next year to changing tracks and get into a game programmer/designer career. I LIKE gamers and game forum communities. I ENJOY computer games, and I think they have tremendous potential that is only begining to be tapped. I think I'll have a lot more fun, be more productive, and probably make more money (in the long run) than my currently very stressful, unrewarding, and highly polticized industry. However, I do need to keep making money for the next year or so while I delve into the programmer direction.

In trying to 'in my free time' self-teach, and learn by doing (e.g., by investigating modding for games like M&B, ArmA or RTW) I've found that my lack of basic knowledge leads me to spend lots of time just investigating very basic principles. I have found I routinely read a few lines into a tutorial or guide to a particular aspect of modding and encounter one, two or three specialized terms references and think to myself "wtf does theat mean!?" This leads to hours spent randomly searching the interwebs for explanations of those terms/concepts, which leads to more, etc. etc.

Basically, I just don't seem to have enough basic knowledge yet to confidently and efficiently embark on self-teaching and learning bydoing. I suspect if I were to complete a couple online courses it would make a huge difference.

OST presently has Introduction to C Programming in their set of three courese "For the Complete I.T. Beginner."

The other two being

Linux/Unix 1: The Unix file system

Introduction to Object-Oriented Programming

The other thing about OST is that OST is accredited

http://www.oreillyschool.com/certificates/

Earn a Certificate for Professional Development from the University of Illinois Office of Continuing Education upon completion of each online certificate program.

It also sounds like their mechanics for learning are pretty flexible and effective. They have a learning 'sandbox' in which course content, problem sets, and projects all live together. You pay a small monthly fee ($5 or $10) to keep an account and you can keep it active beyond the duration of any partiular course you take. No time limits on finishing courses either.

Oh wow, just noticed that all their courses are 15% off through June 29th . . . guess it might be time to actually make the move!!
 
Well, I would be careful before romanticizing the gaming industry. No doubt making games can be fun, but generally from what I've heard, working in gaming studios can be quite stressful and demanding too.

As for learning programming languages, I would actually go in this order:

1) Python: something really simple, getting a basic grasp of loops and conditions, and mostly procedural languages flow.
2) C++: powerfully and sufficient for most things. OOP. Able to convert to Java, C# easily.

I would just skip java completely and only go back if needed. After all, java is not efficient enough for most modern games, and it's strict, rigid structure is just... not fun.

And starting with C (the way I did it) is just painful and unnecessary I believe :smile:. You can deal with the * and & and malloc and stuff after you learn about basic conditions and loops in python first.

 
SonKidd said:
Well, I would be careful before romanticizing the gaming industry. No doubt making games can be fun, but generally from what I've heard, working in gaming studios can be quite stressful and demanding too.

As for learning programming languages, I would actually go in this order:

1) Python: something really simple, getting a basic grasp of loops and conditions, and mostly procedural languages flow.
2) C++: powerfully and sufficient for most things. OOP. Able to convert to Java, C# easily.

I would just skip java completely and only go back if needed. After all, java is not efficient enough for most modern games, and it's strict, rigid structure is just... not fun.

And starting with C (the way I did it) is just painful and unnecessary I believe :smile:. You can deal with the * and & and malloc and stuff after you learn about basic conditions and loops in python first.

Very interesting, thanks for the information and advice.

With respect to workplace stress, I'll just say this: having spent years on gaming forums, and years vicariously hearing about progammers and I.T. folks in general through my wife, I know that I.T. folks are not saints  :mrgreen:
 
I started from doing my first programs/movies/games/doodles in Flash 5. So ActionScript was a pretty good language to start on.

Particularly I found that jumping to Lua and start doing mostly serious stuff was beneficial for grasping the initial concepts.
Lua is still my favourite language and still the 1st game scripting language, used in lots of titles and frameworks.

Take a look to a really interesting multi-platform, *awesome* engine called Löve.

Other languages that enjoy the most are JavaScript, PHP and Python.

Java, CS and family are in land of nobody. They aim to be a cross-breed between a real lang vs scripting/interpreted.
Pure mediocrity, slowness and bloat for fast prototyping at cost of being proprietary. I'd skip that completely like it was Visual Basic.

Programming in C++ is just not fun. It's practical, yes. But if you want to start with the heavies
Code:
goto C;
. And go from there, that escalates well :wink:

Of course all this is purely subjective, just be yourself, start to toy with things until you feel confortable.
Every person is unique and programming is a very personal matter. Just like writing styles.
____________________________________________
By the way, Mount&Blade is purely coded in cpp, they use MSVC as IDE and compiler. And some external libraries like FMOD for their 3D sound system, Havok for physics, an old version of Skin Magic for the launcher's border-less window, Licenturion for the serial number/activation system, and for protecting the DRM'd executable they sometimes used Themida.

The game was build from a testbed implementation by Armagan called Dazubo that you can download here. The game was called The way of the Sword at first.
Still nowadays if you look at the menu bar on windowed mode you'll see the same options than in any DirectX 9 SDK example.

About art pipeline, at least until OpenBRF? they used to have a very close relatioship with Blender. Guess why? :wink:

For what I've seen about the sequel they've switched to proprietary tools. Here you can see them showing off (in an interview uploaded to Youtube), an enhanced version of Warband and using 3ds Max for skinning and texturing.
 
Thanks Swyter. Very interesting stuff. I've actually decided to start with HTML and CSS. As one of th easiest and most useful languages (not to mention that my wife works in web design) it seemed to be a good suggestion.
 
Consider C# also. Becuse c# is csharp.net-informations.com widely used in game development especially unity3d. If you are a beginner C# is the best choice becuse of easiness and Object Oriented platform.

pello
 
Back
Top Bottom