AuthorTopic: making video games, where do you start?, how do you stay focus?  (Read 28892 times)

Offline Ben2theEdge

  • 0011
  • **
  • Posts: 503
  • Karma: +1/-0
  • I'ma drink mah coffee!
    • View Profile
    • My Deviantart Gallery

Re: making video games, where do you start?, how do you stay focus?

Reply #10 on: August 01, 2008, 01:49:15 pm
Speaking as both a hobbyist and a professional, I have 3 pieces of advice.

Before you do anything else I would write a design doc and lock down every feature, enemy, weapon, character, level, etc. that you want in the game. If you start a project and just keep adding stuff until it's "done" it will never be finished, you may never even get past the first level! Of course you can make changes as you see the need but the Design Doc will keep you focused and on a steady course.

Set deadlines. Even if they don't mean anything. And don't use vague deadlines like "before the end of the year" or "mid-summer". Make them concrete: November 12th. February 6th, etc. If deadlines weren't used by professionals we would never finish anything.

Finally, ambition is good but it must be kept focused. If you have many ideas, make many games. Find a "hook" for your project - one or two things that make it fun to play over and over - and focus on those. The more precision you use, the harder it is to miss your target. Observe that the best games don't attempt to do everything, but rather succeed in doing a few things very very well, in a way that's fun over and over again. Portal is a prime example of this philosophy. On the other hand games like Daiketana or Advent Rising are horror stories about games that tried to do everything and succeeded at nothing. Always keep in mind that If you can save those unused ideas for your next game!

Hope this helps!
« Last Edit: August 01, 2008, 01:50:49 pm by Ben2theEdge »
I mild from suffer dislexia.

Offline dragonboy

  • 0001
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #11 on: August 01, 2008, 04:35:27 pm
How do high level languages work?  All the opcodes in assembly are like "MOVE A,B" which moves A into B, and "ADD A,B" which adds A into B.  All the assembly opcodes speak for themselves.  For high level opcodes you have instructions like "int" and "def" and "segren" and "felneb," what the heck do those supposed to do?

thankyou everyone for the advise!

Offline chriskot

  • 0010
  • *
  • Posts: 109
  • Karma: +0/-0
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #12 on: August 01, 2008, 05:54:21 pm
How do high level languages work?  All the opcodes in assembly are like "MOVE A,B" which moves A into B, and "ADD A,B" which adds A into B.  All the assembly opcodes speak for themselves.  For high level opcodes you have instructions like "int" and "def" and "segren" and "felneb," what the heck do those supposed to do?
Wow. The only programming languages you've ever used are assembly languages? Interesting.
Higher-Level languages are basically all about simplifying things that would become ridiculously complex in assembly, mostly though the use of variables. A higher-level language has many more commands but requires far fewer lines of code to write something substantial.

Gamemaker is not free, it's nor platform independent, and also, it's programming language is not something you will be able to use later for, say, a job interview.
True. The main reason that I recommended it is because it is a simple way to create a game very quickly. Most people have the patience to build something in GameMaker, whereas most people don't have the patience to program something substantial from scratch. Even if you can't use it for a job interview or something like that, it's a good way of working yourself up to other game-creating methods. Also, the demo is free, and if he wants to produce a 2D game, then the demo isn't really missing too much.

Offline dragonboy

  • 0001
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #13 on: August 01, 2008, 06:13:53 pm
mostly though the use of variables.

assembly is all about using variables

Offline ptoing

  • 0101
  • ****
  • Posts: 3063
  • Karma: +0/-0
  • variegated quadrangle arranger
    • the_ptoing
    • http://pixeljoint.com/p/2191.htm
    • View Profile
    • Perpetually inactive website

Re: making video games, where do you start?, how do you stay focus?

Reply #14 on: August 01, 2008, 06:34:00 pm
Most programming languages are.

What do you think why people made highlevel languages? Prolly not because Assembler is fiddley to work with and takes quite long to get stuff done, even if you are good with it.
There are no ugly colours, only ugly combinations of colours.

Offline Ryona

  • 0010
  • *
  • Posts: 344
  • Karma: +0/-1
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #15 on: August 01, 2008, 06:53:23 pm
Speaking as both a hobbyist and a professional, I have 3 pieces of advice.

Before you do anything else I would write a design doc and lock down every feature, enemy, weapon, character, level, etc. that you want in the game. If you start a project and just keep adding stuff until it's "done" it will never be finished, you may never even get past the first level! Of course you can make changes as you see the need but the Design Doc will keep you focused and on a steady course.

Set deadlines. Even if they don't mean anything. And don't use vague deadlines like "before the end of the year" or "mid-summer". Make them concrete: November 12th. February 6th, etc. If deadlines weren't used by professionals we would never finish anything.

Finally, ambition is good but it must be kept focused. If you have many ideas, make many games. Find a "hook" for your project - one or two things that make it fun to play over and over - and focus on those. The more precision you use, the harder it is to miss your target. Observe that the best games don't attempt to do everything, but rather succeed in doing a few things very very well, in a way that's fun over and over again. Portal is a prime example of this philosophy. On the other hand games like Daiketana or Advent Rising are horror stories about games that tried to do everything and succeeded at nothing. Always keep in mind that If you can save those unused ideas for your next game!

