Why Does Everyone Tell Newbies To Make Games?

Started by
39 comments, last by Gian-Reto 9 years ago
The apprentice stonemason spends much of their time carrying and mixing mortar and being told to look at moisture levels. They don't start out making masterwork stone carvings and facades.

The accounting student is assigned to sum up meaningless columns of numbers until they can do it without error. Even while you are in an accounting class, you are enrolled in a course where you enter number after number in a tenkey pad, much like typists practice to reach a reasonable typing speed.

An aspiring surgeon goes through about eight years of post-secondary school, then another four years of surgical specialty, then another four years of residency, and then finally during the fifth year of residency -- after 16 years of study and practice -- are they allowed to wield the scalpel in a live patient.

It would be wonderful if we could all enter our chosen profession as experts in the field. But that is not how experience works. Beginners don't engineer good skyscrapers, beginners don't design effective surgical plans, beginners don't start out as master craftsmen, beginners don't have the skills necessary to architect complex games.

We start with text games, we start with a single bouncing ball and a single falling block. And when those are mastered, we move on to more difficult tasks.
Advertisement


I find it kind of odd that newbies are told to make games to improve their skills.

A carpenter gets better at carpentry by carpentering.

One needs to fail to see the actual better way of doing things.

The more you fail, the more you learn.

Schooling is one way (albeit slow). Doing is a harsh way, but it teaches one much about the craft.

Game development is like any other craft. Fail early, fail often, fail a lot, and sometimes, succeed.

Why all the talk of frameworks?
I made my first Pong clone in ASCII with no framework.

The answer is because people learn by doing things.

How else do you expect somebody to learn a framework specifically a framework that is built for developing games?
Sure they could sit there and read all the documentation cover to cover then read all the source code but are they really going to learn the framework that way?
No they are not.
The only way is by jumping in and getting shit done and possibly failing but thats how humans learn. They try something, they fail, they try again. and improve.


No, I'm just saying that it's hard if you have no knowledge of a framework, and if there are no good tutorials tongue.png

Games are a good start to learn programming, because it's the end result that matters, not the code, especially for children. Simply making something move on the screen or changing colors is a really good start. Once they know that, they can start putting their imagination to work.

My first attempt at a game was in DOS - I tried to make a game like Galaxian, but in 80x25 text mode. I made the player ship out of box characters with an arrow character on top, and I got as far as making it shoot bullets. I never implemented any enemies. The important thing I got from this is not the knowledge of how the screen was a grid of characters or how those box characters could be used to make rough objects, but the enthusiasm for coding games. Every time I managed to implement something new, I remember I used to show my mom and my little sister, so I could get the praise I deserved. smile.png It's that enthusiasm that kept me going then, and it's also what still drives me now. I didn't know, nor could care less that there were others doing more advanced stuff then. That was my achievement, and I was proud of it (still am smile.png )!

Pong is probably a good start for those who lack imagination, because it gives them a straight-forward goal, without requiring too much explanation. Just like me, they do not have to implement a fully working game either - just doing something towards a goal is a good enough start.

In some ways many game engines/frameworks available today are simply too high-level to write games like Pong or Tetris in their most basic form, with their 3D-oriented abstractions (cameras, projections, models), interactive physics systems, node-based programming and whatnot, and they are most likely to confuse and discourage you than teach you anything.

If you are starting out just moving up from text-based games, all you really want is an event loop and a canvas, so that's what I'd recommend.

Yeah, it's kindof funny seeing people making Pong in unity, having to mess with the camera and whatnot.

I'm not quite sure why do you see it funny when someone actually tries to do something. I agree unity is not the best bet to make a Pong clone, as there are dozen of libraries/frameworks that will allow you to do it easier and faster. But is it really funny?

Yes. It is funny. Funny in a good way. :)

I don't think that was the point, to be honest.

You can even do Pong in Unreal4..

However, I think you will learn more if you did Pong using SDL, SFML or GLFW. ((No need to go lower level than that, IMO)).

I view full on game engines like Unreal and Unity as "third-stage" choices.

Too many projects; too much time


I'm not quite sure why do you see it funny when someone actually tries to do something. I agree unity is not the best bet to make a Pong clone, as there are dozen of libraries/frameworks that will allow you to do it easier and faster. But is it really funny?

It's not funny that they're doing something. That's a good thing. It's funny that people making a Pong-clone in Unity are forced to mess with a 3d camera complete with field of view, clipping planes, a projection style, and a culling mask. It's like killing a fly with a bazooka.

It's already been covered, but one reason we recommend beginners build one of the simplest games like Pong is to prove to the newbie that it is tougher than it looks. Most beginners write a couple of for loops, a few if-else statements, a function or two, etc. and then they claim to "know how to program". Not everyone is ready for that next step.

Another reason is because Pong is a very well understood problem. Pong was one of the first video games ever and as such it's one of the simplest games to code. Most beginners have a grand ida to build a huge RTS or MMO. This idea is nebulous (no matter how detailed they think it is). Their game is not well understood and is NOT A SUITABLE PROJECT FOR LEARNING. If they start trying to build their masterpiece they will quickly become frustrated and most will give up.

When a famous french artist was asked for advice on how to be an awesome painter like you, he said "Draw lines young man. Draw lines..."

Or in Mr. Miagi's words, "Wax on... Wax off!"

- Eck

EckTech Games - Games and Unity Assets I'm working on
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG

The whole point of giving a task, of reasonable size, is that it is easier to focus your learning if you have a task that needs to be fulfilled.

It's the basis of "Problem Based Learning".

Pong is about as simple as you can get, but still have something that classifies as a fully interactive graphical game.

You can also build upon it pretty far, to learn even more. (make it an arkanoid clone)

I would say it can be excellent to do in Unity, to learn the ropes of what is existing in the Unity framework. or Unreal. or any other engine.

You'll just learn other things then if you do it in SDL or SFML.

I agree that you could recreate Pong in Unity or Unreal to learn the ropes of the engine.

Simply because you know how to create Pong in the first place!

And because of that only has to concentrate on how the engine works.

I would not recommend learning both how to program Pong and how to operate the engine at the same time.

This is not really a universal rule, though.

Too many projects; too much time

I use an app named Gamepress on IOS to make games. It is so easy it takes away the having to learn programming in order to make games.

So I am evidence that "making games" does improve the ability to make games. I think textual programming is actually a barrier to making games. If it were so easy a kid could do it, then we could go from concept to game faster.

My games get better and better, and the concepts I learn I can use to make more advanced games. The idea is to not overdo it at first, and gradually get better by practice.

They call me the Tutorial Doctor.

This topic is closed to new replies.

Advertisement