• 0

noob programmer


Question

im completely new to programming and im interested in making video games.

what i want to know is, whats the best language i can choose? C++?

i know people say it depends on what you want to make which yea i can see that but, whats the most flexible and powerful language i can use?

a language thatll make a program, or a 2d game, or even a 3d game if i really wanted to. i dont really care if one is easier than the other, im more interested in whats best.

Link to comment
https://www.neowin.net/forum/topic/880624-noob-programmer/
Share on other sites

13 answers to this question

Recommended Posts

  • 0

C++.

Graphics is not part of C++ though (nor most other languages). In order to do graphics you would have to learn a graphics API for the platform in question.

In other words, first you have to learn C++, then you have to learn the APIs for whatever platform you're using (such as Windows.) In order to do games, you need a good understanding of game design theory and some math knowledge. For 3D, you also need to learn the fundamentals of 3D as well as whatever language you are programming the GPU in (which is not C++). In other words, it's a multi-step process with no real shortcuts.

  • 0

Learn to program first and THEN think about making games. I understand your eagerness though, I remember when I was younger I wanted the same thing but you have to learn the basic stuff first.

Some languages I would suggest you pick up are: C, C++, Objective-C (learn C first), Java, C#

C/C++ are nice because they work on all platforms (Java does too but I wouldn't recommend it if your ultimate goal is making a game)

Objective-C and C# are only good for one platform though but if you don't mind they're good too (easier than C/C++)

  • 0

Don't use any paid-for niche game-oriented languages like Cobra, Blitz Max or Dark Basic. After that I'd just recommend using a mainstream one.

C++ is what is used heavily in the gaming industry for desktop and consoles. Flash dominates the web games arena, but you could use JavaScript instead (here is a brilliant Solitaire game built entirely with JavaScript, so no plugins needed). I've seen some amazing games written in Ruby, and there was a nice article on GameDev where the programmer used Python (and highly recommended it). I write most of mine in Java because I can use OpenGL and embed them, but I am also building a web game in PHP.

C# or Java are popular choices for a beginner, and I'd agree with that. Star Wars Galaxies, Runescape and the Law and Order games were at least partially built using Java, and there are published games for C# too (although I can't name any). TBH I don't see much advantage in one over the other; they both have libraries for hardware accelerated graphics, they both have mature 3d engines, they both have active game development communities and tonnes of other libraries and source code examples you can use. Finally OCaml and D are two other languages I'll throw out there as an alternative. They compile to stand-alone native exe's (like C++, but unlike C# and Java) but also aim to supply features to be easier to use then C++ (like garbage collection). Although I've not used either.

My overall point is to try a range of languages. Pick them based on what features they offer, what libraries you need and are available and about based on what type of game your planning to build (for example do you want your game to be embedded in a web page, or downloaded and run on a desktop?). Don't make your choice based on what's the popular language for game development.

  • 0

thanks for the suggestions guys =D

yea i figured itd take a pretty loooong time to do lol. i remember when i was a lot younger i used to script in mirc and i thought it was a lot of fun.

now i have loads of free time on my hands so i figured id get back into that kinda stuff.

now what more question...

can anybody recommend any C++ books?

  • 0

C++ is mostly used to create professional game engines. The actual game logic, AI, etc., are mostly written in a scripting language running on top of the engine, such as Lua or UnrealScript. Developing game features in C++ is usually referred to as "hard-coding" them since the whole source code will need a recompile should you wish to modify anything later on; add to that C++'s inherent risks and complexity, and you pretty soon see why most games are not entirely written in C++.

There is no "best" language for creating games in general. What are your objectives? What is something you'd like to develop, in what time frame? On one end, you can take an existing game and mod it; some involve a lot a programming, see the Fall From Heaven 2 mod for Civ4, it's written in Python. Or you can take an existing game engine and make a game on top of it. I'm currently using the UDK to make a cool 3D game; this involves programming in UnrealScript. You can also use a game library for a general-purpose programming language, such as XNA for C# (which is the ideal "middle-ground", IMO, if you don't know where to start), PyGame for Python, Allegro for C++, etc. Finally you can go with pure DirectX or OpenGL in C++ and implement everything from scratch. There is no "best" solution overall; the lower-level you get, the more control you have, but the longer it will take to make something playable.

Since you are completely new to programming I don't recommend starting with C++. For any type of game, even text-based ones, you''ll get results WAY more quickly in pretty much any other language (save for C or ASM). At the point you're at, you don't need to think about performance or portability or any such non-functional aspects. Think about learning the basics of programming (which you can learn with any language) and getting something functional and impressive asap.

  • 0

