Jump to content

  • Log In with Google      Sign In   
  • Create Account


C++ Games?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 SageCraze96   Members   -  Reputation: 106

Like
1Likes
Like

Posted 24 June 2013 - 06:40 PM

I want to know exactly what the market is like for games written in C++... Why is it that every time I find an Indie game worth playing it's usually written in Java?? Usually any games I see written in C++ come from big companies not Indie developers?


Edited by SageCraze96, 24 June 2013 - 06:41 PM.


Sponsor:

#2 ic0de   Members   -  Reputation: 831

Like
0Likes
Like

Posted 24 June 2013 - 09:07 PM


Why is it that every time I find an Indie game worth playing it's usually written in Java?? Usually any games I see written in C++ come from big companies not Indie developers?

 

The reason is because indie developers generally aren't told to use a specific language by their superiors as they have none. So as a result they pick a language of their choice and unfortunately many programmers don't like to use C++. Some people find it faster to write their game in a managed language like java and since most of the time they work on it in their spare time this makes sense as they don't want to overwhelm themselves. Indie games also tend not to include "cutting edge" graphics and physics and as a result the performance advantage of a compiled language like C++ isn't considered as important. The language that the game is written in isn't really an indicator of whether or not it's "worth playing" its just a trend for indie developers to use Java because they happen to like it. 


you know you program too much when you start ending sentences with semicolons;


#3 AllEightUp   Moderators   -  Reputation: 4183

Like
4Likes
Like

Posted 24 June 2013 - 10:37 PM

Not to disagree completely, but ic0de states things in a very negative connotation which should be taken with a grain of salt.  Developers are NEVER told to use a language even in the largest companies, if a team wants to write things in Basic, the company/marketing folks won't give a damn so long as you produce a game.  The use of C++ is not some directive given from on high, it is just the most common and viable language to make games of a certain quality.  Now, let's put things into perspective, the games being described are inventive and new concepts.  As such, most of them are not big company products because the big companies can't seem to pull their heads out of their asses and let folks just "make games", they want spreadsheets, projected profits and and all sorts of crap which means any "new" idea is trashed instantly because there is nothing to base projections on.  The language and source of innovation are very separate.

 

Anymore, with C++11 specifically, the speed at which an experimental game could be created is similar to Java.  Slap a couple open source libraries together and you can produce the same game in probably the same time.  Inventive games are inventive no matter what language they are written in..



#4 Álvaro   Crossbones+   -  Reputation: 12907

Like
3Likes
Like

Posted 24 June 2013 - 10:38 PM

I just searched the web for Java games from 1998 and I found this video. For comparison, 1998 is the year StarCraft was released.

 

The performance gap between managed languages and compiled languages has probably been reduced somewhat, but it's still there. Indies can get away with programming in Java because their games don't need to squeeze all the performance the computer has to give. Actually, they can underutilize the hardware's potential by an order of magnitude and still be fun to play. Programming in Java allows them to be sloppy about details they don't care about (like establishing ownership and cleaning up dynamically allocated memory) and I've heard there are lots of things implemented in libraries, so they can program at a high level.

 

I have been using C or C++ for 20 years and I feel pretty productive in these languages, but I understand if some [even most] people are more productive when working in higher-level languages. If you want to make indie games, you should probably use whichever language you are most familiar with.



#5 Buster2000   Members   -  Reputation: 1588

Like
0Likes
Like

Posted 25 June 2013 - 01:47 AM

I cannot think of a single indie game that is so cutting edge that it needs to be written in a low level language like C++.   Console games are usually aiming at being AAA games and pushing the boundaries that can be achieved with the hardware available.  Indie games on the other hand tend to focus on fun.  This is why they are written in Java, Pascal, Flash, HTML5, Game Maker, Construct 2D.
There are far too many wannabe indies out there trying to write their own engines in C++ because thats what they think happens in the "industry" whilst one or two smart people have managed to make 10 times what the average games programmer makes just by clicking together a game in game maker.

 

 

If you want to be an indie then you need to ask yourself "Do I want to be a hobbyist hacker or do I want to be an indie making a really cool game?".



#6 0r0d   Members   -  Reputation: 813

Like
0Likes
Like

Posted 25 June 2013 - 01:58 AM

I want to know exactly what the market is like for games written in C++... Why is it that every time I find an Indie game worth playing it's usually written in Java?? Usually any games I see written in C++ come from big companies not Indie developers?

 

1. A lot of indie games are written in C++, either completely, mostly, or partly.

2. Sometimes indies use off the shelf engines which allows them to use scripting languages, but the engine and its tools are still written in C++

3. Most games are written in C++ because it's the standard language in the games industry, because studios already have lots of time and money invested into tools and tech written in C++, and because it's the only language supported in many platforms.  Even on something like iOS which is Objective-C, that's still sitting on top of C++ and C/C++ can be used independently of the Obj-C code.

4. The reason a lot of indies dont use C++ is because they are amateurs who are starting out and want to use the simplest and quickest to learn language that will get their game up and running, they dont have existing C/C++ tech and tools, and are not necessarily interested in portability of their code.



#7 Buster2000   Members   -  Reputation: 1588

Like
0Likes
Like

Posted 25 June 2013 - 05:10 AM


The reason a lot of indies dont use C++ is because they are amateurs who are starting out and want to use the simplest and quickest to learn language that will get their game up and running, they dont have existing C/C++ tech and tools, and are not necessarily interested in portability of their code.

 

Or they are battle scared proffesionals with several years writing AAA games who realise that what you can do as an indie lone wolf is vastly different to what you can do in 100 man team with unlimited budget chucked at it.



#8 SimonForsman   Crossbones+   -  Reputation: 6036

Like
0Likes
Like

