What Is The Best Compiler For C++?

Dedicated Forum for developers of programs/utilities. To announce new or updated products, to share knowledge and ideas for development.

Moderator: CrazySchmidt

What Is The Best Compiler For C++?

Postby Luckyboy1 on Wed May 17, 2006 12:12 am

Don't laugh, but I'm going to try and learn C++ over the next year or so. My plans are to punch up my own WWII flight sim game. I'm so new to coding C++ that I don't even know what information is needed by whoever can answer this question, so I'll tell you my plans and you guys can tear it apart from there.

Don't worry about the copywrite issues because I'll be getting around most of that by releasing the game as freeware, but encrypted for to keep anyone from arguing that it could be used in the future for commercial projects and to prevent cheating and security threats.

I want to make a game that has everything equally capable online as it is offline.

I want all planes to be able to choose all possible bomb loadout combinations and NOT have them capable of choosing a bombload combination that was not possible in real life.


As far as I'm concerned, the core of the serious flight sim game is the simulation engine and the algorythms that go into it. Yes, this is going to be very CPU intensive. In fact, with as many variables as I'm going to make it track for just one plane, there's not much point in doing anything but learn how to do it for at least the next three years. By then, even a complete moron such as myself may have learned something with some help from the flight sim community. So far, I've found 420 + algorythms to track for each and every flyable plane. Most of these are to help refine the feel of the plane, especially when damaged.

Ever notice that this game as I remember has stuff getting rippied off, but never any pieces flapping in the wind or getting loose in their mounts or hinges. The code I'll punch will model how the plane reacts to damage much better. As a result, there will be big time demands put on the CPU. I estimate it will take a CPU that is twice as capable as what we've got now in an FX chip. If push comes to shove, I'll punch the code so the flight modelling is as correct as possible and leave options for pretty water, trees and the cliffs of Dover for later because that's something you can more easily add or change than the basic computation parameters to simulate the flight.

The game will unfairly assume all online players are using what we have in standard cable internet capabilities today. I'm not happy with that decision and may change it, but for what I want to accomplish, I doubt that will ever happen. I'll just be wanting to exchange too much data too fast to hobble the whole thing with doing it any other way. Im still going to work very hard to make it so you can strip it down for a online game on dial-up, but I doubt I could make both versions compatible from what I've read so far. If worst case scenario comes to pass, then there will be two versions of the game.

It will be designed specifically for the Track IR Pro 4 or better.

I want it to have sound capability that will make it so the neighbors report you to the neighborhood association for running real engines in your house. Yes, I know, all those base tones are big time data users, but there it is, Hopefully Audigy will be up to the task by then. they say they are almost there now with the X cards, but feel I'll just slightly notice it's not a Merlin engine with what's available now. They warned me the problem is APU and CPU loading when I go to try and do this, but we'll see.

Speaking of sounds. I plan on you hearing creaking, groaning, wires getting tight and then vibrating and then the sound of the multistrands starting to give way! There will be banging noises from parts that didn't quite make it cleanly off the plane when it was damaged. There won't always be a rythm to the banging noises either. The plane will make cold noises when it is cold and hot type noises when it is hot. Yes, I know, the CPU loading! Still, I'd rather have a game that aged gracefully than something dated right away. There will be noises when appropriate and accurate when bombs, rockets and cannons/guns are fired. If you lose a gun to jamming or damage, well, it's going to sound that way as well as look that way.

There will be some chaos theory applied and you won't get exactly the same results for the same amount of damage to the same location because that's the way it was in real life too! In fact, don't count on your plane starting every time. Don't expect that because you never took a hit, that a mechanical problem won't crop up.

I want to make it so we can later add a live tank component to the game. Also, a live Naval group as well for those who want to... I have no idea why anyone would do anything other than fly, but that's their business. Who knows, maybe some day I can even add an aircraft control position that takes a live player for those of you who like to boss folks around at the airport or carrier.

I want the carriers to have working lifts and hangar decks.

The game will be built primarily around the four engine bombers. I want all positions to be able to be worked and all possible bomb loadouts to be done before proceeding to another bird. I'm leaning towards theming the first part of the game on the secret U.S. bombing campaigns on the Eastern front, Ploesti oil fields, then do Med, and onward and outward and I think to honor Oleg, for every expansion West, there will be two expansions East until East meets West.
Read Luckyboy's Guide For Complete Users...

Luckyboys Guide

For all your hardware needs...

Magnum PC
User avatar
Luckyboy1
Forum Dissident
 
Posts: 363
Joined: Fri Dec 10, 2004 11:58 pm
Location: Frostbite Falls, MN U.S.A.