Here are my suggestions:

- Python with PyGame. There's a very nice game-oriented tutorial online at http://inventwithpython.com/chapters/ . This is probably the fastest and most fun route. Python is widely considered the new BASIC of programming languages. Some drawbacks: not really suited for 3D games; the syntax is not C-like. A very good starting point nonetheless if you want to see results quickly.

- C# with XNA. Start by learning C#, and then XNA. This is a very powerful, well documented and integrated environment with which you can build pretty much any type of game (except maybe Crysis). It is more complex than Python but well worth the steeper learning curve.

  • 0
  On 05/03/2010 at 15:20, killswitch92 said:

what did people do before xna? just wondering

DirectX, OpenGL, SDL etc etc

All of them are still very good solutions (XNA is just a layer on top of DirectX)

Also a detail you didn't give us.... how serious are you about programming? Do you want to do it as a hobby? maybe eventually program for a living? etc etc This might change some of the responses you'll get

  • 0
  On 05/03/2010 at 15:20, killswitch92 said:

what did people do before xna? just wondering

There was Managed DirectX, but it wasn't nearly as streamlined. And, well, it's really a pretty recent phenomenon that there are so many high-quality game development librairies and tools available for the masses, back 10 years ago you were pretty much stuck with the raw graphical librairies (DirectX, OpenGL) or thin layers for C/C++ on top of them like SDL.
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • - What's your salary? Is it more than $100k a year? - Nah, it's $100 mil a year.
    • Compared to my ear buds which are the size of a matchbox, cover a much broader frequency range, and work everywhere without setup? Yeah, still not buying this as a replacement.
    • Meta's Superintelligence team staffed by 50% Chinese talent, 40% ex-OpenAI by Hamid Ganji Mark Zuckerberg's latest big bet at Meta involves building a team of the best AI superstars in the market to lead the so-called Superintelligence Labs. The goal of this team is to develop AI models that will ultimately lead to Artificial General Intelligence (AGI). AGI refers to an AI model with capabilities comparable to, or even beyond, those of the human brain. Achieving human-level cognitive abilities with an AI model requires substantial investments, as well as hiring the best talent to build such a system. That's why Meta is throwing hundreds of millions of dollars at AI researchers from OpenAI, Apple, and other companies to recruit them for its Superintelligence team. A user on X has now shared a spreadsheet that provides us with some unique insights into Meta's Superintelligence team and the origins of its 44 employees. The leaker claims this information comes from an anonymous Meta employee. The listing claims that 50 percent of the staff at the Superintelligence team are from China, which demonstrates the significant role of Chinese or Chinese-origin researchers in Met's AI efforts. Additionally, 75 percent of these staff hold PhDs, and 70 percent of them work as researchers. Interestingly, 40 percent of the staff are ex-OpenAI employees whom Mark Zuckerberg poached from the maker of ChatGPT. Additionally, 20 percent of Meta's Superintelligence team members come from Google DeepMind, and another 15 percent come from Scale AI, a startup that Meta recently acquired in a $15 billion deal. Another interesting point is that 75 percent of the Superintelligence team are first-generation immigrants. The leaker claims that each of these employees is now earning between $10 million and $100 million per year, although Meta still needs to confirm these substantial figures. However, it has already been reported that Meta is offering up to $100 million in signup bonuses to poach the best AI talent from OpenAI and other rivals. The revelation that half of Meta's Superintelligence team consists of Chinese nationals could trigger concerns within the Trump administration and Congress.
    • From a quick Google it seems 6GHz is optional on 802.11be. Ubiquiti has one, Unifi U7 Lite.
    • Disagreed, I feel it’s going somewhere and his role served a purpose - and moreover with maybe what 10 mins of screen time - he had a bit of character development also.
  • Recent Achievements

    • First Post
      nobody9 earned a badge
      First Post
    • One Month Later
      Ricky Chan earned a badge
      One Month Later
    • First Post
      leoniDAM earned a badge
      First Post
    • Reacting Well
      Ian_ earned a badge
      Reacting Well
    • One Month Later
      Ian_ earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      505
    2. 2
      ATLien_0
      207
    3. 3
      Michael Scrip
      206
    4. 4
      Xenon
      139
    5. 5
      +FloatingFatMan
      114
  • Tell a friend

    Love Neowin? Tell a friend!