• 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

    • Wow, imagine you dump hundreds of hours into completing things and unlocking stuff and you lose it all. Back in the day when cheats were built into games, you could at least unlock things again that way without spending hundreds of hours again. But those days are long gone for some reason as no one builds cheats into games anymore. So it's even more painful that studio that's on its 6th installment **** it up so badly.
    • Spotify finally removes the disco ball app icon in the latest update by Ivan Jenic Image: Spotify Spotify has just released an update that removes its now infamous disco ball icon. The update reverts the app icon to the familiar flat green logo after weeks of mixed reactions online. The icon arrived on May 13 as part of the company's 20th anniversary celebration and was always intended to be temporary, though Spotify only confirmed that after the backlash started. The disco ball took the internet by storm, as the reception was split. A vocal group of users called it ugly and disorienting, with some iOS users noting that the 3D glowing effect made the app look like it was stuck mid-update. On the other end, the icon picked up a following of its own. Its retro, three-dimensional look immediately stood out against the flat, minimalist aesthetic that has dominated app design for years. It even started a small movement, spawning what people started calling "discomorphism," a mashup of disco and skeuomorphism. Other brands started posting disco ball versions of their own logos, probably in an effort to ride the wave of memes that flooded the internet during late May. Spotify has had a turbulent relationship with its user base lately. Besides the disco ball icon, which certainly wasn't appreciated by everyone, the company has also received backlash for its willingness to include AI-generated music on its platform. On May 17, Spotify promised the old icon would return “in a few weeks.” And now it looks like that time has finally arrived. So, whether you liked the disco ball or it made you uncomfortable, it’s now gone for good. The next time you update the Spotify app on your phone, the old, flat-design icon will return.
    • Playground Games confirms Forza Horizon 6 save wipe bug by Taras Buria Forza Horizon 6 was launched last month to critical acclaim (check out our review here), and it became a smash hit in an instant. Now, weeks into the launch, with die-hard fans clocking hundreds of hours, Forza Horizon 6 is facing a serious issue: save wipes. After multiple complaints on Reddit and social media, the studio issued a statement. The problem with missing saves came shortly after Playground Games promised the initial batch of gameplay tweaks and improvements. Unfortunately, there seems to be no temporary fixes for those affected by unexpected save wipes. However, the studio published a new support document with a few important steps users should try. First, affected gamers should open a support ticket immediately (go here to file one) so that the support team can try recovering the lost progress by reverting to an earlier save. Playground Games says this should be done the same day the issue occurs. Meanwhile, gamers are urged not to start new play sessions or create new saves. The studio also published a few things gamers should try to avoid to prevent potential progress loss: Ensure your Gaming Services app on PC or XBOX Series X|S console is fully up to date. On XBOX Series X|S consoles, disable Quick Resume for Forza Horizon 6: To disable Forza Horizon 6 from using Quick Resume, highlight the game box art anywhere in the console experience (Home, My Games & Apps, Pins, etc) and then press the Menu button, then go to Manage game and add-ons > Quick Resume settings > Disable Quick Resume. Ensure you are online when ‘quitting’ the game. Give your saved time to sync to the cloud before powering off or switching devices. Do not force quit the game during save screens. Do not power off the device during gameplay. Always "Quit" (console) or "Exit to desktop" (PC) once you've finished your play session, ensuring the save icon is not visible when you’re closing the game. Before turning off your console, shutting down your PC, or force-closing the Steam app, give your devices or clients at least a few minutes to ensure your latest progress has been synchronized with the cloud. This will reduce the risk of progress reversions as you switch between different platforms. XBOX Series X|S consoles, Steam, and the XBOX app on PC all include game save indicators that confirm your progress has been synced. You can read more about the bug in the official support document here. Forza Horizon 6 is currently available on PC (Steam and the Microsoft Store), Xbox Series X|S, and Game Pass. The game is also coming to PlayStation 5 later this year.
  • Recent Achievements

    • One Year In
      slackerzz earned a badge
      One Year In
    • One Year In
      highriskpaym earned a badge
      One Year In
    • One Month Later
      highriskpaym earned a badge
      One Month Later
    • Week One Done
      highriskpaym earned a badge
      Week One Done
    • Week One Done
      FBSPL earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      519
    2. 2
      PsYcHoKiLLa
      198
    3. 3
      +Edouard
      158
    4. 4
      Steven P.
      84
    5. 5
      ATLien_0
      75
  • Tell a friend

    Love Neowin? Tell a friend!