http://GameProgrammer.Com

Programming

GP Mailing List
     Thread Index
     Date Index

ATXGPSIG List
     Thread Index
     Date Index

Google
>

Home

TheGrumpyProgrammer



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: School Project



On Wed, 14 Feb 2001, Duaij Al-Sabah wrote:

> Hi-
> My name is Matthew Johnson and I live in Kuwait. I am currently in the
> 10th grade, and in my geometry class, we have been assigned a project to
> research an occupation that applies geometry. Being a video game addict,
> I immediately chose "video game programmer" as my topic. I came across
> your extremely informative website and was just wondering if it would be
> possible to answer some questions:

Wow cool. I'm not a game programmer by trade, but have gone through the
college bit and will toss a few sticks into the fire, so to speak. ^_^;

>   How many years did you attend school to be able to master video game
> programming?

Different career path(Unix SysAdmin/General SysAdmin/Network Admin). Sadly
enough, general schools like high schools and typical 2-4 year colleges
don't really prepare one for serious careers, be they game
design/programming or other computer related work. Schools tend to prepare
people for more schooling or to be so-so teachers/professors.

The goal of general schooling and a "basic college" education is to
provide society with a person who has a rounded base of knowledge with a
specialization which is to serve as a stepping stone for a more advanced
pursuit of the subject. 

A Computer Science degree is about as close to a "game programming" course
you'll ever get and most of the theories and material covered may not be
of much use in game programming. Though it is helpful to learn those
things to assist one in being able to see more and cover more than just
their task.

> Is it really worth all of those hard years of college and schooling to
> be able to create a video game?

If all you want to do is create video games, then you are wasting your
time going to college. If you want to be able to do more than just program
video games, then you may want to go to college.

There is real-world skills and book-learning skills. And in a perfect
world, everyone will have a good helping of both... but the reality is
that for most people, they will tend to focus primarily on one or the
other. So for careers like game programming and/or sysadmin'ing... these
careers require skills and experience which simply does not exist in a
high enough quality or quantity to benefit the person in question.

One gets technical skills through doing and hands-on or through directed
and highly focused training. Ie, you have to be doing it to maintain those
specific technical skills required for game programming or syadmin'ing.

Classrooms can give you the foundation theories of how to program, how to
make code more efficient, how to make use of this or that library, and how
to apply the programming to solving problems and tasks.

Some courses, like GUI design, ergonomics in software, database
design/implementation, vector mathematics, matrices, and symbolic logic
can help, but those are specific courses.

In general: 

- High School gives rudimentary basic learning/knowledge.
- College gives a higher level of basic knowledge with some minor focus in
  one area.
- Tech/Trade/Vocational schools direct you further with job-related
  skillsets.

The majority of what one uses in game programming will still come from
personal study and learning through applying code and actually writing the
game. Some lucky peple will get to learn from someone who already has a
good understanding of the topic and can learn through a mentor-type
relationship. 

If all you want to do is create a video game, then more likely than not, a
college experience is not required. If you want to be able to do more than
just that and expand your horizon a bit more beyond what you pick up on
your own, then you may benefit from a college experience.

It depends on what you need or feel you need. But bear in mind that what
you may want/need may not be apparent to you if you don't even know it
exists. That is what the college experience was supposed to do... help
people expand their views and choose a career path from the various
possibilities. 

Personally, I took alot of non-computer related courses in college because
I wanted to broaden my views on life. I was already learning how to
program and code and maintain systems at home or at work, so college was a
way to help me to force-learn things I would otherwise not really know
much about. Ie, broader horizons which may help me come up with better
solutions in my day-to-day work.

Ie, going to college and getting a good rounded education may not give you
hardcore benefits in making games or coding games, but it may give you an
edge in understanding things from more than just one perspective. Ie, you
sometimes might want to see things through the experience of an artist or
a psychologist. Being able to apply skills and/or perspectives from
differing realms of learning gives one more options and tools to work
with, thus allowing us to find unique methods of
coding/admin'ing/thinking/etc.

> How long does it take to create a video game for an 128-bit system like
> the Sega Dreamcast?

N/C. ^_^; (Not a game developer.)

> Is it worth these hours to make a video game from scrap?

From scratch? :) It can be rewarding in that:
- You gain a better understanding of how various parts of game software
  interact and work.
