• 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

    • Oddly, there was a time that UFC games were culturally relevant, largely because of the graphics and gameplay that was different than the norm. But it seems like as the sport grew in popularity, gaming outlets stopped talking about the games.
    • Microsoft Edge 149.0.4022.69 by Razvan Serea Microsoft Edge is a super fast and secure web browser from Microsoft. It works on almost any device, including PCs, iPhones and Androids. It keeps you safe online, protects your privacy, and lets you browse the web quickly. You can even use it on all your devices and keep your browsing history and favorites synced up. Built on the same technology as Chrome, Microsoft Edge has additional built-in features like Startup boost and Sleeping tabs, which boost your browsing experience with world class performance and speed that are optimized to work best with Windows. Microsoft Edge security and privacy features such as Microsoft Defender SmartScreen, Password Monitor, InPrivate search, and Kids Mode help keep you and your loved ones protected and secure online. Microsoft Edge has features to keep both you and your family protected. Enable content filters and access activity reports with your Microsoft Family Safety account and experience a kid-friendly web with Kids Mode. The new Microsoft Edge is now compatible with your favorite extensions, so it’s easy to personalize your browsing experience. Microsoft Edge 149.0.4022.69 changelog: Fixed an issue that caused the Downloads dialog to continue displaying the "Keep/Delete" prompt for .rdp files after the download completed. Stable channel security updates are listed here. Download: Microsoft Edge (64-bit) | 193.0 MB (Freeware) Download: Microsoft Edge (32-bit) | 170.0 MB Download: Microsoft Edge (ARM64) | 188.0 MB View: Microsoft Edge Website | Release History Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Save 44% on Intuit QuickBooks Desktop Pro Plus 2024 (1 User for 1-Year) by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where for only a limited time, you can save 44% on Intuit QuickBooks Desktop Pro Plus 2024 (1 User + 1 Year) for Windows. Take control of your business finances with Intuit® QuickBooks® Desktop Pro Plus 2024 Lifetime Activation for Windows. This powerful accounting software simplifies bookkeeping, expense tracking, invoicing, and financial management—all in one intuitive platform. Designed for small business owners, freelancers, and accountants, QuickBooks® Desktop Pro Plus 2024 ensures accuracy, efficiency, and seamless transaction tracking. Stay organized, save time, and manage your finances with confidence—no subscriptions, just lifetime access! Financial and business management Comprehensive Financial Management: Gain access to a full suite of features designed to handle everything from creating invoices & managing expenses to generating reports and tracking sales. Enhanced Reporting Tools: Generate professional reports & insights to make informed financial decisions and help you stay ahead of your business goals. Job Costing: Track the profitability of specific jobs or projects. Fixed Asset Management: Track the depreciation & value of fixed assets. Customer & Vendor Management: Organize information, streamline communication & enhance customer relations. Sales Order Processing: Create & manage sales orders from start to finish. Purchase Order Processing: Create & manage purchase orders to streamline vendor payments. Improved Inventory Management: Enhanced features for tracking inventory levels & costs. Automation, integration, and support Enhanced Bank Feeds: Web Connect (manual QBO imports), works on all licenses for easier bank reconciliation Time Tracking: Track employee time to accurately calculate payroll and project costs Easy Data Import: Quickly transfer financial data from Excel or older QuickBooks® versions Why choose Intuit® QuickBooks® Desktop Pro Plus 2024? Effortless Installation: Quick and easy setup with step-by-step guidance. No Hidden Costs: One-time payment—no subscriptions or recurring fees. Direct Official Download: Access the software securely from the official QuickBooks® website. Stay Up to Date: Get the latest updates and features for optimal performance. Multilingual Support: Available in multiple languages to suit your needs. Lifetime Access: A one-time purchase means no ongoing costs. IMPORTANT: Cloud integrations (QuickBooks Payments, TurboTax, and Online logins) are NOT included. Good to know: Length of access: lifetime Redemption deadline: redeem your code within 30 days of purchase Access options: Windows Max number of device(s): 2 (for 1 user only and can't be used simultaneously) Version: 2024 (United States) 64-bit Available to both NEW and EXISTING users For US customers only Updates included An Intuit QuickBooks Desktop Pro Plus 2024 (1 User + 1-Year) for Windows: Lifetime License normally costs $536, but it can be yours for just $299.99 for a limited time, a saving of $236. There are also other plans available. For specifications, and license info please click the link below. Get Intuit QuickBooks Desktop Pro Plus 2024 for just $299.99 This is a time limited deal For US customers only. Support queries If you have queries or need support for any of the Neowin Deals, please use the contact form here. Neowin Deals are managed and sold by StackCommerce who represent Neowin on an affiliate basis. Why we post these deals We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. So for those that keep moaning and complaining, be thankful we're still online for you to even do that. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
    • AFAIK you shouldn't be getting a consent popup at all from Canada, so I think it is to do with a VPN or private/secure DNS.
    • From what I see it's only for Insider - preview builds. Not for everybody. So...
  • Recent Achievements

    • Week One Done
      agatameier earned a badge
      Week One Done
    • One Month Later
      agatameier earned a badge
      One Month Later
    • Week One Done
      ssd21345 earned a badge
      Week One Done
    • Contributor
      MarkHughes4096 went up a rank
      Contributor
    • Dedicated
      jordanspringer earned a badge
      Dedicated
  • Popular Contributors

    1. 1
      +primortal
      507
    2. 2
      +Edouard
      175
    3. 3
      PsYcHoKiLLa
      139
    4. 4
      ATLien_0
      90
    5. 5
      Steven P.
      76
  • Tell a friend

    Love Neowin? Tell a friend!