Talk:Video game programming

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Game programming content[edit]

Why was a big section of the game programming content cut-n-pasted to game development? Info about game programming should stay here. Game development, if the article must exist, should be on the much broader scope of game development (and I'd venture not just videogame development). --Mrwojo 01:50, 24 Dec 2004 (UTC)

Yes, I just asked Slike the same question on his talk page. He may pop over here and soon and discuss this issue. I feel the content should stay here too. In short, it talks about game development from the programmer's perspective. It doesn't talk about the other developers' roles at all. An article that discussed everyone's roles would be way too long, so shold be discussed in seperate articles (see The video and computer game design process, for example). Frecklefoot | Talk 02:28, Dec 24, 2004 (UTC)

C++ not standardized?[edit]

The C++ language has been standardized for a number of years now, and even comes with it's own standard libraries (like the STL). --JamesRB 11:08, 22 Mar 2005 (UTC)

Not every platform's compilers fully support the full C++ standard--that's what that comment meant. I couldn't figure out how to say that without getting too wordy for the table. Do you have an idea? :-) Frecklefoot | Talk 16:39, Mar 22, 2005 (UTC)
Honestly, I think that's a fairly old argument at this point. It may have been valid as a language 'con' at some point, but not today. I'm regularly writing code for four different platforms at the same time in my current job, and other than minor language differences, it's fairly easy to write portable code nowadays. I'd replace it with something like "can be a complex, difficult language to master" or something like that. In all honesty, I think that's the only thing C++ has going against it at this point. Other than a few holdouts, it's the universal standard for the game industry.
Oh, but if you still wanted to just revise the original con, I would replace it with "compiler compliance to language standard can vary" or something like that. It's just that the original text implies there is no standard. JamesRB 20:08, 31 Mar 2005 (UTC)

Suggestions for Additions[edit]

This article seems to have a very broad scope that barely scratches the surface of the topic. This is obviously a good thing since dozens of entire books go into further detail, but perhaps some links to more in-depth subtopics ought to be included. Some possibilities include: scene graphs, resource management, collision detection, curves and splines, matrices and quaternions (could be extended quite a bit to include object/world/projection transformations, linear algebra, etc), finite state machines, lots more AI, meshes, mipmapping (and other texturing techniques), heightmaps, and so on. In addition some of the production topics might be more appropriate in a topic of larger scope such as Game development. I'd be happy to contribute what I can but just figured I'd check for feedback before messing up someone else's hard work. --ChuckChapman 17:35, 12 Apr 2005 (UTC)

While all of those topics are related to game programming, I think they are far beyond this article's scope. I'm almost certain there is a wikibook on game programming where these topics might be more appropriately covered. But if you really want to include them in this article, how would you work them in? I can see mentioning them as necessary disciplines or techniques, but how could you cover them to any extent in a single article? If you could describe your approach, I'd be happy to give more feedback.
However, I would like to see game programming during the late '70s and '80s covered in more detail for historical sake. It was less complex and lucrative back then. This is a job for me, I guess, since I started the whole mess to begin with. :-S Frecklefoot | Talk 20:49, Apr 12, 2005 (UTC)
Topics such as linear algebra, quaternions, finite state machines, etc. not only have uses outside of game programming, but there already exist Wikipedia articles on these topics. You could just briefly go over the topics here and how they fit in with game programming, and link to the relevant articles for a more detailed explanation of the topics. It would be best to check if an article for each topic already exists, and link to it if it does, and perhaps write one if it does not. Ae-a 23:36, 12 Apr 2005 (UTC)
A brief description of their relationship to game programming and a link is indeed what I meant to suggest. I apologize if this was not clear. Just as the article for photography has under "See Also" a bulleted list of photographic techniques, I think it might be useful to list and link game programming techniques in this article. ChuckChapman 22:08, 15 Apr 2005 (UTC)

Game loop[edit]

First of all great article, I've lurked over here from the game programmer article! One bit of feedback I have is the "gameloop" section could possibly use fleshing out a little. Could explain how this is the basic logic, but then the overall framework of a game typically consists of modules and gamestates, and the roll OOP actually plays in enabling this kind of system. Maybe it's a bit in depth, but I feel it'd give a nice insight that wouldn't be _too_ lengthy into the kind of project scales for modern games. What do ya think? :) Davedx

