Jump to content

  • Log In with Google      Sign In   
  • Create Account


Making a Game-Programming site for newbies?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
17 replies to this topic

#1 lazyshmuck   Members   -  Reputation: 100

Posted 15 November 2011 - 03:18 PM

So I'm thinking of making a site that takes a complete beginner and gives them tutorials on how to build games from scratch. What I'm wondering is, if this has been done before, and if not, what language should I use for my introductory tutorials

As for what the site would actually be: the emphasis would be on coding, and algorithms. I'm thinking of making introductory lessons to take someone with ZERO coding experience, and getting their feet wet with actual game-like programming as soon as possible (the first lesson would be the bare essentials, the very next lesson would be rendering rectangles and checking for collisions). I'd also have sections dedicated to learning the math and physics that are handy for building games (trig, vectors, matrices, calc, probability, forces, rotations, laws of conservations of momentum and energy, etc). I know a LOT of tutorials already exist concerning these subjects, but these tutorials would be focused on gaming applications, with examples and exercises that relate directly to the game-coding string of tutorials

One of the things I feel is missing from tutorials and websites that I've seen so far is that they assume a person has prior coding experience. And for someone with prior coding knowledge, many tutorials are stand-alone, so it could be difficult when trying to find tutorials that expand on the concepts in a tutorial you've already read (this was my experience at least when I was beginning). This website would be less a collection of tutorials than a sort of free interactive textbook

Obviously, I haven't seen every website that's out there, so I figured I'd ask if anyone's aware of any websites that already exist which sound like what I'm describing. If there are already a bunch that do what I've described, I'd rather no reinvent the wheel :D

Also, I'm wondering what language I should use to get people started. I'm thinking of using Java at the moment- personally I think Java is kind of 'meh' for games, plus I don't have a hell of a lot of experience with it, but it's one of the most commonly used languages today (so the skills people develop will translate to an academic/professional environment well), the learning curve isn't as steep as it is with C/C++, and people will be able to share what they've made on the web rather easily. I was actually thinking of using Actionscript(Flash) originally, since EVERYONE would be able to view it online and most online-game sites are flash-based, but it's kind of an obscure language, and I also feel like Flash is going to die as HTML5 gains traction (and with Java, you can make HTML5 games with gwt). The other two choices of language I was looking at were Javascript and C, but I fell like Javascript is TOO abstract (plus I've barely used it), and as I mentioned earlier C has a steeper learning curve and it's harder to share what you've made

Any thoughts/comments would be appreicated. Thanks!

Sponsor:

#2 phantom   Moderators   -  Reputation: 6905

Posted 15 November 2011 - 04:43 PM

What qualifies you to make a website to teach newbies?

#3 Dan Mayor   Crossbones+   -  Reputation: 1712

Posted 15 November 2011 - 04:48 PM

Few comments, firstly about the reasoning behind all gaming tutorials assuming you have prior coding experience. This is a must. You have to understand how to program, what OOP means and how to use it properly, what procedural programming is and so on. Programming video games is not just something you can jump right into without having a good understanding of what you are doing before hand.

Next thing is there are many many many sites that are like this, but each one focuses on their own engine system. Eg if you go to msdn you can find ground up tutorials for XNA, if you go to garage games you can find ground up tutorials using torque, epic has them for UDK and so on. I have not really seen anyone that has built a generic ground up site, probably because a lot of theories and techniques vary greatly based on the engine and code base you are using.

What I think would be a great thing about this idea would be if you started with general coding and worked your way all the way through game programming in a single series. As you have mentioned tutorials are normally short and to the point, to learn the next step you normally search around and find another author that starts from a different point and a lot of people may have problems linking this knowledge together.

I'll help you out if you do decide to go through with it, I have the domain name IndevWorld.com (Indie Development World) just sitting around doing nothing. I'm not interesting in building the site for you ground up but if you are also a php coder and want to collaborate something I'd be happy to help. I have the unmetered / unlimited servers we could use as well. I've linked my help offered post to give you a little more information about me. At the bottom is all of my messenger contacts, look me up sometime if you'd like. If nothing else I'll help with some tutorials and such.

