• 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

    • Got it. Seem like a good improvement. Thanks. But, before we "Add the source to Trusted Sites," how would know if it is trusted or not? Could get messy for not first Knowing" it is clean. See what I mean?
    • AB Download Manager 1.9.0 by Razvan Serea AB Download Manager is an open-source, feature-rich download manager designed to accelerate downloads, organize files efficiently, and provide seamless control over downloads. With support for multiple connections, resume capability, and an intuitive interface, it enhances the downloading experience for users seeking speed and reliability. The software integrates with various browsers, enabling quick link grabbing and batch downloading. It supports HTTP, HTTPS, and FTP protocols, ensuring broad compatibility with different file sources. Users can schedule downloads, set speed limits, and categorize files automatically for better organization. AB Download Manager is lightweight yet powerful, making it a great alternative to proprietary download managers. Its open-source nature allows developers to contribute, customize, and improve the software as needed. Whether you're downloading large files, managing multiple downloads at once, or seeking an ad-free experience, this tool offers a practical and efficient solution. Key features of AB Download Manager: Multi-Connection Support – Accelerates downloads by splitting files into multiple segments. Resume Capability – Allows paused or interrupted downloads to be resumed without starting over. Batch Downloading – Supports downloading multiple files at once for improved efficiency. Browser Integration – Captures download links directly from browsers for seamless operation. HTTP, HTTPS, and FTP Support – Ensures compatibility with a wide range of file sources. Download Scheduling – Enables users to automate downloads at specific times. Speed Limiting – Lets users control bandwidth usage for optimized performance. File Categorization – Automatically organizes downloaded files into designated folders. User-Friendly Interface – Simple and intuitive design for easy navigation. Cross-Platform Compatibility – Works on multiple operating systems. Ad-Free Experience – No intrusive ads or tracking for a clean user experience. AB Download Manager 1.9.0 changelog: Added Czech language support User-friendly error messages for download errors (#1252) An option to remember the last selected queue and quickly add downloads to it by long-clicking the Add button ( #1246) An option to export/import downloads using JSON format A Download button on the multi-download page for cases where users do not want to start downloads without queue processing (#1247) The app now includes a logger that can be enabled using a command-line flag (#1226) Startup errors are now logged automatically to help diagnose initialization issues Changed The default unqueued "Max Concurrent Downloads" value has been changed from "Unlimited" to 3 (This can be customized in the app settings) Improved Updated translations Added an indicator on the Android main page when resume is not supported (#1248) Extract the file name from the download link as a fallback when no response information is available (#1209) Minor UI/UX improvements Download: AB Download Manager 1.9.0 | Portable | ~80.0 MB (Open Source) Download: ARM64 | Portable ARM64 | Android Links: AB Download Manager Website | Github Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I just started using Teams (and “New” Oiutlook) at work (instead of Slack) and both are truly abysmal pieces of software.
  • Recent Achievements

    • First Post
      DragonOfMercy earned a badge
      First Post
    • First Post
      bella52 earned a badge
      First Post
    • Reacting Well
      Techinmay earned a badge
      Reacting Well
    • Collaborator
      WndSks went up a rank
      Collaborator
    • One Month Later
      Sopa flores earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      495
    2. 2
      PsYcHoKiLLa
      208
    3. 3
      +Edouard
      155
    4. 4
      Steven P.
      84
    5. 5
      FloatingFatMan
      72
  • Tell a friend

    Love Neowin? Tell a friend!