• 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

    • DiskGenius 6.2.0.1829 - All Versions: Free, Lite & Portable by Razvan Serea DiskGenius is a full-featured partition manager, which is designed to optimize disk usage for Windows users. It will efficiently help you recover lost data, resize/split partition, backup files, edit hex data, check bad sectors, manage virtual disks, erase data, etc.. Create a system image backup for current Windows with simple clicks to keep the operating system under protection. DiskGenius key features: Partition Management - It can create format, resize, extend, backup, split, hide and clone partition, both MBR and GPT are supported. Disk and partition conversion - Convert dynamic disk to basic, convert virtual disk format and convert MBR to GPT, convert primary partition to logical. File recovery - It can recover files deleted or emptied form recycle bin, recover files from damaged partition or disk and recover files by file type and supports file preview and file filter. Partition recovery - It is the best partition recovery program in that it can recover files from damaged, corrupted and RAW partitions, search for lost partition and recover files from it, besides, it can fix partition table. RAID recovery - It can reconstruct Virtual RAID and recover files from it, and all RAID types are supported. Sector Editor - A Hex editor is embedded to help users edit raw hex data and recover data manually. Backup and Restore - It can backup and restore partition including system partition, hard disk and partition table. Bad Tracks - It can check and repair bad sectors for all storage devices; check hard disk S.M.A.R.T. information. Delete files permanently - It can delete files permanently so that they can't be recovered by any data recovery software. Virtual Disk - It supports virtual disks, including VMware, Virtual PC and Virtual Box. Create WinPE bootable disk and you can manage disk partition when system crashes or there is no operating system on your computer. Support FAT12/FAT16/FAt32/exFAT/NTFS/EXT2/EXT3/EXT4 file system format. DiskGenius 6.2.0.1829 changelog: Add the "Disk Speed Test" feature. Add the "Windows Boot Repair and Conversion" feature. Add the BMB21-2019 erase standard to the "Erase Sectors" feature. Add support for restoring an individual partition from a PMFX disk image file. Enhanced The "Verify Or Repair Bad Sectors/Blocks" feature displays disk read speed in the detection window during scanning. The "Quick Partition" dialog box allows users to quickly select the number of partitions by pressing the numeric keys 1, 2, 7, 8, or 9. The "Set Volume Name" dialog box supports selecting preset volume labels provided by the software. The "Copy Sectors" feature supports resuming copy tasks after modifying the number of skipped bad sectors. Add the "TRIM Optimization" option to the format dialog box. The "Clone Partition" and "Clone Disk" features perform TRIM optimization on target partitions or disks before cloning. Add support for Not Equal To search conditions (prefixed with "!") when searching hexadecimal data in the sector editor. Optimize the display of capacity values in the program interface to show two decimal places. Add a minimize button to dialogs that may require long processing time. Enhance support for the ReFS file system. Enhance support for newer HIF and MP4 formats when recovering files by type. Enhance support for the EXT4 file system. Enhance compatibility of the "File Recovery" feature with special data structures. Fixed Fixed the issue that the selected file system type automatically reverted to NTFS after changing it to exFAT or EXT4 in the "Quick Partition" dialog box. Fixed inaccurate Unicode string search results in the "Sector Editor" feature. Fixed the issue that exceptions might occur when adding multiple disks in the "Erase Sectors" feature. Fixed the issue that insufficient target disk space was incorrectly reported in some cases when cloning, backing up, or restoring disks. Fixed the issue that folder modification timestamps were not preserved when copying files from ReFS partitions. Fixed the issue that Excel-format reports generated by features such as file copying or bad sector checking could not be opened when the report contained more than one million rows. Fixed the issue that folders were not displayed in the exclude-folder dialog box when backing up partitions to image files. Fixed the issue that the "Erase Sectors" feature could not be executed in some cases. Download: DiskGenius 6.2.0.1829 | 63.9 MB (Freeware, paid upgrade available) Download: DiskGenius Portable 64-bit | 40.0 MB Download: DiskGenius Portable 32-bit | 36.0 MB Download: DiskGenius Lite 64-bit | 13.4 MB Download: DiskGenius Lite 32-bit | 11.6 MB View: DiskGenius Home Page | DiskGenius Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Really? Use a better search engine https://www.google.com/search?...ourceid=chrome&ie=UTF-8
    • Seems like Neowin has transitioned into being simps for the white house. I can't find a review for the last UFC games that came out.
  • 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
      513
    2. 2
      +Edouard
      182
    3. 3
      PsYcHoKiLLa
      143
    4. 4
      ATLien_0
      95
    5. 5
      Steven P.
      76
  • Tell a friend

    Love Neowin? Tell a friend!