• 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

    • A shame it don't allow people to bypass the MS account, I will stick to using Rufus.
    • Microsoft about to radically change how often your Edge browser updates by Paul Hill Microsoft has just announced that starting with Edge 152, it will be moving to a two-week release cycle for faster, smaller updates. This faster release cadence will begin on August 27. This change comes just several months after Microsoft switched Visual Studio Code to weekly updates. The company said that the Extended Stable releases will remain on an eight-week cycle and that no admin changes are needed to experience the faster release cycle on the Stable channel. The new two-week release cycle will enable the faster delivery of security updates and platform improvements, all while reducing the size and complexity of individual updates. Microsoft claims that organizations will benefit from this change as it offers predictable validation cycles. For organizations that prefer a “more deliberate pace”, the Extended Stable channel remains an option. This change will affect Edge Stable releases on Windows, macOS, Linux, and mobile. The Extended Stable channel will continue to be updated every eight weeks, or every fourth Stable release, for example: versions 152, 156, 160, and 164. The Extended Stable could be a good option for organizations that don’t want the latest updates twice a month and don’t want as much hassle constantly updating browsers. In the case of Visual Studio Code, many of the updates being pushed by Microsoft are AI-related. As we all know, Microsoft Edge has a lot of AI features, so we could see Microsoft pushing more AI, thanks to the faster cycles. On the flip side, quicker releases could mean faster security updates, which is beneficial in a world where AI systems are hunting for software exploits. What do you think? Let us know in the comments. For more updates on Edge, be sure to follow Neowin's coverage. In May alone, we reported on Edge offering in-browser pop-ups to assist users with website compatibility issues, that Edge was losing Copilot Mode, and that Microsoft had fixed a plain-text password bug in Edge. Source: Microsoft 365 Admin Center
    • not yet, because at the moment it is not a threat to MS, if and I mean if it did become a threat to MS Office, then it may be a different thing. MS don't like competition
    • Zen Browser 1.21b by Razvan Serea Zen Browser is a privacy-focused, open-source web browser built on Mozilla Firefox, offering users a secure and customizable browsing experience. It emphasizes privacy by blocking trackers, ads, and ensuring your data isn't collected. With Zen Mods, users can enhance their browser experience with various customization options, including features like split views and vertical tabs. The browser is designed for efficiency, providing fast browsing speeds and a lightweight interface. Zen Browser prioritizes user control over the browsing experience, offering a minimal yet powerful alternative to traditional web browsers while keeping your online activity private. Zen Browser’s DRM limitation Zen Browser currently lacks support for DRM-protected content, meaning streaming services like Netflix and HBO Max are inaccessible. This is due to the absence of a Widevine license, which requires significant costs and is financially unfeasible for the developer. Additionally, applying for this license would require Zen to be part of a larger company, similar to Mozilla or Brave. Therefore, DRM-protected media won't be supported in Zen Browser for the foreseeable future. Zen Browser offers features that improve user experience, privacy, and customization: Privacy-Focused: Blocks trackers and minimizes data collection. Automatic Updates: Keeps the browser updated with security patches. Zen Mods: Customizable themes and layouts. Workspaces: Organize tabs into different workspaces. Compact Mode: Maximizes screen space by minimizing UI elements. Zen Glance: Quick website previews. Split Views: View multiple tabs in the same window. Sidebar: Access bookmarks and tools quickly. Vertical Tabs: Manage tabs vertically. Container Tabs: Separate browsing sessions. Fast Profile Switcher: Switch between profiles easily. Tab Folders: Organize tabs into folders. Customizable UI: Personalize browser interface. Security Features: Inherits Firefox’s robust security. Fast Performance: Lightweight and optimized for speed. Zen Mods Customization: Deep customization with mods. Quick Access: Easy access to favorite websites. Open Source: Built on Mozilla Firefox with community collaboration. Community-Driven: Active development and feedback from users. GitHub Repository: Contribute and review the source code. Zen Browser 1.21b changelog: New Features Updated to Firefox 151.0.4 Added 'Space Routing', a new feature that allows you to route links to a specific Space. To get started, click on the three dots in your Space name and click on 'Space Routing Settings'. Fixes Fixed extension-opened tabs not being created with the correct container (#14100) Fixed a bug with the Boosts editor having the wrong theme colors (#14099) Improved overflowing space icons being inaccessible and improved the feeling when hovering over them (#13747) Other minor bug fixes and improvements Download: Zen Browser | 89.8 MB (Open Source) Download: Zen Browser ARM64 | Other Operating Systems View: Zen Browser Home Page | Screenshots 1 | 2 | Reddit Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I am currently using a 4tb stick in combination with a 4tb 9100 Pro. It's only been six months since I bought them but the 990 has already dropped 1% health. Fingers crossed it doesn't go any lower.
  • Recent Achievements

    • Week One Done
      davidbazooked earned a badge
      Week One Done
    • One Month Later
      Jamswaz earned a badge
      One Month Later
    • Week One Done
      Jamswaz earned a badge
      Week One Done
    • Rookie
      Marzoid went up a rank
      Rookie
    • Community Regular
      coch went up a rank
      Community Regular
  • Popular Contributors

    1. 1
      +primortal
      514
    2. 2
      PsYcHoKiLLa
      185
    3. 3
      +Edouard
      159
    4. 4
      Steven P.
      83
    5. 5
      ATLien_0
      75
  • Tell a friend

    Love Neowin? Tell a friend!