Glad someone likes the article! I wrote the original version, but of course its had several edits by other users since then (I wrote the game programmer article too). On your proposed edits, I intentionally didn't go too in-depth, because this isn't really a "how to" article or an article on OOP (which I favor). Games can be written in many languages, such as C and assembly which aren't OO. Plus, I think we'd like most articles to be digested by the layman (though this is sometimes impossible for highly complex subjects). Lastly, someone did go in depth into a game loop discussion before, but it was swiftly reverted, because it was POV. If you want, you can post your proposed edits here first for some peer review. But since this is a wiki, you can just make the edits to the main article outright. Just don't be upset if someone heavily modifies your additions. :-) Peace. Frecklefoot | Talk 18:54, May 25, 2005 (UTC)

Why removed Actionscript??[edit]

It is more of a language suited for game programming than some of the other ones mentioned here on this page! And since AS2.0 but at least with the upcoming AS3.0 it is alot more powerful that nobody can complain! Very disappointing to see such info getting just removed from one day to the other!

Video Game Programming[edit]

I'm going to be a freshman at college and I'm not sure about my major in Computer Engineering. I'm hoping to become a video game programmer and don't know if a BS on Computer Engineering would be the best choice for me if I do pursue that career.

I've heard that people with Computer Science degrees have better chances at programming games, but if I do decide to major in Computer Engineering, would I still be on the same boat as the people with CS degrees?

It depends. If the Computer Engineering degree focusses on computer hardware, it'll have little applicability to game programming (it'll be somewhat applicable, since it will probably involve some assembly, which is useful for some console stuff). If it focusses on programming just as much as the CS degree, it'll be just as applicable.
Whatever you do, don't--DON'T--get a "game programming" degree. If I had two candidates, all other things being equal, and one had a game programming degree and another had a CS (or Software Engineering) degree, I'd always choose the one with the CS/SE degree. — Frecklefoot | Talk 15:27, 12 July 2006 (UTC)[reply]

If you want to be a game programming take these steps.

Get a HDN/ND/DIGREE in computer software engineering or any computer course that teaches C/C++ programming. This will give you the key knowledge of structured programming. Then take up books and learn learn learn learn. All you need to do to get a job in the game industry is to be good at what you want to do in that specific industry. Its like being an artist, you dont get employed just for the qualification as you could be a crap artist yet have the qualification, but you could be a hobbyist and be very gifted as get the job. —Preceding unsigned comment added by 172.203.80.199 (talk) 11:00, 14 November 2007 (UTC)[reply]

Do NOT choose a school on the basis it teaches C/C++, gaining knowledge of the language is the relatively easy part as it is learning the concepts and theory which is the tough part. Thus it is perfectly acceptable to go to school which starts of with teaching Scheme for instance (like MIT did) as this is an excellent language to start with, while C/C++ is a very VERY poor choice as a first language to learn! Mathmo Talk 16:08, 31 May 2012 (UTC)[reply]

Merge with Error level[edit]

From what I saw of the article (one sentence!), it is a dictionary definition, not really worthy of an article at all. If it needs to be merged with something, why not merge into Level design instead? — Frecklefoot | Talk 14:50, 9 August 2006 (UTC)[reply]

E3 Demo?[edit]

I was just reading this article, and read to the part concerning the importance of the E3 demo. However, it is known that the structure of E3 is going to change drastically, while it would still exist in some form. How should we approach this? --Pifactor

Well, since it is an ongoing event, I think we should wait until the next E3 to see how things pan out. I'll take a look at the section and see what I can do to may it currently relevant until then.
Please sign your posts. You can do this with either 3 ro 4 tildes (~~~ or ~~~~). The latter is preferred since it also adds a timestamp. :-) — Frecklefoot | Talk 14:03, 11 August 2006 (UTC)[reply]