Hope this helps!

All this definetly helps me right now concidering that I've been working on two games, and they have been progressing at a crawl.  :'(
I'm going to have to take up on the advice and really get my ass in gear.

Great thread!  ;D

Offline dragonboy

  • 0001
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #16 on: August 01, 2008, 07:43:08 pm
I've looked through many tutorials of high-level languages and non of them tell me any stuff I need to know in making games, nor breaks it down remotely enough.  Hello World? why would I need to know this? I can easily type Hello World in note-pad and get the same result.

If they make these high-level programming languages to make things easier than assembly, why don't they have opcodes such as:

DISPLAY SPRITE: coordinates (123,201), size: 32x32, sprite number 53, 12 frames, 12 fps
COLLISION DETECTION: sprite 17, sprite 15, effect 75
MOVE SPRITE: 5 pixels left, 4 pixels up

Why can't anyone make a language with opcodes like that? because THAT would make video games easy to program.


How exactly would you guys know if assembly really is harder than high-level without knowing assembly?  Does anyone here know both assembly and high-level?  I'm starting to get a feeling that people only think assembly is hard because high-level is hard, and they hear other people saying high-level is much easy compared to assembly, and they think omg!

Offline AlexHW

  • 0100
  • ***
  • Posts: 1037
  • Karma: +0/-0
    • View Profile
    • AlexHW

Re: making video games, where do you start?, how do you stay focus?

Reply #17 on: August 01, 2008, 07:45:21 pm
until you try, all you do then is speculate.

Offline ptoing

  • 0101
  • ****
  • Posts: 3063
  • Karma: +0/-0
  • variegated quadrangle arranger
    • the_ptoing
    • http://pixeljoint.com/p/2191.htm
    • View Profile
    • Perpetually inactive website

Re: making video games, where do you start?, how do you stay focus?

Reply #18 on: August 01, 2008, 07:52:34 pm
I myself am no coder but I know plenty of people who are both excellent with ASM and high level stuff. And everyone of those would tell you getting stuff done is faster with high level languages.

Also these languages were not made primarily to make games with. What you would need is some kind of API. Like RGS (Retro Game System) for example. That still needs knowledge of Python and/or C.
There are no ugly colours, only ugly combinations of colours.

Offline Beoran

  • 0010
  • *
  • Posts: 112
  • Karma: +1/-0
    • View Profile

Re: making video games, where do you start?, how do you stay focus?

Reply #19 on: August 01, 2008, 08:23:47 pm
Ben2theedge, that's  good advice that even I have problems to adhere to for my hobby project. Gotta focus a bit more.

Yeah, it's true that gamemaker is even easier, for impatient people. Dragonboy,, if you are very impatient, you could try that first.

Of course , you need an API (that is, libraries) to write games in a high level language. That's what Pygame, Rubygame, or Gosu are good for, they really make game programming as easy as it can be, and you don't need to know any C or C++, just Puthon or Ruby, which are all easier to use and learn.

Dragon boy, you're in an interesting situation, knowing assembly but nothing more high level. If you want to learn how to program in a high level language, you'll have to learn the basics first, before you can go on and write a game. It's the same for assembler, really. In short, have a little patience with learning a language. That's what those "Hello world" examples are for, to give you an idea how to use the language.

Did you ever try to write Hello world in assembler? Look here for hello world for DOS assembler:  http://www2.latech.edu/~acm/helloworld/asm.html. That's 17 lines!

In Ruby it's just

puts "hello world"

That's the whole advantage of a high level language, no need to bother with details or opcodes, you use a high level view, in which everything can be  handle like an object, which you give commands to do things, and make queries from. But don't 'expect those languages to be like assembler. High level programing is somewhat different from assembler, you'll just have to grab the cow by the horns, and open your mind for something new. 


In Ruby, using Rubgame, managing sprites can be as easy as:
 
sprite_1 = Sprite.new(10, 20, "image1.png") # Make a new sprite at this position and with this image file loaded
sprite_2 = Sprite.new(30, 40, "image1.png") # Make a new sprite at this position and with this image file loaded
if sprite_1.collide_sprite?  sprite_2  # if sprite 1 collides with sprite 2 do something
 puts "Boom!" # just an example
end

How much easier do you want it? There are competitions in which people are able to write a game in
Python with Pygame or in Ruby with Rubygame or Gosu in only one weekend, but the people who do this,
did learn one of those languages first.  If you really don't have patience to learn how to program, then you don't
stand a chance to successfully write a big game.

Don't knock it until you have tried it! Install ruby and gosu or rubygames,  python and pygames and give both languages
a spin to see what you like best. If you choose Ruby, I'll be able to mentor you for a while (together with anyone else who
wants to learn how to make games in Ruby), but not on this mailing list. Please send me a private message for that.
Kind Regards, Beoran.