Postby MaXMhZ on Wed May 17, 2006 11:14 am

eh - have you ever programmed before LB?

It might be a good idea to start with a less complicated project too - I don't think it's a feasable idea to start with a flightsim - unless you have intimate knowledge of flight models, aeronautics, and a lot of mathematics I'd study ZDirectX or OPenGL first. You won't get around either of those, and choose a compiler that can handle at least one of them. Remember compilers aren't cheap either. The Borland Delphi 7 compiler I use cost about $1800,- And that's only the compiler and no add-on libraries. maybe it's a good idea to look at a free compiler
Image

Waste no more time arguing what a good man should be. Be one.-Marcus Aurelius
NWS Online Shop
User avatar
MaXMhZ
Site Admin
 
Posts: 1188
Joined: Fri Dec 10, 2004 11:23 am
Location: NL

Postby CrazySchmidt on Wed May 17, 2006 12:24 pm

I'm with Max.

"DANGER WILL ROBINSON, DANGER!" :mrgreen:

Crawl before you walk, walk before you run, run before you sprint, you get the idea.

LB, your desire and will is admirable, but research and understanding prerequisites for such a project is a huge must. You speak as though you understand the fundamentals of programming structure without having elementary experience, forgive me for saying it comes over as little crazy!

Remember that the original IL-2 series was in development for approx 3 years with a "team of programmers" before final release and look how far that has come over the years with gained experience and growth of understanding and learning.

It is a wonderful thing to possess a creative mind with new ideas and to have the drive and passion to want to implement them, but equally as important is the minds blue print as to how you will reach those goals, step by step. At the moment it seems as though you have focused on the result without enough thought as to how you might get there.

I wish you well on your quest, but seriously consider taking the appropriate time to study and learn the skills you will need to successfully achieve such a project.

Good luck my friend.

CS.:)
User avatar
CrazySchmidt
Utilities Developer
 
Posts: 358
Joined: Wed Dec 08, 2004 1:59 am
Location: Auckland, New Zealand

Postby CrazySchmidt on Wed May 17, 2006 12:38 pm

Actually LB, I have just read your initial thread throughly and have to ask are you taking the piss out of this site and it's members?

That's a big serving to digest buddy! :shock:

CS.:)
User avatar
CrazySchmidt
Utilities Developer
 
Posts: 358
Joined: Wed Dec 08, 2004 1:59 am
Location: Auckland, New Zealand

Postby MaXMhZ on Wed May 17, 2006 1:25 pm

It'll be interesting to see how long you'll hang in, but anyway here's an address you can go from and look and try some free compilers (I saw Borland has it's C++ 5.5 compiler as a free download :D (wink- wink)

I just read the part about the sound :D Looks like I have to grade-up from the milk-box model speakers if I want to run this flightsim the right way :) Ooh and online too - hopefully I can jump in a Tiger tank too :) I'd start programming the database to keep an eye on all the features this sim's gonne have :D From what I read now Oleg's already scared his pants off ;) If you want me to make a soundsampling of those multi-strand wires snapping - I got access to a 200 metric ton pulling bench and loads of lifting cable ;) tikketikketik...tikBENG :D
Image

Waste no more time arguing what a good man should be. Be one.-Marcus Aurelius
NWS Online Shop
User avatar
MaXMhZ
Site Admin
 
Posts: 1188
Joined: Fri Dec 10, 2004 11:23 am
Location: NL

Postby EURO_Snoopy on Wed May 17, 2006 2:20 pm

LB! Good one, you had me going for a moment :lol:

I tinkered with Basic and a little C+ a few years back. It aint easy.

Wait till you see how difficult it is to get something on screen and make it respond to key presses and impacting other objects etc. It is fun but will teach you to scale down your expectations of building a Flight Sim.
User avatar
EURO_Snoopy
Site Admin
 
Posts: 597
Joined: Tue Dec 07, 2004 2:12 am
Location: UK

Postby Luckyboy1 on Wed May 17, 2006 4:45 pm

Yes, I've already put over 40 hours into just seeing how feasable the whole idea is and know full well that the chances of my sticking with the process all the way through to completion are poor, but I'd really like a straight up answer to this question please. Money being no object, what's the best compiler out there for C++?

I've already downloaded a freeware compiler and have been using it for a couple of days to help me get started with my online desires to learn C++. The name of the freeware program is called...

Bloodshed version 4.9.9.2

My only programming experience is twofold...