Posted 25 June 2013 - 06:07 AM

 


The reason a lot of indies dont use C++ is because they are amateurs who are starting out and want to use the simplest and quickest to learn language that will get their game up and running, they dont have existing C/C++ tech and tools, and are not necessarily interested in portability of their code.

 

Or they are battle scared proffesionals with several years writing AAA games who realise that what you can do as an indie lone wolf is vastly different to what you can do in 100 man team with unlimited budget chucked at it.

 

 

Indeed, it is very frequently just a business decision, by using off the shelf tools, engines, etc you can get your game to market faster and at a lower cost (Which makes it more profitable) and most of the good affordable tools and engines use higher level languages, even big AAA studios are using high level languages outside of the engine code these days.

 

If you are making your own engine (a bad business decision unless you have the resources to get a high quality engine done before it becomes outdated) it makes sense to use lower level languages, if you are extending or modifying an existing engine you might need to use a lower level language for that specific task. (quite common with Unity for example, allthough today most of the native extensions one needs can just be downloaded from the asset store) but for anything else, use the highest level language you can to get the job done as fast as possible with as few bugs as possible.


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#9 Orangeatang   Members   -  Reputation: 1454

Like
1Likes
Like

Posted 25 June 2013 - 11:41 AM


Developers are NEVER told to use a language even in the largest companies

That's not entirely true...

 

In large companies the developers often don't get to choose their target platforms, and it can be these platforms that dictate the required language. You don't have much chance of releasing a title on PS3 & 360 if you decide to go with Basic.



#10 frob   Moderators   -  Reputation: 20189

Like
0Likes
Like

Posted 25 June 2013 - 12:05 PM

I want to know exactly what the market is like for games written in C++... Why is it that every time I find an Indie game worth playing it's usually written in Java?? Usually any games I see written in C++ come from big companies not Indie developers?

 

Use the language that works best for you.

 

Most games, on today's modern hardware, you can choose whatever language you want.

 

You can absolutely write games ranging from Tic-Tac-Toe to Farmville without pushing the limits of hardware. Use whatever language you feel most comfortable in.

 

 

 

 

However, you also mention AAA games.

 

The major AAA games have a game engine that is very much unlike an indie game engine.  Many AAA games have a game engine that enters the realm of High Performance Computing. Parts of the game are pushing the hardware very close to the limit of its performance.  

 

In those cases, the parts of the engine that push the hardware to the extreme, the story is a little different. Language choices in that small part of the program are very limited. The language of choice for those constrained portions of code is usually "c with classes" potentially with a bit of assembly thrown in.

 

Modern AAA games are written with many languages. Usually there is a scripting language that is used for a great deal of the work. This scripting language is generally not C++. Often times the main engine is written in C++ mainly for convenience reasons; the libraries are easily accessible with C bindings and C++ features and idioms are powerful. Those few key components of the engine that are heavily optimized and written in "c with classes" and cannot afford even the small cost of most C++ idioms, even the few nanoseconds of a virtual call are too much for certain high performance components.

 

 

Few games have those needs.  Most hobby, homebrew, and indie games do not.  Some independent games do, and typically those games have multi-million dollar budgets. And of course, most of the AAA blockbusters push the limits, but those few games can fit on a retail shelf; they represent only the tiniest minority of games by number.


Check out my personal indie blog at bryanwagstaff.com.

#11 Komatsu   Members   -  Reputation: 345

Like
0Likes
Like

Posted 25 June 2013 - 01:52 PM

well torchlight and torchlight 2 is a relatively small studio and they used c++ and the ogre engine to create their game as far as i know. what language people choose to use may depend on the libraries they want to use. java over the years has gotten absolutely huge with the amount of libraries available which makes things easier and faster. they have actually done polls and stuff on the most used languages right now and its actually plain c which has the highest usage right now in the industry. this shocked me because c++ wasnt even on the list. alot of them are languages that most have never heard of. it was mostly comprised of scripting like languages. i think html was second. i wish i still had the link but there was some weird languages on there that you would never think of. c sharp wasnt on there at all either.



#12 Serapth   Crossbones+   -  Reputation: 5316

Like
1Likes
Like

Posted 25 June 2013 - 04:34 PM


Developers are NEVER told to use a language even in the largest companies, if a team wants to write things in Basic, the company/marketing folks won't give a damn so long as you produce a game.  

 

This I have to disagree with on many levels.

 

First the decision can come from above...  in the form of "We got a licensing deal/promo offer/something else to use this piece of middleware...  get to work!"  In this day and age, the underlying engine dictates the language choice more than anything else.

 

Next, for companies not using an engine, its generally because they are working with legacy code.  This generally forces the language on the dev team, and is probably a good part of the reason C++ remains as entrenched as it is.

 

Finally, its generally one or two people in the company that make the language decision...  after that lowly peons put up or get out.  It's the way of the world.



#13 TorbenC   Members   -  Reputation: 202

Like
0Likes
Like

Posted 25 June 2013 - 10:14 PM

 


Developers are NEVER told to use a language even in the largest companies, if a team wants to write things in Basic, the company/marketing folks won't give a damn so long as you produce a game.  

 

This I have to disagree with on many levels.

 

First the decision can come from above...  in the form of "We got a licensing deal/promo offer/something else to use this piece of middleware...  get to work!"  In this day and age, the underlying engine dictates the language choice more than anything else.

 

Next, for companies not using an engine, its generally because they are working with legacy code.  This generally forces the language on the dev team, and is probably a good part of the reason C++ remains as entrenched as it is.

 

Finally, its generally one or two people in the company that make the language decision...  after that lowly peons put up or get out.  It's the way of the world.

 

 

Thank you, I was actually wondering when someone would say this after he posted that.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS