• 0

How to be a game programmer and developer?


Question

Hello :) .I am new in this forum and i am really interested in programming.I really want to learn to program with Cuda, C++ you know. I want to make my own game engines and 3D games with stunning grafiks. I saw really interesting things in the Nvidia developer zone like Nvidia PhysX SDK, OpenGL, OpenCL, DirectX and many other stuff. I want to learn how to program with them and for what and how can i use it? What i must learn first? From what i must start? What book's i must read of i am new to software and game programming? I am really confused. Thank's :D .

Recommended Posts

  • 0

Oh man I'm so happy I didn't unsubscribe to this thread, seriously thank you for being so clueless. I've just woken up and what a way to start the day!!!!

Kid, emilxp - I do admire your enthusiasm and persistence but I think that is only because you are so young and don't really know how everything 'works'.

You can't just learn things by reading books, and in the industry you will never be deemed anything until you have qualifications.

So if I was going to help you, I would say keep up with the minor programming and get really ace with it learn some complex stuff like object oriented concepts (encapsulation, inheritance, polymorphism, etc) and data-mining. Learn how to read the documentation and Google.

Once you have these skills down you can look at doing a few courses, you could do Computing at College, and some certifications. Then go and get a degree.

Unfortunately no one is going to tell you what you want to know without saying 'go do a course'.

Don't just expect to be programming games yet. That will take a few years.

  • 0

Oh man I'm so happy I didn't unsubscribe to this thread, seriously thank you for being so clueless. I've just woken up and what a way to start the day!!!!

Kid, emilxp - I do admire your enthusiasm and persistence but I think that is only because you are so young and don't really know how everything 'works'.

You can't just learn things by reading books, and in the industry you will never be deemed anything until you have qualifications.

So if I was going to help you, I would say keep up with the minor programming and get really ace with it learn some complex stuff like object oriented concepts (encapsulation, inheritance, polymorphism, etc) and data-mining. Learn how to read the documentation and Google.

Once you have these skills down you can look at doing a few courses, you could do Computing at College, and some certifications. Then go and get a degree.

Unfortunately no one is going to tell you what you want to know without saying 'go do a course'.

Don't just expect to be programming games yet. That will take a few years.

Thanks for the answer :) . One of the best in that topic. Really :) .

  • 0

No offence but if you were serious about wanting to become a game developer you would perform your own research of the things involved.

You can't just ask somebody how to make games. It's a very longwinded process and would take pages and pages of text to explain what is required every step of the way.

Obviously a good starting point would be to learn how to program in a low level language like C++.

It also depends what system you want to write games for, as if you're planning on developing for a Console or something you may be restricted on which languages you can use. For example, if you wanted to develop for Android OS you would use Java.

Good luck but if you're serious then you need to do your homework before even attempting to write a game.

  • 0