1) Back in the late 1960's and early 1970's we'd string together about a dozen EPROMS on a breadboard to make up a controller for the grain elevators and automatic feeding systems for the cattle. This was what attracted kids like Waz and Cousin Billy to spend days getting out to our farm to get a gander at these breadboards. At the time, I never knew, suspected or even dreamed these clowns would become rich, famous or even infamous. I would then get letters from Waz showing me how it all could be done on 3 or even 1 chip. I'd read it and my eyes would kinda glass over as he used mostly grunts and clicks to communicate his ideas instead of plain language. Maybe I should have paid more attention to what he was saying, but at the time, I was like between 8 and 14 years old, I was the one in the family charged with selling the wheat as well as other complicated duties like shovellling sh!t and getting kicked by cattle and dragged by horses. Let's face it, I was far more interested in Suzie Rottencroche than I was Waz or Bill!

Then, a technology came out that probably was the seed of creation for PC's. You know those chips they can place under the skin of your pet so it can be identified by a scanner? Well, that technology's old. People make out like it's a technology of the PC age, but it simply is not. Each spring, in addition to cold branding... what's that?... it's branding with a standard branding iron that was dipped in liquid nitrogen instead of making it hot. Instead of leaving a burn mark like with hot branding, it would turn dark hair light and light hair dark on the cattle. We also used ear tags that could hold scannable information and was the genesis for Control Data Corporation's inventory control system that you now know as bar codes. When the chip system came out, we could run the cattle through a head gate with a scale under the animal as part of the setup that would scan the chip and record the information on a magnetic tape. Then we'd have some code punched that would tell us based on weight gain how well the cattle were doing as far as gaining weight. It would even automatically open the exit gate to the correct holding pen based on that information and we could then check and see why some animal was not gaining weight as fast as it should be. All this stuff was grown at home stuff and if we listened to the "it can't or isn't practical to do" crowd, it would have never happened. I miss a world where people would sit around a picnic table and discuss how things COULD be done.

2) During the late 1970's and early 1980's, I programmed some CNC machines in basic, but again, I only learned what I felt was usefull and needed and never had a joy for punching another If statement!


You guys react like I don't respect or appreciate what Oleg and the gang have done here. Have I not gone on again and again about how we should all be buying the game instead of stealing it? Have I not spent a great deal of time explaining to people what it takes just to calculate the needs for 1 plane and the resources it takes?

I've been advised to start with C++ instead of a programming code that is easier to learn in order to keep me from THINKING in another language as my base language.

Yes, I fully know that there's no point in going beyond a freeware compiler for now. Yes, I'm aware that I'll have to crawl before I can walk and then some. You make like I'm going to try and jump immediately into coding the game and that isn't the case. I plan on spending at least the next year simply learning the basics of the language. Maybe I'll never reach this goal of punching up a flight sm game, but the only way to ensure I never do it is to never try.

I have one skill that most of the C++ programmers lack and that's a physical and scientific understanding of the forces placed on an airplane. I truly believe that this is the area and not coding ability that set Oleg apart from the rest in making flight sim games.

I've been speaking with the programmers for the flight simulator over at the local Lockheed plant in town. The only question they're not able to answer for me at this time has to do with compilers for C++. For their needs, they use something less capable that is provided by their employer.

So, the question stands! An answer, flat out would be appreciated. You'd think after all this time, you guys could just break me off a piece and answer the question. If not for me, try and remember I'm not the only one reading these forums.
Read Luckyboy's Guide For Complete Users...

Luckyboys Guide

For all your hardware needs...

Magnum PC
User avatar
Luckyboy1
Forum Dissident
 
Posts: 363
Joined: Fri Dec 10, 2004 11:58 pm
Location: Frostbite Falls, MN U.S.A.

Postby Luckyboy1 on Wed May 17, 2006 5:19 pm

Delphi Highlander? Is this the bad boy I'll want?
Read Luckyboy's Guide For Complete Users...

Luckyboys Guide

For all your hardware needs...

Magnum PC
User avatar
Luckyboy1
Forum Dissident
 
Posts: 363
Joined: Fri Dec 10, 2004 11:58 pm
Location: Frostbite Falls, MN U.S.A.

Postby Luckyboy1 on Wed May 17, 2006 5:29 pm

Holy Brancruptcy Batman! Dephi Borland is a $3,500.00 program! That's ok, I suspected as much! Because I DO respect programming, I always felt it would cost me anywhere from 2 to 5 grand to get a compliler. Why ask now when I'm not going to buy for a year or more? For the same reason you start researching your next PC build a year ahead of time. BECAUSE it is a critical and major investment, I've got to start investigating this now instead of a year from now.

By the way, I'll add another of what you may feel is an unreasonable desire here. I plan on punching it up in 64 bit because any PC that will stand a snowball's chance of running it will be 64 bit capable.
Read Luckyboy's Guide For Complete Users...

