• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Questions about Programming

Status
Not open for further replies.
Level 16
Joined
Mar 27, 2011
Messages
1,349
I've just started reading a book for beginners on C++. Learning variables, loops, if else, functions, etc. I am writing code with a program called Microsoft Visual C++ Express. I think I want to eventually want to get into indie game development. Upon research, there's a few things that confuse me that I wanted to get clarified:

1.) What is a "Framework".
2.) Is Microsoft Visual C++ what they call an "IDE"
3.) When the game development questions come out, Qt is always mentioned. What is this QT thing? It has a QT framework whatever that is.
4.) For other reference. Is Warcraft 3 world editor an IDE for the JASS programming language that Warcraft uses?

I've tried researching these things, but can't quite wrap my head around what they are or do. If any1 could explain them in simple terms, I'd really appreciate it.
 
Last edited:
Level 29
Joined
Jul 29, 2007
Messages
5,174
1) http://en.wikipedia.org/wiki/Software_framework
2) Yes, VC++ is an integrated development environment. That is, it has all the necessary tools in it so that you could create a full program (in the case of C++, this means a compiler, a linker, a tool to build a project (that is, send all the files to the compiler, and link all the resulting object files with the linker), and additional things that usually come with a decent text editor, such as auto-completion, syntax highlighting, etc.).
3) QT is a very big and common framework that can handle all sorts of things (window creation, OS events, and a whole lot of other things, it's huge). It's usually not really related to game development.
4) You don't make a program with Jass, so you can't really compare them.
5) Yes. Generally it has functions to load different formats of models and textures, ways to render them, usually has some/full access to user-specified shaders, etc. (this subject is pretty big, and involves many different things, where the two prominent ones are linear math and GPU shading)
 
Level 16
Joined
Mar 27, 2011
Messages
1,349
So a framework is similar to a game engine in the sense that its just pre built code for common tasks so the programmer doesn't have to waste their time writing it up themselves? Frameworks might handle network traffic, or the user interface, etc.

And QT is just a big framework.
 
Level 17
Joined
Jul 17, 2011
Messages
1,864
Game development involves 20-30% coding the game and the rest is only artwork to feed into the engine. in fact today if you can get an army of 3d and graphic artists you can easily make a game without the help of programmers provided of course that you have the resources to fund it
 
Level 15
Joined
Dec 24, 2007
Messages
1,403
So a framework is similar to a game engine in the sense that its just pre built code for common tasks so the programmer doesn't have to waste their time writing it up themselves? Frameworks might handle network traffic, or the user interface, etc.

And QT is just a big framework.

Correct.

Also, GorillaBull, your assumption is off slightly. Usually a game's final art assets are finished long before the game is fully debugged and the engineering department has given it the thumbs up. (Even then, there's no such thing as a perfect piece of software. The more I program and do game dev, the more I'm amazed at how well things work, considering that so many systems are hacked together on the fly.)
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
I am writing code with a program called Microsoft Visual C++ Express.
Do not bother, upgrade to "Microsoft Visual Studios Community" immediately. It is basically the entire Microsoft Visual Studios Professional 2013 except completely free. No this is not a scam, Microsoft plans to replace Express with Community to encourage Microsoft platform development. You can even make fully commercial products with it without paying them!

The catch is the licence is for personal use and small businesses only. As such there are still catches (larger companies still need to buy licences) however you get what you pay for and having the entire MSVS 2013 free of charge for personal use or small business is one of the best value offers I have ever seen MS make.

1.) What is a "Framework".
Generally a collection of abstract classes or utility methods. The framework itself does nothing however you can extend or use it to rapidly develop classes of your own which perform required jobs for your program. An example could be a physics framework which could allow you to easily add physical simulations to your program (such as for CAD or a video game) which saves on the thousands of hours of work required to develop high quality physics.

2.) Is Microsoft Visual C++ what they call an "IDE"
Yes it is an "Interactive Development Environment". If you use Community edition you can add productivity plugins (recommended by professionals) to enhance it further. You cannot do this in express however as the Express licence does not allow that feature.

3.) When the game development questions come out, Qt is always mentioned. What is this QT thing? It has a QT framework whatever that is.
I will answer this with another quote.
Qt is a cross-platform application and UI framework for developers using C++ or QML, a CSS & JavaScript like language. Qt Creator is the supporting Qt IDE. Qt Cloud Services provides connected application backend features to Qt applications.
Qt, Qt Quick and the supporting tools are developed as an open source project governed by an inclusive meritocratic model. Qt can be used under open source (GPL v3 and LGPL v2.1) or commercial terms.
It is a graphics framework that abstracts and generalizes some graphical operations in a way which is portable.

If you are only targeting Microsoft platforms I would recommend sticking with the DriectX framework and possibly their various gamming frameworks if you want to easily port to the Xbox One.

4.) For other reference. Is Warcraft 3 world editor an IDE for the JASS programming language that Warcraft uses?
No as it is not interactive. The only feedback you get is when you save the map which can even crash the editor in response to some syntax errors.

IDEs generally offer you features such as automatic formatting of your code as you type, suggestions for what you might want to type (useful if your class has hundreds of members and you forget the exact names) and live syntax checking (syntax errors are shown up without having to compile first).

Eclipse is an example of an open source IDE used on Linux mostly (but not entirely) for JAVA development.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
Well, except that the "I" in IDE stands for "Integrated" (as in you don't need other tools to develop a program in the selected language), and DirectX is an API, but sure.

I actually forgot about the community version, so that's a good suggestion (as a bonus, its default theme is so much nicer and easier on the eyes than express).

And since Dr Super Good had to go and suggest the usage of DirectX as usual, I'd suggest you to not bother looking at DirectX, and instead get something more high-level (e.g. a game-oriented library like SFML).
 
Status
Not open for further replies.
Top