As you guys can see, Blizzard has different level editors, The Starcraft II Galaxy Editor, the Diablo Editor(I don't know the actual name of it,) and the World of Warcraft Editor. They probably have two other editors made besides those considering there job listings for the Next-Gen MMO and an unannounced title.
I was just wondering, do they program there editors in C# or C + +? Or in general what do people program there editors in, it doesn't have to be what Blizzard does, I was just using them as an example because this is a Starcraft 2 forum and Starcraft 2 is there baby and all. :D The reason I am asking this is because I was looking at a books table of contents and it was talking about programming an editor in C#. I myself didn't read it at all because it was just an online preview of what you can expect out of the book.
So, are editors programmed in C# or C + +? Is it even possible to program an editor in C + +?
You can write software in any language really. Some are more appropriate for a certain kind of job.
Software like the Galaxy Editor certainly is typically written in C++.
Also, C is a great language too ( which I personally prefer to C++ ), but it's more low-level, providing higher flexibility, control and often speed over the code produced. A lot of fundamental, serious code will be written in C, such as the Linux kernel, core libraries, heavy number crunching software, and so on. Personally, 90% of my work is done in C.
I'm also mentioning C because C++ is a superset of the C language, and I believe you should first learn C before doing C++. That way you know both the class-based OO way of things, and the more flexible approach of building your own objects the way you want them to be.
you cant say "in general what do people program there editors in" they program it in what works best for there application. I have a flash editor programed in as2 for some of my games, I made a java world editor a friends game... Ive made a simple 2dworld editor in c++ for a small rpg for someone else.. you could use VB if you wanted to... its about what YOU want and what works best for you.
edit: you like to ask a lot of "general" programing questions which is totally fine, but these dont have anything to do with sc2..so keep them in offtopic please =D
There are editors for all their RTS Games (SC2 Galaxy Editor, War3 WorldEdit, SC1 StarEdit, War2 War2Edit, and War1 WarEdit). I've never heard of/seen a D2 or WoW Editors, so please fill me in.
Language doesn't matter as long as you can convert the algorithms and converts into the other one, v.v.
So:
Mapformat -> DisplayMode -> Mapformat
But i would use something for fast interface programming if the libs are working together (decompression mainly and all that stuff) or so i would prefer VC# or VC++ instead of C++ due to easiness of tool programming in it (and as long as not publishing it for all OS use)
Quote from Sixen:
There are editors for all their RTS Games (SC2 Galaxy Editor, War3 WorldEdit, SC1 StarEdit, War2 War2Edit, and War1 WarEdit). I've never heard of/seen a D2 or WoW Editors, so please fill me in.
I think he means internal editors, in the behind the scenes they call it "wowedit" for wow.
Quote from Sixen:
There are editors for all their RTS Games (SC2 Galaxy Editor, War3 WorldEdit, SC1 StarEdit, War2 War2Edit, and War1 WarEdit). I've never heard of/seen a D2 or WoW Editors, so please fill me in.
I think he means internal editors, in the behind the scenes they call it "wowedit" for wow.
oic. It just seemed to me like he was talking from experience.
Blizzard uses C+ + to program their games (at least Sc2 is).
However, a game editor doesn't have to be the same language. The most important part is to create an interface to link the game stuff (like the 3D engine) into the editor.
Different languages have different advantages.
If you code your editor in C+ + you have an easy time porting your graphic engine into the editor (or the entire game.. think about the Stronghold map editor), but C# .NET, for example, has a very easy way to implement a GUI so that's an advantage.
But yes, it's completely possible to code an editor in C+ +.
You can either use WinAPI (or MSVS's MFC) to create an application GUI at a very native and basic level (generally not such a good idea) or you can use graphic libraries like Qt or wxWidgets which allow you a higher level architecture and less strugle.
Maybe you can also use DirectX's user interface functions.. not sure.
It's definitely possible at least. Windows is made in C.
On the other hand C# gives you nice WYSIWYG editors (e.g. in MSVC#) and makes GUI programming VERY easy.
The drawback is that, if you coded your game in C+ +, you'll need to import this (via managed or unmanaged code) into your C# application and this can suck..
As you guys can see, Blizzard has different level editors, The Starcraft II Galaxy Editor, the Diablo Editor(I don't know the actual name of it,) and the World of Warcraft Editor. They probably have two other editors made besides those considering there job listings for the Next-Gen MMO and an unannounced title.
I was just wondering, do they program there editors in C# or C + +? Or in general what do people program there editors in, it doesn't have to be what Blizzard does, I was just using them as an example because this is a Starcraft 2 forum and Starcraft 2 is there baby and all. :D The reason I am asking this is because I was looking at a books table of contents and it was talking about programming an editor in C#. I myself didn't read it at all because it was just an online preview of what you can expect out of the book.
So, are editors programmed in C# or C + +? Is it even possible to program an editor in C + +?
Working on that 'Unannounced Title' must be both great and really annoying at the same time. Knowing not only that Blizzard is making a new game before anyone else, but also getting to work on it and test it would be great. Not being able to tell anyone this would be annoying :/
i have a few questions about c+ + i have visual studio for it what kind of project should i use for the general programming cause im just doing input and output right now in cmd prompt
i have a few questions about c+ + i have visual studio for it what kind of project should i use for the general programming cause im just doing input and output right now in cmd prompt
If you're making small applications you might as well go with either Visual Basic or Java. Though, if you're going to work on very advanced stuff that requires a lot of resources I'd suggest low level programing languages such as C, C+ + for those tasks.
I personally jump between languages. If I need to create very simple stuff, then VB is the way to go, however, if it is a bit more complex and perhaps required to run on multiple platforms I'd choose to write my application in Java.
It would be helpful if you could actually tell us what sorts of applications yo're trying to make.
i have a few questions about c+ + i have visual studio for it what kind of project should i use for the general programming cause im just doing input and output right now in cmd prompt
New -> Project -> Visual C++ -> Win32 -> Win32 Console App (for console app ofc)
Also look for specific MVS2010 introductions; as the Macros used there are kinda annoying if you are not used to them (instead of main you use _tmain and stuff like that)
addition to the topic:
Super Meat Boy for example included the devmode(where TeamMeat created almost every level in) (-devmode) right into their actual game instead of using an extra editor; which is also used in some indie projects, earlier games ie. Gish comes to my mind.
So C# has its advantages and so does C + +, obviously. I have plans to learn both of them, but what should come first? Which one would be better to understand Objects in before I move on to the next? I already have a small understanding of objects because I have been doing then in Java, but obviously because of the language difference it'll be a tad different. =)
In my opinion C# is like a slightly better version of Java. If you know Java then you should get into C# easily aswell.
I would say C# is easier.
For a good understanding of C+ + you'll have to learn about pointers, referencing and dereferencing and dynamic memory allocation and deletion to some extend. These things give a lot of people a hard time until, at some point, you finally get it :D
In C# you don't have to mess with these things. C# also has such a large native library. You can find so many things already scripted and ready for you to use. In C+ + you generally have to do more yourself. (C+ + also has such a library, the STL, but you won't simple stuff in there, like turning an int into a string - which is surprisingly complicated.)
All the pointer crap makes the OOP concept ( = using classes to program ) more tricky too.
Even though their names are very much alike there are some cruicial differences in C# and C+ +.
C# knowledge will only marginally help you learn C+ +. Sometimes it will even fool you into thinking that some C+ + thing works just like it does in C# because it has the same name.
A good example are structs (a container for data. Basically a class.) They have the same name, seem to serve the same purpose, they look the same and they are declared in the same way. They just don't DO the same D:
PS: It's also easier to get stuff done in C#. You can quickly slap a few buttons and text panels onto a window and do stuff with it. C+ + is less friendly in that respect.
PPS: I suggest using Microsoft's Visual Studio, if you don't do already. It supports C# and C+ + (and some others) and it provides you with a lot of features and a rather easy interface to work it.
Visual Studio 2010 is free of charge (the standard edition) and can be downloaded somewhere from M$ I think.
It may be easier to do simple stuff in C#, like it can excessively easy to do certain things in Python. But when the time comes to solve really complex problems, these "simple" languages often just aren't up to the task!
Again, I really recommend learning C first, then C++.
It may be easier to do simple stuff in C#, like it can excessively easy to do certain things in Python. But when the time comes to solve really complex problems, these "simple" languages often just aren't up to the task!
Again, I really recommend learning C first, then C.
honestly skip c... seriously.... once you learn everything else you know c... plus if your going to be maken something fun, you wont be using c yourself.
honestly skip c... seriously.... once you learn everything else you know c... plus if your going to be maken something fun, you wont be using c yourself.
----
You don't know how to write real C code because you know C++. The level of control and flexibility is totally different, there are proper algorithms that just can't be written if you limit yourself to the C++ "way of things". A programmer can only benefit from being comfortable with both and picking the best approach.
Anyway, the definition of "fun" varies :p. I write physics simulation software running on clusters packed with hundreds of CPU cores, creating windows with buttons isn't much fun to me.
As you guys can see, Blizzard has different level editors, The Starcraft II Galaxy Editor, the Diablo Editor(I don't know the actual name of it,) and the World of Warcraft Editor. They probably have two other editors made besides those considering there job listings for the Next-Gen MMO and an unannounced title.
I was just wondering, do they program there editors in C# or C + +? Or in general what do people program there editors in, it doesn't have to be what Blizzard does, I was just using them as an example because this is a Starcraft 2 forum and Starcraft 2 is there baby and all. :D The reason I am asking this is because I was looking at a books table of contents and it was talking about programming an editor in C#. I myself didn't read it at all because it was just an online preview of what you can expect out of the book.
So, are editors programmed in C# or C + +? Is it even possible to program an editor in C + +?
You can write software in any language really. Some are more appropriate for a certain kind of job.
Software like the Galaxy Editor certainly is typically written in C++.
Also, C is a great language too ( which I personally prefer to C++ ), but it's more low-level, providing higher flexibility, control and often speed over the code produced. A lot of fundamental, serious code will be written in C, such as the Linux kernel, core libraries, heavy number crunching software, and so on. Personally, 90% of my work is done in C.
I'm also mentioning C because C++ is a superset of the C language, and I believe you should first learn C before doing C++. That way you know both the class-based OO way of things, and the more flexible approach of building your own objects the way you want them to be.
There are editors for all their RTS Games (SC2 Galaxy Editor, War3 WorldEdit, SC1 StarEdit, War2 War2Edit, and War1 WarEdit). I've never heard of/seen a D2 or WoW Editors, so please fill me in.
afaik, Blizzard uses C/C++.
Language doesn't matter as long as you can convert the algorithms and converts into the other one, v.v.
So:
Mapformat -> DisplayMode -> Mapformat
But i would use something for fast interface programming if the libs are working together (decompression mainly and all that stuff) or so i would prefer VC# or
VC++
instead ofC++
due to easiness of tool programming in it (and as long as not publishing it for all OS use)oic. It just seemed to me like he was talking from experience.
Blizzard uses C+ + to program their games (at least Sc2 is).
However, a game editor doesn't have to be the same language. The most important part is to create an interface to link the game stuff (like the 3D engine) into the editor.
Different languages have different advantages.
If you code your editor in C+ + you have an easy time porting your graphic engine into the editor (or the entire game.. think about the Stronghold map editor), but C# .NET, for example, has a very easy way to implement a GUI so that's an advantage.
But yes, it's completely possible to code an editor in C+ +.
You can either use WinAPI (or MSVS's MFC) to create an application GUI at a very native and basic level (generally not such a good idea) or you can use graphic libraries like Qt or wxWidgets which allow you a higher level architecture and less strugle.
Maybe you can also use DirectX's user interface functions.. not sure.
It's definitely possible at least. Windows is made in C.
On the other hand C# gives you nice WYSIWYG editors (e.g. in MSVC#) and makes GUI programming VERY easy.
The drawback is that, if you coded your game in C+ +, you'll need to import this (via managed or unmanaged code) into your C# application and this can suck..
@s3rius: Go
Thanks a lot, that's what I was looking for. <(^.^)>
Working on that 'Unannounced Title' must be both great and really annoying at the same time. Knowing not only that Blizzard is making a new game before anyone else, but also getting to work on it and test it would be great. Not being able to tell anyone this would be annoying :/
i have a few questions about c+ + i have visual studio for it what kind of project should i use for the general programming cause im just doing input and output right now in cmd prompt
If you're making small applications you might as well go with either Visual Basic or Java. Though, if you're going to work on very advanced stuff that requires a lot of resources I'd suggest low level programing languages such as C, C+ + for those tasks.
I personally jump between languages. If I need to create very simple stuff, then VB is the way to go, however, if it is a bit more complex and perhaps required to run on multiple platforms I'd choose to write my application in Java.
It would be helpful if you could actually tell us what sorts of applications yo're trying to make.
New -> Project -> Visual
C++
-> Win32 -> Win32 Console App (for console app ofc)-> Win32 Project for WinAPI projects
Additional to this:
read about precompiled headers or uncheck them
http://msdn.microsoft.com/en-us/library/szfdksca%28vs.71%29.aspx
Also look for specific MVS2010 introductions; as the Macros used there are kinda annoying if you are not used to them (instead of main you use _tmain and stuff like that)
addition to the topic:
Super Meat Boy for example included the devmode(where TeamMeat created almost every level in) (-devmode) right into their actual game instead of using an extra editor; which is also used in some indie projects, earlier games ie. Gish comes to my mind.
@StatusQ3: Go
the sc2 editor looks like it was done with microsoft visual studio..... so visual C + + or visual basic would be my guess
So C# has its advantages and so does C + +, obviously. I have plans to learn both of them, but what should come first? Which one would be better to understand Objects in before I move on to the next? I already have a small understanding of objects because I have been doing then in Java, but obviously because of the language difference it'll be a tad different. =)
@StatusQ3: Go
In my opinion C# is like a slightly better version of Java. If you know Java then you should get into C# easily aswell.
I would say C# is easier.
For a good understanding of C+ + you'll have to learn about pointers, referencing and dereferencing and dynamic memory allocation and deletion to some extend. These things give a lot of people a hard time until, at some point, you finally get it :D
In C# you don't have to mess with these things. C# also has such a large native library. You can find so many things already scripted and ready for you to use. In C+ + you generally have to do more yourself. (C+ + also has such a library, the STL, but you won't simple stuff in there, like turning an int into a string - which is surprisingly complicated.)
All the pointer crap makes the OOP concept ( = using classes to program ) more tricky too.
Even though their names are very much alike there are some cruicial differences in C# and C+ +.
C# knowledge will only marginally help you learn C+ +. Sometimes it will even fool you into thinking that some C+ + thing works just like it does in C# because it has the same name.
A good example are structs (a container for data. Basically a class.) They have the same name, seem to serve the same purpose, they look the same and they are declared in the same way. They just don't DO the same D:
PS: It's also easier to get stuff done in C#. You can quickly slap a few buttons and text panels onto a window and do stuff with it. C+ + is less friendly in that respect.
PPS: I suggest using Microsoft's Visual Studio, if you don't do already. It supports C# and C+ + (and some others) and it provides you with a lot of features and a rather easy interface to work it.
Visual Studio 2010 is free of charge (the standard edition) and can be downloaded somewhere from M$ I think.
https://www.dreamspark.com/default.aspx ftw for free 2010 prof , tho i think im using 2008
It may be easier to do simple stuff in C#, like it can excessively easy to do certain things in Python. But when the time comes to solve really complex problems, these "simple" languages often just aren't up to the task!
Again, I really recommend learning C first, then C++.
honestly skip c... seriously.... once you learn everything else you know c... plus if your going to be maken something fun, you wont be using c yourself.
Quote from Molsterr:
honestly skip c... seriously.... once you learn everything else you know c... plus if your going to be maken something fun, you wont be using c yourself.
----
You don't know how to write real C code because you know C++. The level of control and flexibility is totally different, there are proper algorithms that just can't be written if you limit yourself to the C++ "way of things". A programmer can only benefit from being comfortable with both and picking the best approach.
Anyway, the definition of "fun" varies :p. I write physics simulation software running on clusters packed with hundreds of CPU cores, creating windows with buttons isn't much fun to me.