- You arrive to conclusions about why some games are made the way they
  are.
- You can end up creating better performing software which is solely
  your's and not a licensed game engine. This can result in a fresh
  look and thus better acceptance.
- Good experience builder.

It may be unrewarding in that:
- It is hard to start with a blank slate with no direction in sight.
- Many dead-ends and "trail and error" sessions coding something over
  and over again while someone else already has something which works.
- By the time you develop it, someone else would have already come up
  with a working copy of a similar game based on another engine
  since they got to focus on coding the game and not developing the
  engine.
- More time costly.


In general, depending on your game type, it is usually better to use a 3rd
party or partner company's game engine to develop the game and customize
that to work with your vision of your final game. This can mean more money
spent to the licensing, but can also mean time saved in wracking your
brain to write the foundation and focus more on making the game fun and
enjoyable.

Writing from the ground up can be useful when you feel that it is time for
something new and you want to give yourself and your team something to
unite them with an original product to stand behind which they all
understand deeply or to help everyone gain or develop a sense of what the
new software will look like and behave. But this is usually costly in time
and it means re-inventing the wheel once again and can result in quite a
bit of time spent working on things not visible to the gamer and less time
on the visible aspects of the game itself. 

It depends on your goals, team, resources, and what you want to achieve.

> Did high school geometry; that of parallel and perpendicular lines,
> rhombus’ and triangles, really help you to get where you are today?

Once again, N/C. (Don't use these things in SysAdmin work. ^_^;;) But from
a game developer perspective, Geometry and Trigonometry are the foundation
stones for things like Vector Mathematics, Matrix Mathematics, and
Calculus. All of which are important realms of math science upon which 3d
game systems are built upon. (Perhaps less of the Calculus. ^_-)

Understanding the mathematic theories and concepts behind the code helps
one to write better code which is more efficient as well as reduce the
chance of errors of a mathematical nature. If you know a shortcut to
calculate the dispersion of energy in a given box-environment and can
efficiently calculate the solution to the vector mathematics problem with
a systems of equations based in matrix mathematics and derive an efficient
code based on that, you can shave off some time and increase those frames
per second.

But that's being optimistic. :) However, the experience one gains from the
foundation math and from the more advanced forms of math will help those
who are interested in 3d engines and various light effects as the means by
which to create the colorful environments is... well... math. ^_^;;

> Are there points in your career when you want to go and visit your high
> school geometry teacher and thank him/her?

Went back to high school. Thanked my math teacher for the hard work she
had performed in teaching us mathematics and commented that none of that
is used in my current line of work, but she got my gratitude nonetheless
for the other life lessons I learned from her and my other teachers.

>     Thank you very much for your time; it is highly appreciated.
> Sincerely,
> Matthew Johnson

No prob. ^_^; Just wish I had more game career information to send, but
well... the high paced programming world didn't turn out to be what I had
expected it to be and so I became a sysadmin. ^_^;; Still high paced, but
a different kind of thinking is involved. 

School is a means to an end... at least, that's what I think. It provides
you with opportunities to learn various things and get exposure to various
things. If you merely learn the technical skills, you become a good coder,
but you may lack some of the insight which someone else may have or you
may not be able to see past the code to help realise the ultimate vision
of the game.

It just depends on the person and the goal. Knowing about history and
various other subjects goes a long way in providing one with the
background information in coding a game which feels "right". 

Imagine going to a night club or dance club and while you know how to
dance, don't know a thing about the culture, the drinks, the "signs & body
language"?

It's all important to producing a good piece of software. But it's also
important in producing coders with a good foundation which includes more
than just code. 

Of course, I'm not taking into account the aspect that most coders do have
lives outside of work, provided they can get away from
work. ^_^; (SysAdmin's work is NEVER done. -_-)

Wing. ( Yay... another 10-12 hour day.. everyday... and the weekend
        too... Grrr..)

İİİİİİİİİİİİİİİİİİİİİÑe GameProgrammer.Com mailing list is for the open discussion
of any topic related to the art, science, and business of
programming games. This list is especially tolerant of beginners.
We were all beginners once

To SUBSCRIBE or UNSUBSCRIBE please visit:
http://gameprogrammer.com/mailinglist.html