• 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
And now the next freaking special answer for njlouch: Look stop with this. I haven't talked to anyone so insulting stuff. I want to tell you many things, but i will not. I am not a horrible person like you. You aren't here to help. You are here show yourself how good you are in programming and telling the users that i am a noob. Ok thing eveything what you want. Why you tell these things? Because you want to unsult anyone, tell the internet how big you are(i mean in programming) or change them? Tell me. Do you want to change these things you said. If you want then go. Make it. Change it. If you don't want to change it and you are for different reasons telling these things then why are you still posting. Yes because to insult me, tell how big in programming you are or/and something other. I don't want to turn this topic in a drama. Sorry.

I don't know quite what your problem is, but you have come across as an arrogant little child who cannot take direction or criticism. I have advised you to stop FOOLING YOURSELF that you know enough of the fundamentals, because you don't. If you take that as an insult, then boo hoo. You will never become a decent developer with such an attitude. It's not an insult, you may take it as one, but that's because you have a problem being told that you don't know things that you claim to know. That, my young friend, is arrogance!

Now, do I think I'm a great developer? Hell no. I'd a good developer, but I love meeting and interacting with better developers than myself. I'm keen to learn and love to have what I had previously "known" to be challenged.

Grow up!

  • 0
I thing i must ask the question what's your problem. Man you are testing every nerve cell of my body. Really i will freak out soon if i read things like these posted by njlouch.

Oh please, will you try to drop this defensive attitude and actually listen to what's being said? I am urging you to not act like a petulant child that isn't getting his own way, and to tka e10 minutes to reconsider what you believe you know, start over and become a better programmer!!! How are you going to react when your supervisor pulls you up on your coding and rips it to pieces? Are you going to cry like a baby girl and claim they insulted you?

You asked "How to be a game programmer and developer"... I am answering that question:

1) Drop your "I know this much" bull****. You don't!

2) Stop assuming things about programming that you don't yet know.

3) Revisit your poor code, learn some coding styles and best practises. Then use them!

4) Learn how to take crisicism without crying about being insulted.

  • 0

Personally I see nothing wrong with emilxp's attitude and I would suggest for everyone to try to give specific advice on how to make his code better rather than making general statements that only serve to confuse him. He's trying hard and that's all that really matters. You can't blame a 7th grader for having an inaccurate concept of AI or being somewhat overconfident, or not reacting very maturely to criticism, for that matter.

I'm at work so I won't be able to comment very specifically before another ~12 hours or so. However, looking briefly over your code, emilxp, I noticed the following:

- There is a lot of repetition. You basically copy the same code over and over, only modifying a number or 2 each time. What you should aim for is to write your logic once, in a function, and make the things that vary parameters to that function. Imagine trying to adapt your code for a 25x25 Tic-Tac-Toe board. Surely you can't repeat yourself 625 times, you have to code the general case. I will give you examples when I have time.

- The file is a .txt. C++ source files should end in .cpp.

That's all I have to say for now.

  • Like 2
  • 0

What njlouch is trying to say is that you can always learn from someone/something else, even if you think you already understand things. As a programmer you should be looking to gain whatever knowledge you can, even if you think you already know everything in the field about it. Try not to take what he is saying as an insult more constructive critisism on your belief that you have perfected your code and that you already know the basics of programming. He isn't the only one to have picked up on a few issues with your coding so they can't all be wrong. What he is saying is that although you think you are getting there, sometimes it's best to just go back to the start and learn a fresh taking on board what you 'think' you already know.

  • 0

Ok one person says i must learn BASIC, another that i must stick with a language like C++, another s insulting me. What i must do!?

This is why trying to learn from a forum is a bad idea. Everyone will have different (and completely valid) opinions. Personally, I feel that a managed OO language like C#, Java or some OO form of BASIC (I actually learned with REALbasic) is a good language to learn with since you don't deal with the more complex things like referencing and dereferencing pointers, memory management and so on. However, I do see the merit of starting with C/C++ and learning those things right off the bat.

You really can't expect a forum to babysit you through learning programming. A better way of using Neowin as a learning resource is to ask what language you should learn with, read and consider the responses, then make your own decision. That last part is what you seem to be lacking.

  • 0

Ok before i comment njlouch's answer i want to tell you want arogant means: I don't know ho to translate this, because it's too complicated and in English it will sound stupid, but a part of it means that an arogant person is a person that is rude and something other.

So your last post: I don't understand it really well. Not, because i don't know what these words mean.I don't know what i am doing like a little kid. I have told eveyone enought for what i know and what i don't know. Evetything is in the Tic-Tac-Toe source code. And talking to njlouch has no sense, because he don't understands what i am writing he don't want to understand or just ignores it. And you don't had told me you age njlouch. I will be happy if you tell me.

I really like +Dr_Asik's answer. Yes you are really right, but the hard thing is how to do this. I saw that it is possible with the for loop. I will see what i can do with it.

  • 0

1) Arrogant (in this context) means that you assume to know more than you do, and then defend that view in the face of more experienced people questioning it.

2) You don't know what you are doing like a little kid? You are being given VALID criticism by me, and you are calling it an insult. That is childish.

3) "I have told eveyone enought for what i know and what i don't know" - Look, I'm getting really bored of saying this: Your definition of what you know is WRONG. You don't know the things that you are telling yourself you do know.

4) "And talking to njlouch has no sense, because he don't understands what i am writing he don't want to understand or just ignores it". I do understand what you are saying. And it's generally wrong.

5) "And you don't had told me you age njlouch. I will be happy if you tell me. " I am 33. But my age here is irrelevant. As I said before "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."

OK, look. I'm bored now. I have been trying to steer you in a direction that will help you become a decent or at least better developer. But you childish attitude, arrogance, unwillingness to listen just stands in your way!

  • 0

In The C++ Programming Language they tell you the fundamentals, but they asume that you know them, because they wiil not go in detail in them. There is another book for the fundamentals for C++ by the same author. Ok one person says i must learn BASIC, another that i must stick with a language like C++, another s insulting me. What i must do!?

The language is your choice. No one can make the decision for you. We can merely offer advice. But once you choose a language, you should stick to it and focus on the learning the syntax, features, and standard libraries/functions it provides. Once you understand it completely and have practised the exercises in books like I mentioned, then you can start to construct your own programs. After that, you can begin to learn other programming interfaces such as OpenGL and GLUT.

  • 0

Please keep this thread civil.

@njlouch: It does no good to berate him for being young and foolhardy. He is young. :)

@emilxp: There are a lot more to understanding programming fundamentals other than getting your code to compile successfully. Try reformatting your code first and repost it, then try working on removing some of the duplicated code Dr_Asik mentioned. For example: at the end of your game loop, change the long list of reinitializing your "used" array into a loop. It will take up less space and still function the same.

int i;
for (i = 0; i < len(used); i++)

   used[i] = "";

  • 0
Your criticism is really rude. And everything in the Tic-Tac-Toe program is written by me and it shows everything that i know. Isn't it? If it isn't then why?

Right, I'm done with this thread. EmilXP - you accuse me of being rude. You know what's rude? Asking for help and then when direction is given, ignoring it and assuming an insult. It's is rude, childish, pathetic and arrogant. You choose to ignore my background in programming, the fact I hold down a relevant job and have done for 15 years, and would rather cry like a baby!

The code you posted was terrible. You claim it showed that you understand the basics. It does not - it shows that you don't even understand loops, arrays, simple logic and any form of coding practise.

@grewolf: I am not berating him. I have done nothing but try to steer him in a direction where he can question his own assumptions of his level of competance. But he chooses to call it an "insult" and I'm seen as the bad guy. Please, if I have insulted then show me - but rather the case is that he is TAKING it as an insult. Over which I genuinely do not care - that's his call! And please, age is no reason to be so arrogant as to ignore the knowledge of those who he asked for help from in the first place.

  • 0

emilxp: You need to calm down. Seriously.

What njlouch and others are suggesting is that you learn the fundamentals. On your own. There are more than enough free programming tutorials and tools available on the web. Read, learn, experiment some more. And don't be insulted when adults give you well-meant advice. Your current attitude makes you look like a fool.

  • 0

Please keep this thread civil.

@njlouch: It does no good to berate him for being young and foolhardy. He is young. :)

@emilxp: There are a lot more to understanding programming fundamentals other than getting your code to compile successfully. Try reformatting your code first and repost it, then try working on removing some of the duplicated code Dr_Asik mentioned. For example: at the end of your game loop, change the long list of reinitializing your "used" array into a loop. It will take up less space and still function the same.

int i;
for (i = 0; i < len(used); i++)

   used[i] = "";

Oh i love you answers :) . Ok for the code i am not 100% sure how to do it with the for loop, but i will try it out.

  • 0

I recommend you start with a free 3d editor like blender or wings 3d and then doing some good models, then picking up the free Unreal Development Kit and getting started. UDK is the free version of the popular Unreal engine.

this is a cheap approach.

I would also recommend jmonkey engine, however it is very touchy to work with

I also would recommend Irrlicht engine, however it is not for the faint of heart.

  • 0

In The C++ Programming Language they tell you the fundamentals, but they asume that you know them, because they wiil not go in detail in them. There is another book for the fundamentals for C++ by the same author.

Well that's the problem with C++. It's very complicated and has multiple feature sets, of which you may only use a select few. It can take years, yes, years to master C++ and all the subsets it provides (C (although it has trivial inconsistencies), polymorphism, inheritance (multiple), operator overloading, standard templates library). And that's long before you look at other libraries like boost. Which subset(s) of the C++ language will you use? It's a question many people ask.

This is why I recommended a simpler and more robust language like C. Python and Java are also far better for beginners.

  • 0

emilxp: You need to calm down. Seriously.

What njlouch and others are suggesting is that you learn the fundamentals. On your own. There are more than enough free programming tutorials and tools available on the web. Read, learn, experiment some more. And don't be insulted when adults give you well-meant advice. Your current attitude makes you look like a fool.

I don't want to be rude with njlouch. Really, but now he is like a kid. He is a big man and he don't know how to talk to kids(i am not 100% sure that i am a kid, but if want :) ). GreyWolf can talk to children really well. njlouch for me is rude. Ok i am happy if he wants to help me in this way, but i find it rude to me. I don't want to insult you really. Ok i think njlouch will be happy if say this: Yes i am a total noob. Yes i am like a kid. Yes my code is horrible like most code written by me.

I recommend you start with a free 3d editor like blender or wings 3d and then doing some good models, then picking up the free Unreal Development Kit and getting started. UDK is the free version of the popular Unreal engine.

this is a cheap approach.

I would also recommend jmonkey engine, however it is very touchy to work with

I also would recommend Irrlicht engine, however it is not for the faint of heart.

UDK and other game engine require programming. Like UDK wants you to know UnrealScript to program you games. The same for other game engine.

  • 0

For ****s sake man, grow up. I don't care if you are happy or sad, it doesn't matter how I talk to a child or an adult. Those things are not the point of the thread. I talk to you as a developer to another developer - don't expect me to all flowers and unicorns, I am telling you facts because you ask - nothing more, nothing less. Do you want me to talk to you like a child? Would you rather be patronised than shown the cold light of day? That's your call, but it in no way makes me rude.

Yes i am a total noob. Yes i am like a kid. Yes my code is horrible like most code written by me

Good! Now go and revisit your first ever code. Start again with a simple "hello world", then move onto asking for a number and counting down from that number, and so on.

Some dude here gave you some of the example tasks he was asked - have you done them?

  • 0

Oh i love you answers :) . Ok for the code i am not 100% sure how to do it with the for loop, but i will try it out.

Any decent beginner's tutorial to C++ will show you how to write a for loop and such basic language constructs. This is a pretty good example: http://www.cplusplus.com/doc/tutorial/ . I strongly suggest you follow through something like that and try to apply those concepts to improve your Tic-Tac-Toe program.
  • 0

UDK and other game engine require programming. Like UDK wants you to know UnrealScript to program you games. The same for other game engine.

As others have said, I think you're getting ahead of yourself. Before you can even contemplate writing a fully fledged game or using an existing game engine, you need to pracise and learn a language. It might take 6 months to a year before you become competent enough to understand the details of game and software development. Once again, take the time to read a book or web equivalent and practise the exercises, start small, then gradually begin to write more complex programs.

Like learning most things in life, whether it be latin, C++, or martial arts, patience, persistence, and diligent practise is a fundamental requirement.

  • 0

Any decent beginner's tutorial to C++ will show you how to write a for loop and such basic language constructs. This is a pretty good example: http://www.cplusplus.com/doc/tutorial/ . I strongly suggest you follow through something like that and try to apply those concepts to improve your Tic-Tac-Toe program.

I am reading these tutorial. They are really good. And for njlouch: I have coded a Hello World program, but i haven't coded a counting program. I will try now to make one and i will post it. I will normaly make it with a while, but i think it must be made with a for loop. I will post it as soon as i a done with it.

  • 0

In The C++ Programming Language they tell you the fundamentals, but they asume that you know them, because they wiil not go in detail in them. There is another book for the fundamentals for C++ by the same author. Ok one person says i must learn BASIC, another that i must stick with a language like C++, another s insulting me. What i must do!?

Basic (more specifically, Smallbasic) is arguably the easiest language to jump into. You'll still learn good programming practice, you'll still learn about all the common programming techniques and programming styles professional development practices many developers use, but without the complex syntax of C++, and with a more user friendly IDE. You'll learn how to do it properly. You can then take the programming experience and techniques and ideas from that, and you could greatly reduce your C++ code in your game there. You just need to see and experince what everyone else is doing, and those tutorials are one of the easiest ways.

C++ is more powerful and can be much more efficient at run time if you know what you're doing - but it's far easier to totally mess up in C++, far easier get confused with pointers and references and end up with lots of bugs and memory leaks and compiler troubles which for a relatively new programmer with your level of experience will end up being a complete road block without help. For an easier and more enjoyable time, start with something easier (like... SmallBasic!). Run through the tutorials, be done in a few hours, and it'll help you a LOT. The material is there, you just have to read it.

If for some reason you're still adverse to that idea, there are plenty of "Beginners C++" tutorials all over the net. Google will be your friend here! :p

  • 0

I am reading these tutorial. They are really good. And for njlouch: I have coded a Hello World program, but i haven't coded a counting program. I will try now to make one and i will post it. I will normaly make it with a while, but i think it must be made with a for loop. I will post it as soon as i a done with it.

The idea of forums is to answer a question or help if you are struggling with something. There's no point in just posting a program. If you have a legitimate problem, it's probably best that you create a new thread with the exact nature of it rather than creating one long thread which no longer resembles the original topic.

  • 0

#include <iostream>
using std::cout;
using std::cin;

int main()
{
	for(int count=0; count<11;count++)
	{
		cout<<count<<", ";
	}
	cin.get();
	return 0;
}

With the help of cplusplus.com i have understand the for loop. There were a counting program to show the loop and i saw the source code. I haven't remembert it. I have just looked at it for the syntax. Nothing more, but because of this program that i have written i think you will not belive me that i have understand this loop. For that i will fully edit my Tic-Tac-Toe and post the source code.It will took some time.

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

    • No registered users viewing this page.
  • Posts

    • YouTube has finally brought back its DMs feature, but only in these countries by David Uzondu Late last year, YouTube started testing a "new" way to share videos directly with friends, without having to leave the app. Now, the video giant has announced that is now rolling out a revamped direct messaging inbox, which lets you share videos, Shorts, and live streams and have conversations about them, directly on YouTube. The platform limits this feature to 18+ users who are signed in to a verified channel and use the latest mobile app version. Direct messaging on YouTube first became a thing back in 2017 inside the mobile app (later renamed to "Messages"), where users could chat one-on-one and share clips directly, but all that came to an end on September 18, 2019, when Google decided to shut it down after giving users a month to download a .zip file archive of their past chats. No one really knows why YouTube killed the feature, but users were encouraged to migrate to the public Comments section, on Community tab posts, and via YouTube Stories. The previous incarnation suffered from moderation challenges, prompting Google to implement stricter safety guidelines and age verifications for this new iteration. Here's a list of the countries where the re-launched feature is currently available, though note that Brand Accounts do not have access to it, at least for now: Countries American Samoa Austria Belgium Brazil Bulgaria Croatia Cyprus Czech Republic Denmark Estonia Finland France Germany Greece Guam Hungary Iceland Ireland Italy Latvia Liechtenstein Lithuania Luxembourg Malta Netherlands Northern Mariana Islands Norway Poland Portugal Puerto Rico Romania Singapore Slovakia Slovenia Spain Sweden Switzerland U.S. Virgin Islands United Kingdom United States Before you can use the feature, you first have to send an invite link to your contact. Invite links expire exactly seven days after you create them. If the person on the other end accepts the invite, you can exchange videos directly and text back and forth inside the app. To delete a message, just long-press on the message and tap unsend to remove it for both users. You can also delete entire conversations by long-pressing the thread and selecting delete, but the other person will continue to see the chat history on their end. To make sure everything remains safe, YouTube monitors these messages to ensure they follow Community Guidelines.
    • The problem of course is simply that government does not always know best. My point is that agency is taken away from the EU consumer in these cases. I'm sorry, but I do not believe that governments (politicians) are inherently good, and "looking out for me." Primarily they look to themselves and their own personal desires first, foremost, and always. When the EU or the DOJ fines these companies, claiming to "represent the welfare of the consumer," how much of these billion-dollar judgments are handed to the consumers they claim to represent? Not even a dollar, as I've seen. Yet the EUC lawyers who are paid to sit around and dream up these suits make huge commissions on the fines the EUC adjudicates, which is an ironclad fact I hope everyone is aware of. It's also rank corruption, of course, but that's another topic. Last, when the EU inflicts these judgments, or the DOJ, take your pick, the costs are bundled right along in the cost of the goods and services these companies provide the consumers they are "looking out for." If you are someone who believes his government is his savior then you have my condolences. I think Apple is right here, because the whole scheme of consumer choice is that consumers pick and choose among the products companies offer. Microsoft Windows is more compatible with third party software and hardware than any desktop OS on Earth, which is my sole reason for choosing it. Just because the EUC forces companies do certain things it knows the companies do not want to do, "or else", has no bearing on consumer benefit. This Siri thing is almost idiotic it's so infantile. But this is what the EUC does when the EU in Brussels becomes cash-strapped and needs a big infusion of cash. Some people get upset by "big companies" but it's the opposite when governments dwarf the size and scope of these companies, which is so obvious it hurts.... I mean you can't honestly believe that forcing Apple to do things with Siri it has its own reasons to decline is something that "opens up" Apple, do you? Say it aint' so...
    • Looks like many years since the request was made, a directory tree view finally may be added. https://github.com/files-community/Files/pull/18537
    • Is it still super slow or has it improved on that area?
    • There's this from last year https://gist.github.com/threat...364659a8887841aa43deca4efd9 but nothing about a buffer overflow that MS somehow can't code against. No matter what, it makes sense to take a "protected by default" approach.
  • Recent Achievements

    • One Month Later
      sjbousquet earned a badge
      One Month Later
    • Week One Done
      sjbousquet earned a badge
      Week One Done
    • First Post
      DragonOfMercy earned a badge
      First Post
    • First Post
      bella52 earned a badge
      First Post
    • Reacting Well
      Techinmay earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      501
    2. 2
      PsYcHoKiLLa
      214
    3. 3
      +Edouard
      156
    4. 4
      Steven P.
      84
    5. 5
      FloatingFatMan
      73
  • Tell a friend

    Love Neowin? Tell a friend!