The E3 demo has been renamed to Trade Show Demo like it should be!! —Preceding unsigned comment added by 70.135.128.209 (talk) 22:57, 1 May 2008 (UTC)[reply]

Okay!! I took out the reference to the Penny Arcade trade show since I don't think its as big a deal as its article makes it out to be. I've been a video game developer for over 15 years and I've never been asked to make a demo for it. — Frecklefσσt | Talk 13:53, 5 May 2008 (UTC)[reply]

Unix/C?[edit]

In fact, the Unix operating system and the C programming language exist because the original programmers wanted to play games.

Excuse me? Games cannot be developed using another languages and OSes? --Yonkie 09:20, 3 November 2006 (UTC)[reply]

Of course they can, but the point is, for these two technologies, they weren't. Both Unix and C were originally developed so the developers could play games:
  • Unix was developed so the programmer could play a space travelling game
  • C was developed so the programmers could write the operating system for an unused computer in their office. They needed an OS so they could write an Asteroids-like game.
Computer games can be written in a myriad of language for any number of operating systems. But the point is, both these technologies were developed because of the developer's desire to play games, no loftier goal than that. — Frecklefoot | Talk 15:34, 6 November 2006 (UTC)[reply]

"In fact, the Unix operating system and the C programming language exist because the original programmers wanted to play games."

lol? definitely needs citation here.. Pulseczar 03:15, 21 December 2006 (UTC)[reply]

It's fairly well documented, but I agree a citation would help here. — Frecklefoot | Talk 17:34, 26 December 2006 (UTC)[reply]

Python - scripting language ?? (Category "Language")[edit]

I took Python out of the "Scripting Languages" section, but got reverted by Frecklefoot. Here is "my" version.

I think (!!) Python is:

  • ...popular (see this)
  • ...a little bit slow, but definitely usable, even for games (there are more than just the latest-greatest commercial killer-games)
  • ...very easy to learn and to use
  • ...not just a scripting language (see Python, search for "scripting language". of course you can, but...)
  • ...an excellent choice especially for indie developer teams, these need the productivity gain

Frecklefoot, why did you revert it? And, did you ever use Python (really no offense, just asking)? --89.61.122.80 (talk) 18:11, 4 February 2008 (UTC)[reply]

Really, I've never used Python, but I've talked to other game programmers who have. Every one of them described it as a scripting language. The best thing I've heard about it is "interesting." Most people who did use it now use Lua (and that definitely IS a scripting language). I've been a game programmer for 15 years and have never encountered a professional game written in Python. I really don't think hobbyist and free games count.
Even the data at the link you provide (and I have no idea how accurate it is) shows Python scraping the bottom of the barrel, although it looks like it is becoming more popular. If anyone else disagrees, that's fine. I'd love to discuss it. But for the past 15 years, I've used C, C++, assembly and Java. None of the companies I've worked for (I've worked for about seven, both publishers and developers) have used Python AT ALL. I don't dispute that it's popular. Just that it's not popular among professional developers. — Frecklefσσt | Talk 18:45, 4 February 2008 (UTC)[reply]
I am not a professional game developer, so I don't have the experience you have. In the context of professional game development, you are probably you are right. But:
  • There are large free/hobbyist games (thanks to FOSS), although not written in Python.
  • Why don't small/free/hobbyist games count? Tetris is a game too...
  • The link I provided lists Python at position 6 for this year, and position 8 last year. This year, it is above C# and Perl. I think thats everything but "scraping the bottom of the barrel".
I still don't agree with you, but I accept it. --89.61.108.237 (talk) 20:24, 5 February 2008 (UTC)[reply]
Okay, "scraping the bottom of the barrel" may have been an exaggeration, but I still don't see how Python qualifies as "the programming language of 2007" when it is still below Java, C and C++. It does seem to be below C#, which is hard for me to believe, since we use C# a ton around here for game tools, but never use Python. We might even use a Java tool (someday, lots of guys here know it, including me), but Python is out of the question. We even have a Lua library we use. I don't have all the experience in the world, but I have been around. Python isn't on the professional radar.
From the website you provided, it looks like they say there is a lot of activity on the Internet around Python. Okay, I can believe that. But does that mean its really important? I don't think so. That activity could be an indication of message boards centered on people asking questions about how to do something in Python. The same types of things get asked about in Visual Basic. Does that mean it's a serious programming language? (answer, NO). When the guys around here have a question about something in C++ or C#, the first place they turn to is a co-worker. Only if he doesn't get a satisfactory answer, then he may turn to the Internet. But if a Python developer has a question, since there are so few professionals using it, probably the first place he looks is the Internet. Hence the activity.
If the website you referenced had actually interviewed thousands of companies instead of indexing sites on the Internet, I think they'd find Java and C++ (or maybe C#) as the languages with the highest level of use. If it were just game developers, it would be C++ (Windows, Xbox, PlayStation, Wii, handhelds) and Java (for browser-based game developers). C# is heavily used for tools, not core game code (yet, though we did deliver one for a private customer in C#).
I don't want to beat this thing to death. If there are other game programmers who don't agree with me, please chime in. But from my experience, Python is not a serious player in the professional game arena.
Do hobby/free games count? I don't know, should they? I just stuck with the professional games because I believed they are the most influential. Even Tetris, as you mentioned, was a professional game, officially licensed to numerous platforms. It wasn't a hobby/free game (it is NOW, but that's another issue). — Frecklefσσt | Talk 15:02, 6 February 2008 (UTC)[reply]
About the C#-Python thing: C# has the support of Microsoft. From talking to some professional guys working in the IT area (not game development, however) - support is often more important than actual quality. Microsoft is a very well-known company, so they use Windows, so they use C#, so they - believe it or not - use VB6. Same for Sun/Java. [Don't read this as "xyz is bad", I dont want to start a flame war]
I think hobby/free games do count: with Tetris I didn't mean the original Tetris. I chose Tetris because it has hundreds of thousands of remakes, which means hundreds of thousands of involved developers (!). Of course, the big commercial games are what people talk about. However, some non-commercial games have a significant player-base too.
If anyone else wants to comment on this, feel free, but I am convinced. Let's just simplify things to "you are right", it's okay. --89.61.94.212 (talk) 15:57, 9 February 2008 (UTC)[reply]

Clearly Python is one the significant languages when it comes to gaming, Pygame for instance has a big impact when it comes to this. And yes Python was awarded language of the year in 2007 (and a *second* time in 2010 too!) by the very respectable Tiobe rankings. [1] Mathmo Talk

Civilization IV and EVE Online both use quite a lot of Python, so no, it's not just hobby/amatuer/indie games. Having said that, even if Python in gaming was restricted to indie games like Frets on Fire, that shouldn't be a problem; the games are still notable. 143.92.1.32 (talk) 05:02, 5 September 2012 (UTC)[reply]

Speed comparison is misleading[edit]

Programming languages do not have inherent "speed", this is a function of the hardware they're running on, the compiler, interpreter, libraries, algorithms you're using, and so many other things. The table on the right hand side really shouldn't mention "speed". See The Dangers of Benchmarks. Speed is not a property of languages. --128.230.169.203 (talk) 17:49, 25 April 2008 (UTC)[reply]

Well, thanks for explaining here why you removed them. Otherwise, I might've just reverted your edit. I understand all the complexities involved in determining execution speeds, but this article wasn't intended to be a scientific look at programming languages and their efficiency. I still think my original comments on their speed is accurate—at least in a general sense—but I won't push the issue. I'll leave your edit as is. — Frecklefσσt | Talk 18:03, 25 April 2008 (UTC)[reply]
I didn't make the edit.. :P --128.230.169.203 (talk) 19:56, 25 April 2008 (UTC)[reply]

Image copyright problem with Image:Civ3.jpg[edit]

The image Image:Civ3.jpg is used in this article under a claim of fair use, but it does not have an adequate explanation for why it meets the requirements for such images when used here. In particular, for each page the image is used on, it must have an explanation linking to that page which explains why it needs to be used on that page. Please check

  • That there is a non-free use rationale on the image's description page for the use in this article.
  • That this article is linked to from the image description page.

This is an automated notice by FairuseBot. For assistance on the image use policy, see Wikipedia:Media copyright questions. --00:01, 20 May 2008 (UTC)[reply]

Is C++ the most popular programming languge, really?[edit]

This is an example of one of those things that everyone seems to know but nobody seems to be able to verify. I'm wondering, is C++ really the most popular language for programming games? Are we counting all platforms, including consoles with their own proprietary languages? Is C++ the most popular game-programming language ever, or only in recent history? If so, since when? Exactly how dominant is C++ as a language? Majority? Overwhelming majority? Plurality? Are we including the innumerable thousands of online Flash games in this count, and if not, then why? Most importantly, can anybody cite a source that actually proves that C++ is in widespread use? I think that these are all important and interesting questions that this article ought to address.

KHAAAAAAAAAAN (talk) 13:44, 20 August 2008 (UTC)[reply]

I'm a professional game programmer (not for online Flash games, the kind you buy in stores) and I've used C++ exclusively since about 1996. Some shops still use some C, but most have moved to C++ completely. Most of the game consoles are also programmed in C++, though some require a little assembly (the console itself doesn't have to "support" C++, it just has to have a C++ compiler available for it, such as gcc).
But trying to quantify what is the most "popular" game programming language is difficult at best and may be impossible for the reasons you cite above. I don't know if statistics are collected on such things; I just know it from first-hand observation. We really need a verifiable reference for such a statement, but I wouldn't know where to look for it, perhaps Gamasutra? I can't look right now, but it may be a good source. — Frecklefσσt | Talk 15:55, 20 August 2008 (UTC)[reply]

I am very very curious too as to if this is really true (I suspect not... so perhaps remove it for now to be safe?). Also how do you define "most popular"? Number of developers? (all or just professionals?) Lines of code? Number of installations/users? Total retail sales figures due to that language? (what if there are multiple languages used in one game... how do you count them?) Additionally, over what period... all time most popular (in total? or peak?), the last year, or five years? Mathmo Talk

At professional level, I suspect this is correct. However, yes, the indie scene has taken to all sorts of languages, including Flash, Java, Python, and even non-languages like M.U.G.E.N., RPG Maker, and the like; I suspect C++ has trouble holding its own there. 143.92.1.33 (talk) —Preceding undated comment added 05:05, 5 September 2012 (UTC)[reply]

Check out TIOBE.com for language popularity. http://en.wikipedia.org/wiki/TIOBE_index— Preceding unsigned comment added by 98.221.85.32 (talk) 03:08, 4 November 2012 (UTC)[reply]

Game development[edit]

Some of info given on this page (e.g. design, testing) is not directly linked to programming itself, rather game development in general. Would it be preferred to move some of the well-written non-directly-related parts into game dev. and in game prog. have a brief development overview section with a {{main}} to that instead?  H3llkn0wz  ▎talk  13:42, 22 March 2010 (UTC)[reply]

Actually, I'll just be bold and do that...  H3llkn0wz  ▎talk  13:47, 22 March 2010 (UTC)[reply]

Move discussion in progress[edit]

There is a move discussion in progress on Talk:Game development which affects this page. Please participate on that page and not in this talk page section. Thank you. —RM bot 19:30, 25 April 2010 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified one external link on Game programming. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 15:02, 10 October 2017 (UTC)[reply]

External links modified[edit]

Hello fellow Wikipedians,

I have just modified 2 external links on Game programming. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 06:12, 9 January 2018 (UTC)[reply]