Ok, but really there must be a way to make a cool game like Heavy Metal Fakk 2 (i don't mean the entire game, just one simple level with the characters)
The difference between "the entire game" and "one simple level with the characters" is the number of levels. All the code is the same for all the levels. If what you want to do is design a level, fire up the editor for that game (if it has one), and learn how to use it. The games industry needs level designers all the time. I don't know if that's what you want to do: you decide.

Making "one simple level" of Heavy Metal Fakk 2, from scratch, I mean with no assets, editors, just id Tech 3 (that's the engine used for that game) and your C++ compiler, is not a realistic goal to set for yourself. You've looked at idTech3's source code and didn't understand much, right? Well until you can (and you have to be pretty darn good to understand that code), if programming games from scratch is what you want to do, you need to set your ambitions lower. There's no "simple" way to make "one simple level" of a cool 3D game. The problem is not making the level, it's making the engine.

'Real' games aren't made in Visual freakin' Basic.

There's no reason a "real" game couldn't be made in Visual Basic. It could even run on Xbox360.
  • 0

Uh.. VB has full Direct X Support. It was also the foundation for "Player worlds" a free mmorpg engine written entirely in vb6.

I'm pretty sure he's talking about games like Assassins Creed and the other games the OP mentioned. For a game for one of the current gen consoles I very much doubt VB would be fast/efficient enough unless you enjoy games with a very choppy frame rate :D

  • 0

Sorry for opening this topic, but i want just to thank everyone who were part of this topic and to say that everyone were right. Yes i must start form console applications.Yes i must make first tic-tac-toe, 2D snake............ Yes it is impossible to make an engine from the ground alone. It took many time to understand that. So i want to say thank you to everyone and hope this topic is useful to people, who have the same questions like mine.

  • 0

that said... good luck emil, game development is a LOT of fun... when approached with the right mindset. Wanting to make assassins creed by yourself/ going to end in disappointment...but making "i want to be the guy"? Totally doable.

  • 0

I suggest to first learn a decent OOP language (like C#/C++) and then buy a decent book (even if it's expensive, it'll be worth it). The internet is crawling with various tutorials, and I've found it really hard to put all pieces together to get a good look at game programming.

I've learned to work with XNA and C#, wihich is a great game engine because unlike IDE's like Unity/Unreal, you need to handle everything yourself in XNA, no graphical interface. I like this approach as you really are master of everything that's going on, and you'll learn to create things from the ground upL (e.g: program your own particle engine or add a particle engine GameObject in Unity).

I guess it truly depends on what you want to do, you want to easily and fast write stunning 3D games, go and get Unity. If you want to really understand some game concepts and logic, get the XNA framework. XNA also has the advantage that it has a lot of documentation/tutorials online, and games can be ported easily to Windows Phone 7.

If you're starting XNA and use web resources, I'd suggest to start like this:

  1. Learn about what XNA is, and the Initialize, LoadContent, Update and Draw methods and their arguments
  2. Create a basic Pong game in the Game1 class
  3. Recreate the Pong game in OOP fashion, using different classes for player and ball, and use a texture map
  4. Create a ParticleEngine and learn how to work with things like Scale and Transparency
  5. Create a space invaders clone, learn how to control your enemies by using a List of Enemy objects, and learn how to instantiate new objects (the bullets) on a buttonpress
  6. Write some highly reusable classes for handling sprites, with easy methods to enable things like animations, loading, texture maps, etc)
  7. Learn about proper collision detection algorithms, and make a scrollable/parallax background
  8. Try to apply some math (e.g: use trig to move an object forward)
  9. Create a complicated 2D game that makes use of all of the above.
  10. Learn about 3D in XNA.

That's all I can think of, I'll give some useful sites which really helped me too:

- XNADevelopment

- RBWhitaker

- XNAResources

Hope this helps, good luck, and don't underestimate it, some things just aren't as easy as they look. You won't be making a 3D shooter or MMO after a month (not even after a year) Also, really knowing C# helps, all of the concepts of C# can be used in XNA, so you can write some advanced stuff that can seriously streamline the amount of work. And if you're really interested, you should check if any universities feature a Game Development course :)

  • Like 3
  • 0

My major is game design and simulation programming, There are a lot of colleges now offering these degrees. Full Sail even has a Masters program for game design. But yes it is about math ( calculus to be exact, have that class this session) as well as programming (C++ java etc). Just look around and do your research and if you are truly committed then obtain that degree in game design.

  • 0

The easiest way is probably to get a degree in Mathematics (higher the better -> PHD, MS, BS) and a minor in Computer Science. The stuff you mention such as making 3D graphics engines and such is more about math than anything else. It's not something someone can easily do though, don't think you'll be doing these things after a few months reading some books.

  • 0

Sorry for opening this topic againg, but i have more questions and i think this topic i perfect for them. Ok i know C++ really good. I have created a fantastic 2 player Tic-Tac-Toe that works perfectly without errors or bugs. I have created it without any help. I just know that there must be a main loop and just this. I know these stuff from C++:Variables, Data Types, Constants, Operators, Basic Input/Output, Control Structures, Functions, Arrays, a little of Pointers, datastructures and the string class. I have many more things to learn like STL, OOP and some other stuff.When i learn them then i think to learn win32 api and DirectX library, but i don't understand something. The windows api is a collection of libraries for creating windows programs with a graphichs user interface. They are created with C++, but i don't understand how these thinks are created with just C++. What i mean is how it is possible this to be created with just Variables, Data Types, Constants, Operators, Control Structures, Functions, Arrays........................ and the other C++ stuff. The same for DirectX or OpenGL. How they are created with just these things.

  • 0

Sorry for opening this topic againg, but i have more questions and i think this topic i perfect for them. Ok i know C++ really good. I have created a fantastic 2 player Tic-Tac-Toe that works perfectly without errors or bugs. I have created it without any help. I just know that there must be a main loop and just this. I know these stuff from C++:Variables, Data Types, Constants, Operators, Basic Input/Output, Control Structures, Functions, Arrays, a little of Pointers, datastructures and the string class. I have many more things to learn like STL, OOP and some other stuff.When i learn them then i think to learn win32 api and DirectX library, but i don't understand something. The windows api is a collection of libraries for creating windows programs with a graphichs user interface. They are created with C++, but i don't understand how these thinks are created with just C++. What i mean is how it is possible this to be created with just Variables, Data Types, Constants, Operators, Control Structures, Functions, Arrays........................ and the other C++ stuff. The same for DirectX or OpenGL. How they are created with just these things.

They are just interfaces between the operating system and it's kernels control over computers hardware. Would you rather write 10 lines of code to draw a ball, or 100 lines of initialization then another 100 lines to draw it? Also, some of the lower end things could be C, ASM, etc.

  • 0

Thank you for the answer. Yes you are right. Low Level stuff are written in C, ASM and maybe some other languages. But there is something that i don't understand and i don't know what is it xD. When i am looking in example the Quake 3 engine source code i don't understand anything(i don't mean the statements, variables.......... so normal stuff i understand). I don't understand how it really work. I am not looking in the win32 code or directx or opengl code, but i don't know how this thing(engine) works. So something is missing in the puzzle. In the books for game engines(i knwo it's too early to think about them, but i am really interested how they work) they just give you some code and explain, code and explain, code and explain. What i mean is......... oh i don't know what i mean. I am just confused. I know so many things and can't make cool things, exept the Tic-Tac-Toe. Ok it is possible to make other cool things, but i few really limited. So i think i need help from you guys. I don't know what help. That's the question xD. Sorry for my confusing.

  • 0

Don't try to understand the Quake 3 source code. Production game source code is generally not meant to be understandable, just to work. Practice making your own games and if one day you gain the skill of feeling comfortable deciphering large amounts of C++ code, then maybe you can take a more useful look at the Q3 source code.

  • 0

Thank you for the answer. Yes it isn't a bad idea to learn C#, but this will be far in the future i think, because i don't really like the .NET Framework, but C# isn't so bad, but when i work with the .NET i few limited. And it is slower than C++. So for that i like C++ :) . And i want to say sorry for insulting XNA before time. I thinked that you are talking for DarkGDK. I don't really like DarkGDK for that :), but it isn't a si bad tool. And i want to say that XNA is a fantastic framework. A good start for making a game engine for Xbox 360 ot PC :) .

Ok now where to go? What to learn or what to code. For learning i think to finish C++ and STL and start win32 and DirectX. For coding i have no idea. Some suggestions?

  • 0

Don't try to understand the Quake 3 source code. Production game source code is generally not meant to be understandable, just to work.

True that! I've been programming for years and I doubt I'd understand the Quake 3 source code if I looked at it now! :laugh:

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Disabling open on hover, great! That was so stupid! They need to do a fix, where if a network share is disconnected, it doesn't hang when opening "This PC" for 20 seconds.
    • Microsoft releases major feature updates for stock Windows 11 apps by Taras Buria In addition to releasing new Windows 11 preview builds, Microsoft announced that inbox Windows apps now have dedicated release notes in the official documentation. At long last, users have access to all the release notes for each app, with changes listed in chronological order. Microsoft used to announce feature updates for stock apps with each build. Now, with Windows Insider release notes hosted on the Microsoft Learn website, each app has a dedicated space for its changelog, which is very useful for those who want to track new features and improvements. Alongside that, Microsoft dropped massive feature updates for six stock apps: Clock, Media Player, Calculator, Voice Recorder, Photos, and Paint. Each app packs quite a lot of changes and new capabilities, so here are the release notes. Here are quick notes so that you can jump to the app you are interested in the most: Calculator Camera Clock Media Player Paint Photos Sound Recorder Here is what is new for the Calculator in version 11.2605.9.0: More accurate square-root results — Fixed rare cases where a calculation that should equal zero (like sqrt(2.25) - 1.5) returned a tiny leftover value instead. Readable text in High Contrast themes — Settings text now shows the correct colors in the High Contrast Aquatic and Desert themes. Fixed layout for right-to-left languages — For languages like Arabic and Hebrew, the graph, number pad, equation fields, and scroll buttons now appear correctly oriented. Reliable launch after upgrading — Fixed an issue where upgrading from much older versions could leave outdated settings that stopped the app from opening. Here is what is new for the Camera app (version 2026.2605.7.0): Zoom slider works on more cameras — The zoom slider now works on the latest cameras, respects your system zoom settings, and updates instantly when you change those settings. Full range of zoom levels — Fixed an issue where the zoom slider only showed three steps on some devices that zoom in finer increments. Front camera works on more devices — Resolved a problem that blocked the front-facing camera on certain wide-angle devices. More video resolution choices — You can now pick video resolutions that were previously hidden; the app shows a heads-up warning instead of removing them. QR links you can still use — When a scanned QR code points to something with no matching app, the link is now copied to your clipboard (with a notification) while still offering a Store search. Smarter default settings — When you haven't set a preference, the app now follows your system settings by default. The Clock app has a massive changelog with the following improvements in version 11.2605.9.0: Timers keep counting after they hit zero — When a timer runs out, it now keeps counting up (for example, -00:27:31) so you can see how far past the time you've gone. You can turn off the daily goal — Focus Sessions now include an "Off" option so you can skip setting a daily goal entirely. New 15-minute snooze option — Alarms now offer a 15-minute snooze interval. Run up to 3 countdowns at once — The Countdown Widget now supports three simultaneous countdowns, up from two. Timer Widget notifications now appear — Fixed an issue where the "timer finished" notification didn't show when the timer was started from the widget. Less clutter in Focus Sessions — Tasks you've already completed no longer show up in the Focus Session task list. More accurate focus progress — Fixed a rounding issue that could show your daily focus progress as a minute short (for example, 49 minutes instead of 50). Smoother World Clock comparisons — The World Clock compare page now loads dates as you scroll, so it feels more responsive. Up-to-date World Clock locations — Refreshed country and city names to match their current names. Correct sun and moon icons during midnight sun — Fixed an icon that wrongly showed a moon during all-day daylight in polar regions. Fixed back-button behavior in clock comparisons — Pressing back once now takes you back as expected, instead of jumping the date to 1926. Corrected the Newfoundland time zone — Newfoundland now uses the right time zone (St. John's). Disabled alarms stay looking disabled — Editing a turned-off alarm no longer makes it appear turned on. Cleaner timer cards — The expand button is now turned off on timer cards that have no time set, preventing actions that wouldn't do anything. Clearer theme setting — Updated the wording to "Choose your preferred app theme." Smoother Settings links — The "About" links in Settings no longer trigger an unexpected "switch apps" prompt. Fixed spacing in Spotify settings — Corrected uneven spacing in the Spotify settings card. Better focus visibility in High Contrast — The focus highlight in World Clock is now clearly visible in the High Contrast Aquatic and Desert themes. No more double announcements — Screen readers no longer read the timer value twice. Countdown names read correctly — Screen readers now properly announce the name of each countdown. Keyboard focus stays put — Focus no longer disappears after you press the Timer Reset button. Clearer alarm toggle for screen readers — Tidied up how the alarm on/off switch is announced. The Media Player app received plenty of changes as well (version 11.2605.14.0): Custom captions — You can now personalize how closed captions appear, with caption styling tied to your Windows caption settings, plus a quick link to open those settings directly. "Indexing" banner in the play queue — When your media library is still being scanned, a banner now explains why some items may not appear yet. Fixed the look of selected items — Corrected a layout glitch with selected items in lists. Fewer playback failures — Improved how the app recognizes supported file types, so more files play without issues. Playlists need a name — You can no longer accidentally save a playlist with a blank name. Cleaner look for empty playlists — Improved how a playlist appears when it has no items yet. More stable play queue edits — Fixed a crash that could happen when changing the play queue while the app was switching between sessions. Clearer "missing codec" message — Improved the dialog that appears when a file needs a codec you don't have, with clearer guidance on what to do. A big update is also available for Paint in version 11.2605.61.0: Adjustable eraser transparency — You can now control how transparent the eraser is. Cleaner stamp brush strokes — Fixed visible color shifts and artifacts when using stamp-style brushes. JPEG photos save in place — Opening a rotated JPEG and pressing Save now overwrites the original instead of unexpectedly prompting "Save As." No more crash on bad image files — Opening a damaged or invalid image, from within the app, by double click, or commandline, now shows a clear error message instead of closing the app. Classic selection behavior restored — The selection outline now hides while you move, resize, or rotate a selection, just like in classic Paint. Tidier AI image panel — Fixed missing spacing at the bottom of the AI image generation panel for a cleaner layout. Visible button hover in light theme — Toolbar split buttons now show a clear hover highlight in the light theme. Snappier toolbar — Streamlined how the ribbon lays out, giving a small speed boost at startup. Fewer background crashes — Fixed a crash that could happen while background tasks were finishing up. Stable app shutdown — Prevented rare crashes when closing the app. Fixed layer removal glitch — Deleting the active layer no longer leaves the layers list in an inconsistent state. Here is what is new in the Photos app (version 2026.11060.2004.0): AI watermarking — AI-generated or edited images can now carry a visible Copilot watermark. You choose Never, Always, or Ask Every Time in Settings, with a confirmation when saving. The watermarking is off by default in settings. Better viewing of small images and pixel art — Tiny images (like 16×16 pixel art) now zoom in far more to fill the screen and stay crisp instead of looking blurry. Select scanned text with the keyboard — When text is detected in an image, you can now navigate and select it using the arrow keys, Shift+Arrow, Home/End, and Ctrl+A, with a clear focus highlight. Fixed a crash in text recognition — Resolved a crash that could close Photos while detecting text in images; the app now recovers gracefully. Easier keyboard navigation — Tabbing through the navigation bar no longer stops on hidden controls, so it takes a single Tab to move past it instead of three. And finally, here is the Sound Recorder (version 11.2605.1.0): Waveform shows with Bluetooth mics — The live waveform now displays correctly when you record using a Bluetooth audio device. No more stray scrollbar — A non-working horizontal scrollbar no longer appears at the bottom of the waveform unless you've zoomed in. Mark button ready right away — The Mark button no longer looks grayed out until you hover over it after opening the app. Markers hidden for WAV files — Markers are now turned off for WAV recordings, since that format can't store them — so they're no longer lost silently. Smoother deleting — Quickly pressing Delete and Enter to remove several recordings in a row no longer triggers a "file doesn't exist" error. Fixed a memory issue — Resolved a memory leak that occurred each time a recording started. You can find all these changelogs in the official documentation here.
    • again, an article about Microsoft Edge and ridicules hater's comments
    • From this very same article: "For organizations that prefer a “more deliberate pace”, the Extended Stable channel remains an option."
    • Or every other browser, because they all behave the same, at least the mainstream ones. Firefox does exactly the same: background updates, restart to install them. Haters gotta hate, I guess.
  • Recent Achievements

    • Very Popular
      AndrewSteel earned a badge
      Very Popular
    • Veteran
      Taliseian went up a rank
      Veteran
    • One Month Later
      Clizby earned a badge
      One Month Later
    • One Month Later
      Timaximus earned a badge
      One Month Later
    • Week One Done
      Timaximus earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      170
    3. 3
      +Edouard
      162
    4. 4
      Steven P.
      85
    5. 5
      ATLien_0
      78
  • Tell a friend

    Love Neowin? Tell a friend!