• 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
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?
So I take it you're learning C++? Well just keep making more complex programs with it. Learn the libraries/technologies you need to build the programs you want. If games is your thing, you can stay with something simple like SFML for quite some time. What graphics library did you use to make your Tic-Tac-Toe? It's probably good enough to do way better than a Tic-Tac-Toe, so just keep using it. There are plenty of games you can make for fun: Tetris, Space Invaders, Breakout, etc.
  • 0

My Tic-Tac-Toe is a console application xD.I will upgrade it with the windows api. Then with DirectX :) .Ok by learning how to use these libraries and augorithms eveything is ok, but how DirectX was created. I don't think it's just C++. Am i right? Because it must comunicate with the GPU for graphics instructions. So it must use assembly language? So everything cool like these libraries is created using assembly language?

PS:I am making a Chess with the code of my Tic-Tac-Toe for a base ;) .

  • 0

I recommend you stay away from Win32 and DirectX. They are very difficult to use and require a high level of expertise in C/C++. You don't need to interact directly with these, except maybe if you're one of the few engine coders for the next Crysis (which you aren't). Instead, you should use higher-level libraries such as SFML. Oh and did I mention you should check out SFML? I thought I did. But just in case I forgot: use a simple, high-level multimedia library like SFML and forget about the low-level APIs, while you're just getting started programming.

To answer your question, DirectX is probably coded in C++, C and ASM.

  • 0

I know alot more than the simple stuff. Don't you read that i created a Tic-Tac-Toe.

You said it was 2 players, try to implement a computer AI so you can also have a one player mode (maybe even with different AI difficulties) .... that should be fun

  • 0

Thank you for the answers. I will check this librarie. And i have thinked for adding AI for the Tic-tac-Toe, but it's a little too complicated. When i am a little more comfortable with C++ i will add AI :) . And i will check the SFML librarie.

  • 0

My first serious program was a Tic-Tac-Toe and the computer's AI was one huge function with several if statements. The idea was basically:

if (/* we can play a particularly good move*/)
{
     // play that move
}
else
{
    // play a random move
}

The "easy" AI had the following rules:

if (/*there exists a move that immediatly the game */)
{
    // play there
}
else
{
    // play a random move
}

The "medium" AI was WAY more sophisticated:

if (/*there exists a move that immediatly the game */)
{
    // play there
}
else if (/* there exists a move that the other player could do to immediatly win the game */)
{
    // play there
}
else
{
    // play a random move
}

With just these two simple rules it played quite believably. Well, in a 1st-grader kinda way, but still.

Then the hard AI had the following rules as additional "else if"s:

else if the center is free, play there

else if one of the corners is free, play there

And that made it almost unbeatable. But it was beatable.

Today I'd implement it with a mini-max search of course. :p

  • 0

Yes and my first serious program is Tic-tac-Toe :) , but i have another program that is written in BASIC.NET and uses the Dot Net Bar librarie. It has more than 3000 lines of code, but it isn't complicated at all. Tic-Tac-Toe without help writing it was a real problem solving challenge for me and i can say that it's my first serious program. And thank you for telling me how to make the AI. I've read before time how the logic works and i had the same idea for making the AI, but i don't knowed how to make different difficulties. And i've read for the minimax augorithm. It's really interesting. Ok Then i will implent an AI. I will post when i am ready.

  • 0

I have 15 years+ experience behind me...

OK, more - I was making Tic Tac Toe games when I was about 12 and would never have even previously counted that time but for the sake of this thread it's 15+ years fully commercial and lets call it 21 years since I made such games.

As such, let me share a bit of knowledge:

1) Stop assuming you know what you need to know. You don't. I don't. Nobody does. There are so many unknowns in the world that you will always learn.

2) Don't make claims that something "works perfectly" based upon your own testing. I 100% guarantee you - it doesn't.

3) Books mean ****! Experience means so much more.

4) You can't program anything even remotely like AI with simple IF statements and certainly not in about 5 hours!

  • 0

1st: I don't think i know everything at all. I haven't saied something like this in this topic.

2nd: It works perfectly. I know perfectly what i am doing and how i have coded it and tested it. PS: And it's still in developing.

3th: Books can help you really, but won't help you really much for problem solving. Problem solving is the biggest part in programming.

4th: AI is aritificial inteligence. I think you know this perfectly, because you are a 15+ programmer. If you don't know, this is a type of AI. So it is AI. It isn't complicated like path finding or in Crysis 2 they use a special system that tells the enemy where is the best position to shoot Alcaraz. Do you think this is nessecerly for a Tic-Tac-Toe!?

PS: I am 13 years old.

  • 0
4) You can't program anything even remotely like AI with simple IF statements and certainly not in about 5 hours!
Well... yes, depending on how simple that AI is. As I just illustrated, you can make a very potent Tic-Tac-Toe AI with a few if statements. It doesn't answer unmodified Jeopardy questions in real-time but you still have to try pretty hard to beat it. :p
  • 0

One distinct feature of AI is it's learning ability. NOT done with IF statements!

If you have programmed something with a whole shedload of IF statements in 5 hours, then you have written some convoluted logic but not an AI algorithm.

1st: I don't think i know everything at all. I haven't saied something like this in this topic.

Sigh... I said don't think you know what you need to know. There are 3 areas of knowledge:

* What you know

* What you know that you don't know

* What you don't know that you don't know

You seem to be ignoring the 3rd!

2nd: It works perfectly. I know perfectly what i am doing and how i have coded it and tested it. PS: And it's still in developing.

If it works "perfectly well" then it doesn't need further development. And it's very very arrogant and foolhardy for any developer to claim anything works perfectly well. I have faith in my code but am open to the idea that it can be improved.