Luckyboys Guide

For all your hardware needs...

Magnum PC
User avatar
Luckyboy1
Forum Dissident
 
Posts: 363
Joined: Fri Dec 10, 2004 11:58 pm
Location: Frostbite Falls, MN U.S.A.

Postby MaXMhZ on Wed May 17, 2006 6:16 pm

Nope "Highlander" is the codename for the 2006 portation of Delphi 2006 that will support the .NET framework
Delphi is not C++ but it's a continuation of the Pascal language which was initialy designed to teach programming but later became very popular in scientific circles - mostly because of it's ver vast execution and very strong typeing. In Pascal/Delphi you can't exchange data types easy, unlike in C where you can "mess around" a lot more, there are ways to get around the strong type-casting though; I've even made self-modifying code in Delphi and TSR programs (Terminate but Stay Resident) in my DOS days :D - these are programs that stay active in memory after they terminate (give control back to DOS). mostly you'd see them as "pop-up" programs when using DOS, hitting a hot-key combination would bring up the program
Even with 30+ years of programming under my belt in dozens of languages I wouldn't dream of starting on a flightsim though. Not even in Delphi. The closest I ever got to it was a terrain following and obstacle avoidance automation program using Polaroid ultrasonic distance meters for a model helicopter - and even that took me 6 months before it worked at least a bit satisfactory and didn't crash the copter. there's allways more to a project than you think on first glance and every problem you solve tends to bring up ten others ;) But I do wish you the best of luck If you'd only succeed to move a 3D shape through a 3D Space I'd consider it a huge acomplishment LB Can't help but to admire you for trying.

Delphi Architect is indeed 3.5 big ones. The one I use is Delphi 7 Enterprise edition which is a bit cheaper (at $2,500).-but lacks some of the features Architect has I couldn't have afforded it had I not received it as sort-of payment for a program I developed for a company (a fuzzy-logic temperature control/automation unit for rubber presses It's even aviation-related lol. They produced the seal for the KC135 fuel tankers amoungst other hi-tech rubber components
Image

Waste no more time arguing what a good man should be. Be one.-Marcus Aurelius
NWS Online Shop
User avatar
MaXMhZ
Site Admin
 
Posts: 1188
Joined: Fri Dec 10, 2004 11:23 am
Location: NL

Postby MaXMhZ on Wed May 17, 2006 7:37 pm

It might interest you to take a look at http://www.thunder-works.com
These guys started their flightsim project in 2002. They opted for http://www.openscenegraph.org/ to use as their 3D Engine
Image

Waste no more time arguing what a good man should be. Be one.-Marcus Aurelius
NWS Online Shop
User avatar
MaXMhZ
Site Admin
 
Posts: 1188
Joined: Fri Dec 10, 2004 11:23 am
Location: NL

Postby Luckyboy1 on Wed May 17, 2006 8:52 pm

Thanks Max! those are CAN DO! type answers.

I remember the baby fit Dr. Richard Mueller (my Uncle who worked for Control Data Corp.) threw when Pascal came out and then was discovered to be more than a teaching tool. He had much the same idea, but sat on it too long because he couldn't see it resulting in millions of dollars for his company right away. Dick, like many talented programmers could be... well, let's not call him unreasonable!... let's just say while never wrong, sometimes he was less right than he could be! :wink: At the time I thought he was kinda an idiot for thinking it wouldn't go farther. After all, programming built to explore possibililities stands half a chance of getting you just that; possibilities!

I know what you mean by going 30 years into something and still feeling like a novice. When people ask me my level of understanding of the IL-2 series of games, I tell them I'm still a novice! I know that by most folks definition, this simply isn't true. But I'm smart enough to stay dumb enough about what I've learned to stay on the learning curve. I truly believe this is what keeps us growing and I've always felt we are either growing or dying. I'm sure this community has seen me do both!

I almost didn't even mention these efforts to this community because of the natural rection I'd get. I stumbled upon 3 programmers who work on the flight simulator over at Lockheed. They gave a funny and relatively accurate definition of us flight sim fans....


Middle aged men who appear outwardly to be otherwise normal and of at least slightly above average intelligence who only become psychotic when dealing with flight sims or anything else aviation!

They discussed with me using Pascal to do things, but felt I'd be going a bit too far the radical route by punching in Pascal. They said C++ is the way to go NOT because it is the most capable, but because it will do what I want it to do and will not result in a code so odd in its application that those joining on the project later would have to go through a 3 year learning curve just to understand the basics of what I was doing.

