Jump to content

Talk:Video game programming

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 128.230.169.203 (talk) at 17:45, 25 April 2008 (Speed comparison is misleading: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconVideo games B‑class Mid‑importance
WikiProject iconThis article is within the scope of WikiProject Video games, a collaborative effort to improve the coverage of video games on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
BThis article has been rated as B-class on the project's quality scale.
MidThis article has been rated as Mid-importance on the project's importance scale.
Summary of Video games WikiProject open tasks:

Game programming content

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?

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

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

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??

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

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]

Merge with Error level

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?

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]

Unix/C?

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")

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]

Speed comparison is misleading

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".

128.230.169.203 (talk) 17:45, 25 April 2008 (UTC)[reply]