3th: Books can help you really, but won't help you really much for problem solving. Problem solving is the biggest part in programming.

And that comes from experience.

4th: AI is aritificial inteligence. I think you know this perfectly, because you are a 15+ programmer. If you don't know, this is a type of AI. So it is AI. It isn't complicated like path finding or in Crysis 2 they use a special system that tells the enemy where is the best position to shoot Alcaraz. Do you think this is nessecerly for a Tic-Tac-Toe!?

I know what AI is thank you very much. I started AI programming and learning the theory when I was 17. Drop your obsession with Crysis for a minute... AI is NOT simple decision making, AI is not path finding or such - those things are logic. AI is defined (as I was taught) by the ability to learn from trial.

  • 0

I know what AI is thank you very much. I started AI programming and learning the theory when I was 17. Drop your obsession with Crysis for a minute... AI is NOT simple decision making, AI is not path finding or such - those things are logic. AI is defined (as I was taught) by the ability to learn from trial.

Remember the context of this discussion and how AI is commonly used in the gaming industry.

  • 0
I know what AI is thank you very much. I started AI programming and learning the theory when I was 17. Drop your obsession with Crysis for a minute... AI is NOT simple decision making, AI is not path finding or such - those things are logic. AI is defined (as I was taught) by the ability to learn from trial.
A lot of what is commonly referred to as AI, including most video game AI (chess engines, fps bots, rts computers, monster behaviors in RPGs, etc.), has little or no ability to learn. You probably know more about the subject than me, but you should acknowledge that these static algorithms are still widely referred to as AI.

This is an interesting discussion though. If one follows this definition from Wikipedia:

AI textbooks define the field as "the study and design of intelligent agents"[2] where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success.[3]

then most video game AI can rightfully be called so.

  • 0
You probably know more about the subject than me, but you should acknowledge that these static algorithms are still widely referred to as AI.

I probably don't. I got quite lost as that course went on. I understood the theory but was terrible at implementing it. And yes, AI in games often means things that aren't true AI.

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

    • No registered users viewing this page.
  • Posts

    • Any so called performance increase will be in milliseconds, which nobody will actually notice in real world usage.
    • All it does is use the CPU more efficiently during boot to speed up boot times. That's it. Yawn....
    • It's not a one or the other kind of thing. Software should run efficiently, and the operating system should appropriately manage the CPU clocks. You could have the best most optimized software on earth, and it will still run faster if the CPU does a better job of boosting as needed. All this is doing is pre-boosting the CPU based on user actions, instead of waiting for the normal detection mechanism to kick in. If the OS knows it is about to need more CPU, why shouldn't it use that knowledge? It's the same idea of downshifting before passing someone, instead of just burying your foot into the peddle and waiting for the transmission to figure out what you want to do.
    • Audacity 3.7.8 by Razvan Serea Audacity is a free, open source digital audio editor and recording application. Edit your sounds using cut, copy, and paste features (with unlimited undo functionality), mix tracks, or apply effects to your recordings. The program also has a built-in amplitude-envelope editor, a customizable spectrogram mode, and a frequency-analysis window for audio-analysis applications. Built-in effects include bass boost, wah wah, and noise removal, and the program also supports VST plug-in effects. You can use Audacity to: Record live audio. Record computer playback on any Windows Vista or later machine. Convert tapes and records into digital recordings or CDs. Edit WAV, AIFF, FLAC, MP2, MP3 or Ogg Vorbis sound files. AC3, M4A/M4R (AAC), WMA and other formats supported using optional libraries. Cut, copy, splice or mix sounds together. Numerous effects including change the speed or pitch of a recording. Write your own plug-in effects with Nyquist. And more! See the complete list of features. Audacity 3.7.8 changelog: #10688 Fixed an exception thrown when pasting into a newly-created track (Thanks, David Bailes (@DavidBailes)!) #10870, #10884, #10775, #10629 Fixed tone generation, waveform-scale setting, SetClip Name parameter, and clip-boundary command names for scripting and macros (Thank you, David Bailes (@DavidBailes)!) #11106 Fixed the loading of presets for the Distortion effect (A million thanks, David Bailes (@DavidBailes)!) #10947 Fixed paste into an empty audio track not preserving the source sample rate (Thanks, Juan Gabriel Colonna (@juancolonna)!) #10776 Allowed AltGr modifier in label and clip name editing (Thanks, Davide Peressoni (@DPDmancul)!) #9938 Added options to choose where silence is truncated (start/middle/end) (Thanks, Noah Rosenfield (@nosenfield)!) #9935 Added Podcast 2.0 chapters JSON export for label tracks (Thanks, Noah Rosenfield (@nosenfield)!) #10103 Improve UI on HiDPI displays on Linux/wxGTK (Thanks, Ivan A. Melnikov (@iv-m)!) #10099 Fixed MixerBoard Mute and Solo button display (Thanks, Ivan A. Melnikov (@iv-m)!) #10681 Fixed multichannel FLAC import #10999 Fixed envelope being broken after joining clips Download: Audacity 64-bit | Standalone ~20.0 MB (Open Source) Download: Audacity 32-bit | Standalone Download: Audacity ARM64 | Standalone View: Audacity Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • There really isn't anything magical about the low latency profile, other OS's do this as well. All they're doing is using your CPUs boost clock options in a more smarter way.
  • Recent Achievements

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

    1. 1
      +primortal
      497
    2. 2
      PsYcHoKiLLa
      198
    3. 3
      +Edouard
      155
    4. 4
      Steven P.
      84
    5. 5
      ATLien_0
      71
  • Tell a friend

    Love Neowin? Tell a friend!