Now, I have no plans to single handedly punch the entire code. I plan on doing the part that none of the others seem to be able to get their collective brains around and that's the physics engine for the game. I sent the link to one of the Lockheed guys and he said by the time I ripped apart and strung that code back together enough times to get it to do what I want it to do, I'd be better off just going from jump. Who knows, maybe I can at least use it enough to help me learn and then proceed from there.

Tell you what, let's not make grand plans for now. Let's just say for reasons not fully understood or explained, Luckyboy wants to learn C++. We'll see what I can learn in a year and oh, by the way, I just got a job offer from a Company that after a year of working for them will be willing to PAY for me to go to school and learn C++ formally. Like I say though, who knows what's next in life. I simply want to grow because I'm sick of dying slowly. there's a line from the movie "The Shawshank Redemption" that says...

Get busy living, or get busy dying!
Read Luckyboy's Guide For Complete Users...

Luckyboys Guide

For all your hardware needs...

Magnum PC
User avatar
Luckyboy1
Forum Dissident
 
Posts: 363
Joined: Fri Dec 10, 2004 11:58 pm
Location: Frostbite Falls, MN U.S.A.

Postby MaXMhZ on Thu May 18, 2006 7:44 am

I would get the C compiler from Borland. Like all their products it has a very nice IDE (Integrated Development Environment (just a fancy name for the text editor /design program you make your program with - instead of typeing pages of code you can drag-and-drop ready made partial solutions like buttons, listboxes, edit fields etc onto your clean form (window) then double click that button or object and write the code it has to execute which takes a lot of hasstle out of the programming process For simple programs that can decrease developement time a lot. Maybe that's why they call it Rapid Application Developement.(RAD)

Anyway, if it's free to try, why not. Borland has been one of the few big players in producing programming languages for decades. It all started for them with Turbo Pascal, but they have been turning out C compilers for years too. Maybe the biggest plus for C is that it's so widely spread. There are a great many programmers using it, and therefore support in the tune of libraries of functions and the like is good too. I dare say that there's not a programmer that can get around C - most of the programs, dll's and drivers are written in it. A big project like a flight sim will tend to be written in multiple languages however Like the Java part of IL-2 e.g. Normally you'd choose a language to fit the task it has to perform. What can be easy in one language could be a life's work in another. That's why it's not possible to say what the "best" C compiler is.I've allways found Borland products very pleasant to work with, but that doesn't mean others are no good. Ask what compiler is used by that company - it might be their programming course is for a specific compiler.It might even be you get it with the course for free or with a huge discount, which is allways good :) It's like the Chinese say: A journey of a thousand miles allways starts with the first step.
Image

Waste no more time arguing what a good man should be. Be one.-Marcus Aurelius
NWS Online Shop
User avatar
MaXMhZ
Site Admin
 
Posts: 1188
Joined: Fri Dec 10, 2004 11:23 am
Location: NL

Postby BaLrOg on Thu May 18, 2006 11:14 am

Well stone me LB you sure come over as one of those grab em by the nuts kinda guys.

I thought I was putting my balls on the block when I contemplated just fooking around with WWSensei's Devicelink wrapper and believe me that has been one steep bloody learning curve already and I still havent managed to produce anything other than a pretty form to look at!
(Using Microsoft Visual C++ Express - and yes its free).

It sounds like you have got one foot on the ladder though as you have some one who is willing to fund your learning and that from what I have seen so far is a big help.

I guess the only pointer I could offer you would be - before you spend all that lovely money on comercial compilers, is that maybe you take a look around at what is available through the linux platform as there are many Free compilers and packages available through that medium that may prove useful.

From what I have seen though pretty much all of them , free and commercial, do more or less the same thing but in slightley different ways. Some of them (the object orientated ones) offer you short cuts like drag and drop code snippets, like a programmers lego kit. Others offer you powerful debug and editing features. The most useful for the newcomer I guess are the drag and drop object orientated ones. But, to me the main key is ,what you have probably already guessed, a good solid understanding of the core language and plenty of time to practice. Oh and someone prepared to invest a little time to help you on your way.

Good luck on your mission I wish you every success.
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 100th_Alien on Fri May 19, 2006 1:33 am

My plans are to punch up my own WWII flight sim game


Good Luck, <raises hand> I get to BETA test, cause I got da faith in you! :P
Image
"The four elements: earth, air, water, and fire. Of these, I call your attention to two: air and fire. As pilots we live in the air, but we die by fire."
User avatar
100th_Alien
Flight Sergeant
 
Posts: 77
Joined: Sat Feb 04, 2006 9:36 pm
Location: Xemu Xeno

Next

Return to Developers Central

Who is online

Users browsing this forum: No registered users and 5 guests

cron