My Help Offered Post

Digivance Game Studios Founder:

Dan Mayor - Dan@Digivance.com
 www.Digivance.com


#4 Servant of the Lord   Crossbones+   -  Reputation: 18174

Posted 15 November 2011 - 05:04 PM

If the site is for newbies, what motivates professionals to hang around the site to teach the newbies? Or will the newbies just spread misinformation amongst themselves, with the result that the site becomes detrimental to the long-term growth of the users, because they think they got good information ("Gotos are evil! C++ is fastest! Python is too slow! Start with pong!"), because someone on the internet told it to them and "it sounded like they knew what they were talking about", but actually was misinformation (the commonly repeated comments I quoted are all false. That is to say, they hinge on hidden information that newbies won't know, but will repeat as a blanket 'laws' of programming that aren't actually true and are situation specific).

The best way to learn woodworking is to hang around and talk with a woodworker who knows what he's doing. The best way to learn electrical wiring is to hang around and talk with a electrician who knows what he's doing. The best way to learn programming is to hang around and talk with programmers who know what they are doing. The worse way to learn programming is to hang around and talk with other programmers who don't know what they are doing, but want to act like they do, or worst, actually think they do know. Similarly, the worst person to talk to about life problems are the people in your own age group who haven't yet gone through life. Posted Image

You want to look to those ahead of you for knowledge, not those in the same place as yourself. Otherwise, they'd give their best guess... but not bother to inform you that they were guessing, leaving you to think that they really know it when they don't (which is much more worse then someone honestly saying, 'I don't know').

Knowledge isn't gained by an accumulation of misinformation; multiplying ignorance doesn't bring about wisdom. 200,000 newbies speaking false knowledge or half-truths do more damage then one newbie in isolation learning by trial and error - at least trial and error allows you to firmly write in your mind "x worked, y didn't", whereas the counsel of the naive will tell you "y worked for me; don't do x, it's stupid. I read it somewhere, honest!"

It's a good idea to create a site to allow newbies to interact and encourage each other, or to band together in small projects. It's not a good idea to have newbies teach each other.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                            [Need web hosting? I personally like A Small Orange]
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal


#5 jeffrichley   Members   -  Reputation: 100

Posted 15 November 2011 - 06:55 PM

Perhaps you could do a tutorial using the up and coming HTML 5 game framework PlayN. It is fairly simple to pick up and they could use some publicity too. What kind of development have you been doing?
Come take a look at my GWT Tutorial site. Let me know what kind of tutorials you would like to see.

#6 DarklyDreaming   Members   -  Reputation: 363

Posted 15 November 2011 - 07:08 PM

If the site is for newbies, what motivates professionals to hang around the site to teach the newbies? Or will the newbies just spread misinformation amongst themselves, with the result that the site becomes detrimental to the long-term growth of the users, because they think they got good information ("Gotos are evil! C++ is fastest! Python is too slow! Start with pong!"), because someone on the internet told it to them and "it sounded like they knew what they were talking about", but actually was misinformation (the commonly repeated comments I quoted are all false. That is to say, they hinge on hidden information that newbies won't know, but will repeat as a blanket 'laws' of programming that aren't actually true and are situation specific).

The best way to learn woodworking is to hang around and talk with a woodworker who knows what he's doing. The best way to learn electrical wiring is to hang around and talk with a electrician who knows what he's doing. The best way to learn programming is to hang around and talk with programmers who know what they are doing. The worse way to learn programming is to hang around and talk with other programmers who don't know what they are doing, but want to act like they do, or worst, actually think they do know. Similarly, the worst person to talk to about life problems are the people in your own age group who haven't yet gone through life. Posted Image

You want to look to those ahead of you for knowledge, not those in the same place as yourself. Otherwise, they'd give their best guess... but not bother to inform you that they were guessing, leaving you to think that they really know it when they don't (which is much more worse then someone honestly saying, 'I don't know').

Knowledge isn't gained by an accumulation of misinformation; multiplying ignorance doesn't bring about wisdom. 200,000 newbies speaking false knowledge or half-truths do more damage then one newbie in isolation learning by trial and error - at least trial and error allows you to firmly write in your mind "x worked, y didn't", whereas the counsel of the naive will tell you "y worked for me; don't do x, it's stupid. I read it somewhere, honest!"

It's a good idea to create a site to allow newbies to interact and encourage each other, or to band together in small projects. It's not a good idea to have newbies teach each other.

Agreed.

Look to your fellows for support, look to your older wiser heads betters for guidance. :)
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe

"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
~ Bregma

"Well, you're not alone.

There's a club for people like that. It's called Everybody and we meet at the bar."

~ Antheus


#7 lazyshmuck   Members   -  Reputation: 100

Posted 15 November 2011 - 07:16 PM

Thanks for the responses guys

Phantom:
What qualifies me to make this site is the fact that I have a credit card and can pay a hosting company $7 a month :) Also, I've been coding in my spare time for the last 5 years. I'm not anything close to an expert, but I enjoy helping people learn things- I'm hoping to be a teacher in the future, I've taught at tech camps, and I tutored kids in my classes on the basics of game programming. I'm also a math major, finishing my degree next semester, and I was a mechanical engineering major, so my background in math and classical physics is fairly strong. The purpose of this site will be to serve as an on-ramp for people with no prior experience, and get them to the point where they can build basic games from scratch. If I'm unqualified to make this site, what, in your opinion, will be the repercussions for the people who use it?

Dan:
I've got some hosting already, but thanks for the offer :) I might take you up on that offer for helping with the tutorials though, that'd be great! What you mentioned in your post is basically what I plan on doing, a series that starts from the basics (variables, if statements, etc) and takes people through the process of coding more and more complex games while teaching them programming/math/physics concepts in the process

Servant:
It's not going to be a social site- there are already a ton of great sites for that (like this one for example). This is going to be more of an interactive textbook. You've brought up a good point though that there are a shitload of people on the internet who spout their opinions as if they're irrefutable truths, and that's something I really want to avoid. I plan on emphasizing throughout my tutorials that there are hundreds of ways to do things, and that anyone reading my tutorials should seek out other resources as well. I'm going to be honest about my background (that I'm a hobby programmer and have no professional experience), and tell people, upfront and repeatedly that my methods may very well not be the most efficient or the best, and that they should seek out other sources (personally, i think people should always do this when learning new things). Also, whenever I offer my opinions or do something a certain way on my site, I'm going to explain why I chose the method I did (in an unbiased manner, I hope) and mention any alternative methods that I'm aware of.

#8 Michael Tanczos   Senior Staff   -  Reputation: 5164

Posted 15 November 2011 - 07:34 PM

Ya know, it's not entirely necessary that everyone learn best practices to do game programming.. beginners can share what they know with each other perfectly fine and be happy doing it. It really depends on the needs of the individual.. some people just want to do it for fun, so they treat the learning process that very same way. GameDev.net started out this way.. we were all college kids figuring this stuff out and getting a ton of indie articles along the way to make it easy for people to learn. Now Dave and Kevin do this professionally, but I opted to become a teacher (and now teach high school kids to program).

Learning is a process that shouldn't be weighed down too much in the "don't do it this ways" from the start. People have a tendency to pick that stuff up as they learn more background CS material.

#9 dpadam450   Members   -  Reputation: 862

Posted 15 November 2011 - 10:15 PM

Ok guys If you haven't seen this previous thread, you will understand this one: LINK

You will understand this is a new member just like the ones in the above link. He is trying to "tear me down". As this is the basis for my new project: www.ultimategamedevelopment.com. He has basically posted an exact transcript from a video off of my website. I love making games and I want to teach people in a way that I feel worked for me.

You will have to read the last thread to understand who this is. All of my credentials are public kid.Even in the case I am 16 and have not a clue what the term "ship a game" means, then at least I am not trying to lie about who I am online and steal from other people.

My web-hosting is 2.50 per month.

#10 lazyshmuck   Members   -  Reputation: 100

Posted 15 November 2011 - 10:48 PM

Perhaps you could do a tutorial using the up and coming HTML 5 game framework PlayN. It is fairly simple to pick up and they could use some publicity too. What kind of development have you been doing?


I haven't heard of that, I'll check that out, thanks. I've been making games in Flash up until half a year ago, and then I started playing around with C and OpenGL


Ya know, it's not entirely necessary that everyone learn best practices to do game programming.. beginners can share what they know with each other perfectly fine and be happy doing it. It really depends on the needs of the individual.. some people just want to do it for fun, so they treat the learning process that very same way. GameDev.net started out this way.. we were all college kids figuring this stuff out and getting a ton of indie articles along the way to make it easy for people to learn. Now Dave and Kevin do this professionally, but I opted to become a teacher (and now teach high school kids to program).

Learning is a process that shouldn't be weighed down too much in the "don't do it this ways" from the start. People have a tendency to pick that stuff up as they learn more background CS material.


Thanks :) And you're right, I have just been doing this stuff for fun and don't plan on doing it professionally, and this site will be aimed at kids who want to design their own games for fun, but are clueless on where to begin

Ok guys If you haven't seen this previous thread, you will understand this one: LINK

You will understand this is a new member just like the ones in the above link. He is trying to "tear me down". As this is the basis for my new project: www.ultimategamedevelopment.com. He has basically posted an exact transcript from a video off of my website. I love making games and I want to teach people in a way that I feel worked for me.

You will have to read the last thread to understand who this is. All of my credentials are public kid.Even in the case I am 16 and have not a clue what the term "ship a game" means, then at least I am not trying to lie about who I am online and steal from other people.

My web-hosting is 2.50 per month.


huh?

#11 ranakor   Members   -  Reputation: 439

Posted 16 November 2011 - 05:51 AM

Ok guys If you haven't seen this previous thread, you will understand this one: LINK

You will understand this is a new member just like the ones in the above link. He is trying to "tear me down". As this is the basis for my new project: www.ultimategamedevelopment.com. He has basically posted an exact transcript from a video off of my website. I love making games and I want to teach people in a way that I feel worked for me.

You will have to read the last thread to understand who this is. All of my credentials are public kid.Even in the case I am 16 and have not a clue what the term "ship a game" means, then at least I am not trying to lie about who I am online and steal from other people.

My web-hosting is 2.50 per month.



Holy hate man, you're one angry guy lol.
Btw looked at your website and am quite stumped at what you sell, a dvd for 20 that treats of :


Topics Covered Trigonometry in Games
Displaying 2D Images
C++ Classes and Vectors
Pointers
Introduction to OpenGL API

Is this for real? who would pay 20 for that instead of going to time-tested nehe still hosted on gamedev? http://nehe.gamedev.net/



#12 Serapth   Crossbones+   -  Reputation: 5263

Posted 16 November 2011 - 06:21 AM

My site GameFromScratch has sorta evolved into exactly what you are talking about and away from it's initial intention of documenting the entire game development process. Truth of the matter cohesive game development tutorials for beginners are lacking on the internet, but for good reason. Explaining highly technical subjects to beginners is difficult and tutorials become a great deal of work. Take for example my http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition.aspx'> C++/SFML/OO tutorial series, I am simply creating a Pong-esque game while introducing various OO and SFML topics and I am already at chapter 8! and nowhere near done. You can however teach just about anything, its just a matter of time and effort involved.

There is also the matter of the blind leading the blind. I have @15 years of professional programming experience, including a small stint in the industry long long ago, and I feel unqualified to be teaching at times. In the end though, a lot of it comes down to the willingness to do it, I mean it's not exacty difficult to raise the bar on the typical internet tutorial now is it? If you decided to go ahead with it, stick with what you know, you do everyone a disservice teaching hearsay. In the end though, I get a great deal out of it as I find I enjoy teaching and have received a ton of extremely thankful emails. Every time that happens, it generally makes all the effort worthwhile.

@Jeffrichley, ironically enough I have been doing a fair bit with PlayN, although until it recent release to Maven Central, its been mostly focused around getting up and running. I do have a few game tutorials for PlayN in the works, as frankly though their tech is quite nice, their documentation is extremely lacking.

@Servant of the Lord, I agree and disagree with what you've said. You *can* tech just about anything, just not always in compact form. That said, there are a finite number of hours in a day, so eventually you have to start making some initial assumptions.

#13 dpadam450   Members   -  Reputation: 862

Posted 16 November 2011 - 10:28 AM

Holy hate man, you're one angry guy lol.

Just seems like a perfect storm. As if this is some parody except that this guy is a lazyschmuck who is experienced but then hes like "I'm dumb". Who knows maybe its not.

Is this for real? who would pay 20 for that instead of going to time-tested nehe still hosted on gamedev?

nehe doesn't teach you anything game related though. I have read a few of their tutorials when I was beginning openGL. And I don't mean to pick on nehe, because it a decent resource but it doesn't teach you to make a game. How do you make a character, weight paint it, animate, how do you use that information in your game engine to animate. I started a project started making models, then you go "how do I unwrap and texture them". Find out, then "how do I get them in my engine". How do I project a mouse cursor to select. "Ok how do I do this, then this, and then finish my game." So for instance that DVD is going over concepts in a worms clone. Shooting, terrain destruction, sound. But saying nehe teaches game programming is like saying developer.nvidia teaches game programming. They are resources, and are graphics related, but they don't teach you c++, AI, 3D art.

Everyone makes PONG, right I'm no genius there. But I had to make that in order to linearly progress to my next project which is covering a ton of material that took me all kinds of trouble find when I first started.

#14 Serapth   Crossbones+   -  Reputation: 5263

Posted 16 November 2011 - 10:44 AM

As if this is some parody except that this guy is a lazyschmuck who is experienced but then hes like "I'm dumb".


That sentence made my brain hurt.

#15 dpadam450   Members   -  Reputation: 862

Posted 16 November 2011 - 10:57 AM

That other thread was just so ridiculous and fraudulent that I linked to. I just saw this as another new user with 1 post. Just F'd me over. So my apologies to the OP if he is sincere.

Why don't you use screen capture for your site though? I don't know the goal of what you are doing, but I see the first page on there is like do this click this configuration etc. Or are these just kind of like "watch out for this" "this topic is cool" type of blog? Is this the 1st part of doing your game from scratch?

#16 Serapth   Crossbones+   -  Reputation: 5263

Posted 16 November 2011 - 01:46 PM

That other thread was just so ridiculous and fraudulent that I linked to. I just saw this as another new user with 1 post. Just [edit] me over. So my apologies to the OP if he is sincere.

Why don't you use screen capture for your site though? I don't know the goal of what you are doing, but I see the first page on there is like do this click this configuration etc. Or are these just kind of like "watch out for this" "this topic is cool" type of blog? Is this the 1st part of doing your game from scratch?


I do, when it's applicable. In a few of my 3D tutorials, I used screen captures. For teaching coding, I think plain ole text is vastly superior. As to the sites contents, its a bit random, you can find a straight step-by-step tutorial in the right hand column, otherwise its a smattering of code, things I find interesting, news, how too, etc... Also, Google can't index video...

#17 ApochPiQ   Moderators   -  Reputation: 14666

Posted 16 November 2011 - 02:27 PM

Let's keep the language clean, please.

#18 Eric Preisz   Members   -  Reputation: 111

Posted 16 November 2011 - 11:42 PM

Biased opinion here, I'm the CEO of GarageGames...

...But, we just launched a new tutorial yesterday that was build from scratch for someone who doesn't know programming. We worked on it for about six months with some really talented documentation writers. Our goal was to make the best beginner tutorial in the business. Check it out:

http://www.garagegames.com/fps

Btw...the tutorial is free and it works with our free demo.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS